diff options
author | Simon Rettberg | 2019-04-09 12:21:05 +0200 |
---|---|---|
committer | Simon Rettberg | 2019-04-09 12:21:05 +0200 |
commit | 4e12419dda69d9b4f7ef48e7fce0ddd9b2bdd3cd (patch) | |
tree | b27164b8125f111c8e691dc79d72650765ff3a2d | |
parent | [server] Prevent division by zero (diff) | |
download | tutor-module-4e12419dda69d9b4f7ef48e7fce0ddd9b2bdd3cd.tar.gz tutor-module-4e12419dda69d9b4f7ef48e7fce0ddd9b2bdd3cd.tar.xz tutor-module-4e12419dda69d9b4f7ef48e7fce0ddd9b2bdd3cd.zip |
[server] Add admin permissions for replicated VMs
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImagePermissions.java | 6 | ||||
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImagePermissions.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImagePermissions.java index dcb0beb2..76a8ad3f 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImagePermissions.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImagePermissions.java @@ -130,4 +130,10 @@ public class DbImagePermissions { } } + public static void writeForImageBase(String imageBaseId, String userId, ImagePermissions imagePermissions) throws SQLException { + Map<String, ImagePermissions> map = new HashMap<>(); + map.put(userId, imagePermissions); + writeForImageBase(imageBaseId, map); + } + } 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 36bbea46..e45fe2c8 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 @@ -347,6 +347,7 @@ public class ServerHandler implements SatelliteServer.Iface { DbImage.setShareMode(imageBaseId, newData); return; } + // (Unreachable) } else { // Likewise, if share mode is local or publish, don't allow changing to FROZEN/DOWNLOAD if (newData.shareMode != ShareMode.LOCAL && newData.shareMode != ShareMode.PUBLISH) { @@ -556,6 +557,8 @@ public class ServerHandler implements SatelliteServer.Iface { } DbUser.writeUserOnReplication(imagePublishData.owner); DbImage.writeBaseImage(imagePublishData); + DbImagePermissions.writeForImageBase(imagePublishData.imageBaseId, user.userId, + new ImagePermissions(true, true, true, true)); } catch (SQLException e) { throw new TInvocationException(InvocationError.INTERNAL_SERVER_ERROR, "Could not write to local DB"); |