diff options
Diffstat (limited to 'dozentenmodulserver/src')
-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"); |