diff options
author | Björn Hagemeister | 2014-10-08 14:54:52 +0200 |
---|---|---|
committer | Björn Hagemeister | 2014-10-08 14:54:52 +0200 |
commit | 13505318b1d71de2fa599e53d8d113144f4a0dfd (patch) | |
tree | d4e7b61b93ad7dd2275932be2a4c25b594c9cca6 /src/main/java/org/openslx/imagemaster/server/ApiServer.java | |
parent | Support new API methods, changed DB scheme, updated .sql script (diff) | |
download | masterserver-13505318b1d71de2fa599e53d8d113144f4a0dfd.tar.gz masterserver-13505318b1d71de2fa599e53d8d113144f4a0dfd.tar.xz masterserver-13505318b1d71de2fa599e53d8d113144f4a0dfd.zip |
Implemented publishUser(sessionId, UserInfo) in ApiServer.
Plus added method for inserting user into user database with given UserInfo.
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/server/ApiServer.java')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/server/ApiServer.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/org/openslx/imagemaster/server/ApiServer.java b/src/main/java/org/openslx/imagemaster/server/ApiServer.java index 1323ec6..ada6a21 100644 --- a/src/main/java/org/openslx/imagemaster/server/ApiServer.java +++ b/src/main/java/org/openslx/imagemaster/server/ApiServer.java @@ -164,10 +164,18 @@ public class ApiServer return ( ServerSessionManager.getSession( serverSessionId ) != null ); } - public static boolean publishUser( String serverSessionId, UserInfo user ) + public static boolean publishUser( String serverSessionId, UserInfo user ) throws AuthorizationException { - // TODO - return false; + // Check session. + if (SessionManager.getSessionFromSessionId( serverSessionId ) == null) { + throw new AuthorizationException( AuthorizationError.NOT_AUTHENTICATED, "Session ID not valid" ); + } + if (DbUser.forLogin( user.userId ) == null) { + // User not known by server. Insert into server database. + return DbUser.insertOrUpdate( user ); + } + // Else user is already known by server. Do nothing. + return true; } public static List<UserInfo> findUser( String sessionId, String organizationId, String searchTerm ) throws AuthorizationException |