summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/server/ApiServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/server/ApiServer.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/server/ApiServer.java21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/main/java/org/openslx/imagemaster/server/ApiServer.java b/src/main/java/org/openslx/imagemaster/server/ApiServer.java
index aaad0db..1323ec6 100644
--- a/src/main/java/org/openslx/imagemaster/server/ApiServer.java
+++ b/src/main/java/org/openslx/imagemaster/server/ApiServer.java
@@ -1,10 +1,12 @@
package org.openslx.imagemaster.server;
import java.nio.ByteBuffer;
+import java.util.ArrayList;
import java.util.List;
import org.openslx.imagemaster.db.DbImage;
import org.openslx.imagemaster.db.DbSatellite;
+import org.openslx.imagemaster.db.DbUser;
import org.openslx.imagemaster.serverconnection.ImageProcessor;
import org.openslx.imagemaster.serversession.ServerAuthenticator;
import org.openslx.imagemaster.serversession.ServerSession;
@@ -76,7 +78,7 @@ public class ApiServer
public static UserInfo getUserFromToken( String token )
throws InvalidTokenException
{
- final Session session = SessionManager.getSession( token );
+ final Session session = SessionManager.getSessionFromToken( token );
if ( session == null )
throw new InvalidTokenException();
return new UserInfo( session.getLogin(), session.getFirstName(),
@@ -164,14 +166,19 @@ public class ApiServer
public static boolean publishUser( String serverSessionId, UserInfo user )
{
- // TODO Auto-generated method stub
+ // TODO
return false;
}
- public static List<UserInfo> findUser( String sessionId, String organizationId, String searchTerm )
+ public static List<UserInfo> findUser( String sessionId, String organizationId, String searchTerm ) throws AuthorizationException
{
- // TODO Auto-generated method stub
- return null;
+ // Needs to be a logged in user
+ if ( SessionManager.getSessionFromSessionId( sessionId ) == null )
+ throw new AuthorizationException( AuthorizationError.NOT_AUTHENTICATED, "Session ID not valid" );
+ // Search string needs to be at least 2 characters (FIXME: quick and dirty ignoring LIKE chars)
+ if ( searchTerm == null || searchTerm.length() < 2 || searchTerm.replaceAll( "[%_]", "" ).length() < 2 )
+ return new ArrayList<>( 0 );
+ return DbUser.findUser( organizationId, searchTerm );
}
public static List<OrganizationData> getOrganizations()
@@ -179,8 +186,10 @@ public class ApiServer
return DbSatellite.asOrganizationDataList();
}
- public static List<ImageData> getPublicImages( String sessionId, int page )
+ public static List<ImageData> getPublicImages( String sessionId, int page ) throws AuthorizationException
{
+ if ( SessionManager.getSessionFromSessionId( sessionId ) == null )
+ throw new AuthorizationException( AuthorizationError.NOT_AUTHENTICATED, "Session ID not valid" );
return DbImage.asImageDataList( page * 100, ( page + 1 ) * 100 );
}
}