chore(server): Use access core for person permissions (#4138)

* use access core for all person methods

* minor fixes, feedback

* reorder assignments

* remove unnecessary permission requirement

* unify naming of tests

* reorder variables
This commit is contained in:
Daniel Dietzler 2023-09-18 23:22:44 +02:00 committed by GitHub
parent dda735ec51
commit 1a633f3fca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 171 additions and 29 deletions

View file

@ -23,6 +23,10 @@ export enum Permission {
LIBRARY_READ = 'library.read',
LIBRARY_DOWNLOAD = 'library.download',
PERSON_READ = 'person.read',
PERSON_WRITE = 'person.write',
PERSON_MERGE = 'person.merge',
}
export class AccessCore {
@ -167,6 +171,15 @@ export class AccessCore {
case Permission.LIBRARY_DOWNLOAD:
return authUser.id === id;
case Permission.PERSON_READ:
return this.repository.person.hasOwnerAccess(authUser.id, id);
case Permission.PERSON_WRITE:
return this.repository.person.hasOwnerAccess(authUser.id, id);
case Permission.PERSON_MERGE:
return this.repository.person.hasOwnerAccess(authUser.id, id);
default:
return false;
}