summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/server/ApiServer.java
diff options
context:
space:
mode:
authorBjörn Hagemeister2014-10-08 14:54:52 +0200
committerBjörn Hagemeister2014-10-08 14:54:52 +0200
commit13505318b1d71de2fa599e53d8d113144f4a0dfd (patch)
treed4e7b61b93ad7dd2275932be2a4c25b594c9cca6 /src/main/java/org/openslx/imagemaster/server/ApiServer.java
parentSupport new API methods, changed DB scheme, updated .sql script (diff)
downloadmasterserver-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.java14
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