diff --git a/src/permissions/permissions.service.spec.ts b/src/permissions/permissions.service.spec.ts index 0d9ef7d92..0ff6729ec 100644 --- a/src/permissions/permissions.service.spec.ts +++ b/src/permissions/permissions.service.spec.ts @@ -11,6 +11,7 @@ import { AuthToken } from '../auth/auth-token.entity'; import { Author } from '../authors/author.entity'; import appConfigMock from '../config/mock/app.config.mock'; import { Group } from '../groups/group.entity'; +import { SpecialGroup } from '../groups/groups.special'; import { Identity } from '../identity/identity.entity'; import { LoggerModule } from '../logger/logger.module'; import { Alias } from '../notes/alias.entity'; @@ -134,7 +135,7 @@ describe('PermissionsService', () => { note7.userPermissions.push(noteUserPermission2); const everybody = {} as Group; - everybody.name = 'everybody'; + everybody.name = SpecialGroup.EVERYONE; everybody.special = true; const noteEverybodyRead = createNote(user1); @@ -261,13 +262,19 @@ describe('PermissionsService', () => { function createGroups(): { [id: string]: Group } { const result: { [id: string]: Group } = {}; - const everybody: Group = Group.create('everybody', 'Everybody'); + const everybody: Group = Group.create( + SpecialGroup.EVERYONE, + SpecialGroup.EVERYONE, + ); everybody.special = true; - result['everybody'] = everybody; + result[SpecialGroup.EVERYONE] = everybody; - const loggedIn = Group.create('loggedIn', 'loggedIn'); + const loggedIn = Group.create( + SpecialGroup.LOGGED_IN, + SpecialGroup.LOGGED_IN, + ); loggedIn.special = true; - result['loggedIn'] = loggedIn; + result[SpecialGroup.LOGGED_IN] = loggedIn; const user1group = Group.create('user1group', 'user1group'); user1group.members = [user1]; @@ -304,11 +311,23 @@ describe('PermissionsService', () => { return NoteGroupPermission.create(group, write); } - const everybodyRead = createNoteGroupPermission(groups['everybody'], false); - const everybodyWrite = createNoteGroupPermission(groups['everybody'], true); + const everybodyRead = createNoteGroupPermission( + groups[SpecialGroup.EVERYONE], + false, + ); + const everybodyWrite = createNoteGroupPermission( + groups[SpecialGroup.EVERYONE], + true, + ); - const loggedInRead = createNoteGroupPermission(groups['loggedIn'], false); - const loggedInWrite = createNoteGroupPermission(groups['loggedIn'], true); + const loggedInRead = createNoteGroupPermission( + groups[SpecialGroup.LOGGED_IN], + false, + ); + const loggedInWrite = createNoteGroupPermission( + groups[SpecialGroup.LOGGED_IN], + true, + ); const user1groupRead = createNoteGroupPermission( groups['user1group'], diff --git a/src/permissions/permissions.service.ts b/src/permissions/permissions.service.ts index e04658659..c64c0356e 100644 --- a/src/permissions/permissions.service.ts +++ b/src/permissions/permissions.service.ts @@ -5,6 +5,7 @@ */ import { Injectable } from '@nestjs/common'; +import { SpecialGroup } from '../groups/groups.special'; import { Note } from '../notes/note.entity'; import { User } from '../users/user.entity'; @@ -102,16 +103,14 @@ export class PermissionsService { if (groupPermission.canEdit || !wantEdit) { // Handle special groups if (groupPermission.group.special) { - if (groupPermission.group.name == 'loggedIn') { - // TODO: Name of group for logged in users + if (groupPermission.group.name == SpecialGroup.LOGGED_IN) { return true; } if ( - groupPermission.group.name == 'everybody' && + groupPermission.group.name == SpecialGroup.EVERYONE && (groupPermission.canEdit || !wantEdit) && guestsAllowed ) { - // TODO: Name of group in which everybody even guests can edit return true; } } else {