refactor: stricter domain: access-control
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import type { RoomPermissionDefinition } from '../models/access-control.model';
|
||||
|
||||
export const SYSTEM_ROLE_IDS = {
|
||||
everyone: 'system-everyone',
|
||||
moderator: 'system-moderator',
|
||||
admin: 'system-admin'
|
||||
} as const;
|
||||
|
||||
export const ROOM_PERMISSION_DEFINITIONS: RoomPermissionDefinition[] = [
|
||||
{
|
||||
key: 'manageServer',
|
||||
label: 'Manage Server',
|
||||
description: 'Edit server settings such as name, privacy, and limits.'
|
||||
},
|
||||
{
|
||||
key: 'manageRoles',
|
||||
label: 'Manage Roles',
|
||||
description: 'Create, edit, reorder, and assign roles.'
|
||||
},
|
||||
{
|
||||
key: 'manageChannels',
|
||||
label: 'Manage Channels',
|
||||
description: 'Create, rename, delete, and reorder channels.'
|
||||
},
|
||||
{
|
||||
key: 'manageIcon',
|
||||
label: 'Manage Icon',
|
||||
description: 'Change the server icon for all members.'
|
||||
},
|
||||
{
|
||||
key: 'kickMembers',
|
||||
label: 'Kick Members',
|
||||
description: 'Remove members from the server without banning them.'
|
||||
},
|
||||
{
|
||||
key: 'banMembers',
|
||||
label: 'Ban Members',
|
||||
description: 'Ban members from the server.'
|
||||
},
|
||||
{
|
||||
key: 'manageBans',
|
||||
label: 'Manage Bans',
|
||||
description: 'Review and revoke existing bans.'
|
||||
},
|
||||
{
|
||||
key: 'deleteMessages',
|
||||
label: 'Delete Messages',
|
||||
description: 'Delete messages sent by other members.'
|
||||
},
|
||||
{
|
||||
key: 'joinVoice',
|
||||
label: 'Join Voice',
|
||||
description: 'Join voice channels.'
|
||||
},
|
||||
{
|
||||
key: 'shareScreen',
|
||||
label: 'Share Screen',
|
||||
description: 'Start screen sharing in voice channels.'
|
||||
},
|
||||
{
|
||||
key: 'uploadFiles',
|
||||
label: 'Upload Files',
|
||||
description: 'Upload attachments in chat.'
|
||||
}
|
||||
];
|
||||
Reference in New Issue
Block a user