This repository was archived by the owner on Apr 5, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +14
-2
lines changed
main/java/de/filefighter/rest/domain/filesystem
test/java/de/filefighter/rest/domain/filesystem/business Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -108,11 +108,16 @@ public String removeTrailingBackSlashes(String pathToFind) {
108
108
return pathToFind ;
109
109
}
110
110
111
+ // TODO: also for edit.
111
112
public boolean userIsAllowedToSeeFileSystemEntity (FileSystemEntity fileSystemEntity , User authenticatedUser ) {
112
113
// user created the item
113
114
if (fileSystemEntity .getCreatedByUserId () == authenticatedUser .getUserId ())
114
115
return true ;
115
116
117
+ // user created containing folder.
118
+ if (null != fileSystemEntity .getOwnerIds () && Arrays .stream (fileSystemEntity .getOwnerIds ()).asDoubleStream ().anyMatch (id -> id == authenticatedUser .getUserId ()))
119
+ return true ;
120
+
116
121
// user got the item shared.
117
122
for (long userId : fileSystemEntity .getVisibleForUserIds ()) {
118
123
if (userId == authenticatedUser .getUserId ())
Original file line number Diff line number Diff line change @@ -19,10 +19,12 @@ public class FileSystemEntity {
19
19
private long typeId ;
20
20
private double size ;
21
21
private boolean isFile ;
22
- @ Builder .Default
23
- private long createdByUserId = -1 ; //uploadedBy
24
22
private long lastUpdated ;
25
23
@ Builder .Default
24
+ private long createdByUserId = -1 ;
25
+ @ Builder .Default
26
+ private long [] ownerIds = new long [0 ];
27
+ @ Builder .Default
26
28
private long [] visibleForGroupIds = new long [0 ];
27
29
@ Builder .Default
28
30
private long [] editableFoGroupIds = new long [0 ];
Original file line number Diff line number Diff line change @@ -181,6 +181,11 @@ void userIsAllowedToSeeFileSystemEntity() {
181
181
// user created fileSystemItem
182
182
assertTrue (fileSystemBusinessService .userIsAllowedToSeeFileSystemEntity (fileSystemEntity , user ));
183
183
184
+ // user created containing folder
185
+ fileSystemEntity .setCreatedByUserId (1203891230 );
186
+ fileSystemEntity .setOwnerIds (new long []{userId });
187
+ assertTrue (fileSystemBusinessService .userIsAllowedToSeeFileSystemEntity (fileSystemEntity , user ));
188
+
184
189
// user got it shared.
185
190
fileSystemEntity = FileSystemEntity .builder ().visibleForUserIds (new long []{userId }).build ();
186
191
assertTrue (fileSystemBusinessService .userIsAllowedToSeeFileSystemEntity (fileSystemEntity , user ));
You can’t perform that action at this time.
0 commit comments