summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-06-18 19:20:56 +0200
committerSimon Rettberg2015-06-18 19:20:56 +0200
commite9c43071935c25db93e3465b1c83b4be3a9421d1 (patch)
treef126ac46e6fff41a217ea1c1b2eff6d300087c25 /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
parent[server] Implement getOperatingSystems and getVirtualizers (diff)
downloadtutor-module-e9c43071935c25db93e3465b1c83b4be3a9421d1.tar.gz
tutor-module-e9c43071935c25db93e3465b1c83b4be3a9421d1.tar.xz
tutor-module-e9c43071935c25db93e3465b1c83b4be3a9421d1.zip
[server] Implemented getUsers call, more permission checking methods
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java35
1 files changed, 28 insertions, 7 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
index 2fe18160..40155972 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
@@ -8,8 +8,11 @@ import java.util.Map;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import org.openslx.bwlp.sat.database.mappers.DbImage;
+import org.openslx.bwlp.sat.database.mappers.DbUser;
import org.openslx.bwlp.sat.fileserv.ActiveUpload;
import org.openslx.bwlp.sat.fileserv.FileServer;
+import org.openslx.bwlp.sat.permissions.User;
+import org.openslx.bwlp.sat.permissions.User.Permission;
import org.openslx.bwlp.sat.thrift.cache.OperatingSystemList;
import org.openslx.bwlp.sat.thrift.cache.OrganizationList;
import org.openslx.bwlp.sat.thrift.cache.VirtualizerList;
@@ -38,7 +41,7 @@ import org.openslx.sat.thrift.version.Version;
public class ServerHandler implements SatelliteServer.Iface {
- private static final Logger log = Logger.getLogger(ServerHandler.class);
+ private static final Logger LOGGER = Logger.getLogger(ServerHandler.class);
private static final FileServer fileServer = FileServer.instance();
@@ -132,35 +135,44 @@ public class ServerHandler implements SatelliteServer.Iface {
@Override
public boolean updateImageBase(String userToken, String imageBaseId, ImageBaseWrite image)
throws TAuthorizationException, TException {
- // TODO Auto-generated method stub
+ UserInfo user = SessionManager.getOrFail(userToken);
+ User.hasImageBasePermissionOrFail(user, imageBaseId, Permission.EDIT);
+ // TODO: Permissions cleared; Now update image base data
return false;
}
@Override
public boolean updateImageVersion(String userToken, String imageVersionId, ImageVersionWrite image)
throws TAuthorizationException, TException {
- // TODO Auto-generated method stub
+ UserInfo user = SessionManager.getOrFail(userToken);
+ User.hasImageVersionPermissionOrFail(user, imageVersionId, Permission.EDIT);
+ // TODO: Permissions cleared; Now update image version data
return false;
}
@Override
public boolean deleteImageVersion(String userToken, String imageVersionId)
throws TAuthorizationException, TNotFoundException, TException {
- // TODO Auto-generated method stub
+ UserInfo user = SessionManager.getOrFail(userToken);
+ User.hasImageVersionPermissionOrFail(user, imageVersionId, Permission.ADMIN);
+ // TODO: Permissions cleared; Now mark image for deletion (set expire time in the past...)
return false;
}
@Override
- public boolean writeImagePermissions(String userToken, String imageId,
+ public boolean writeImagePermissions(String userToken, String imageBaseId,
Map<String, ImagePermissions> permissions) throws TAuthorizationException, TNotFoundException,
TException {
- // TODO Auto-generated method stub
+ UserInfo user = SessionManager.getOrFail(userToken);
+ User.hasImageBasePermissionOrFail(user, imageBaseId, Permission.ADMIN);
+ // TODO: Permissions cleared; Now update image base data
return false;
}
@Override
public Map<String, ImagePermissions> getImagePermissions(String userToken, String imageBaseId)
throws TAuthorizationException, TNotFoundException, TException {
+ UserInfo user = SessionManager.getOrFail(userToken);
// TODO Auto-generated method stub
return null;
}
@@ -221,4 +233,13 @@ public class ServerHandler implements SatelliteServer.Iface {
return null;
}
-}// end class
+ @Override
+ public List<UserInfo> getUserList(String userToken, int page) throws TAuthorizationException, TException {
+ try {
+ return DbUser.getAll(page);
+ } catch (SQLException e) {
+ throw new TInternalServerError();
+ }
+ }
+
+}