refactor(server): make access core singleton (#4609)

This commit is contained in:
Daniel Dietzler 2023-10-23 14:37:51 +02:00 committed by GitHub
parent 36b3521be8
commit 50bc92aac0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 28 additions and 10 deletions

View file

@ -37,8 +37,22 @@ export enum Permission {
PERSON_MERGE = 'person.merge',
}
let instance: AccessCore | null;
export class AccessCore {
constructor(private repository: IAccessRepository) {}
private constructor(private repository: IAccessRepository) {}
static create(repository: IAccessRepository) {
if (!instance) {
instance = new AccessCore(repository);
}
return instance;
}
static reset() {
instance = null;
}
requireUploadAccess(authUser: AuthUserDto | null): AuthUserDto {
if (!authUser || (authUser.isPublicUser && !authUser.isAllowUpload)) {