mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-10 10:08:02 -06:00
feat: Add permission checks, fix search, fix document upload, fix linked documents always being loaded all at once instead of paged
This commit is contained in:
@@ -11,4 +11,20 @@ extension UserPermissionExtension on UserModel {
|
||||
v2: (_) => true,
|
||||
);
|
||||
}
|
||||
|
||||
bool hasPermissions(List<PermissionAction> actions, List<PermissionTarget> targets) {
|
||||
return map(
|
||||
v3: (user) {
|
||||
final permissions = [
|
||||
for (var action in actions)
|
||||
for (var target in targets) [action, target].join("_")
|
||||
];
|
||||
return permissions.every((requestedPermission) =>
|
||||
user.userPermissions.contains(requestedPermission) ||
|
||||
user.inheritedPermissions
|
||||
.any((element) => element.split(".").last == requestedPermission));
|
||||
},
|
||||
v2: (_) => true,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user