Skip to content
This repository was archived by the owner on Apr 5, 2024. It is now read-only.

Commit e9a1fbf

Browse files
authored
FF-259 implemented ownerIds key (#67)
1 parent a7322d4 commit e9a1fbf

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/main/java/de/filefighter/rest/domain/filesystem/business/FileSystemBusinessService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,16 @@ public String removeTrailingBackSlashes(String pathToFind) {
108108
return pathToFind;
109109
}
110110

111+
// TODO: also for edit.
111112
public boolean userIsAllowedToSeeFileSystemEntity(FileSystemEntity fileSystemEntity, User authenticatedUser) {
112113
// user created the item
113114
if (fileSystemEntity.getCreatedByUserId() == authenticatedUser.getUserId())
114115
return true;
115116

117+
// user created containing folder.
118+
if(null != fileSystemEntity.getOwnerIds() && Arrays.stream(fileSystemEntity.getOwnerIds()).asDoubleStream().anyMatch(id -> id == authenticatedUser.getUserId()))
119+
return true;
120+
116121
// user got the item shared.
117122
for (long userId : fileSystemEntity.getVisibleForUserIds()) {
118123
if (userId == authenticatedUser.getUserId())

src/main/java/de/filefighter/rest/domain/filesystem/data/persistence/FileSystemEntity.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ public class FileSystemEntity {
1919
private long typeId;
2020
private double size;
2121
private boolean isFile;
22-
@Builder.Default
23-
private long createdByUserId = -1; //uploadedBy
2422
private long lastUpdated;
2523
@Builder.Default
24+
private long createdByUserId = -1;
25+
@Builder.Default
26+
private long[] ownerIds = new long[0];
27+
@Builder.Default
2628
private long[] visibleForGroupIds = new long[0];
2729
@Builder.Default
2830
private long[] editableFoGroupIds = new long[0];

src/test/java/de/filefighter/rest/domain/filesystem/business/FileSystemBusinessServiceUnitTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ void userIsAllowedToSeeFileSystemEntity() {
181181
// user created fileSystemItem
182182
assertTrue(fileSystemBusinessService.userIsAllowedToSeeFileSystemEntity(fileSystemEntity, user));
183183

184+
// user created containing folder
185+
fileSystemEntity.setCreatedByUserId(1203891230);
186+
fileSystemEntity.setOwnerIds(new long[]{userId});
187+
assertTrue(fileSystemBusinessService.userIsAllowedToSeeFileSystemEntity(fileSystemEntity, user));
188+
184189
// user got it shared.
185190
fileSystemEntity = FileSystemEntity.builder().visibleForUserIds(new long[]{userId}).build();
186191
assertTrue(fileSystemBusinessService.userIsAllowedToSeeFileSystemEntity(fileSystemEntity, user));

0 commit comments

Comments
 (0)