add better role indications

This commit is contained in:
rubikscraft
2022-03-23 20:40:31 +01:00
parent 860476ecd4
commit 6b1b973a4e
16 changed files with 144 additions and 41 deletions

View File

@@ -9,6 +9,8 @@ const PermanentRolesTuple = tuple('guest', 'user');
const ImmuteableRolesTuple = tuple('admin');
// These roles can never be removed from the server
const SystemRolesTuple = tuple(...PermanentRolesTuple, ...ImmuteableRolesTuple);
// These roles will be applied by default to new users
export const DefaultRolesList: string[] = ['user'];
// Derivatives
@@ -16,6 +18,7 @@ export const PermanentRolesList: string[] = PermanentRolesTuple;
export const ImmuteableRolesList: string[] = ImmuteableRolesTuple;
export const SystemRolesList: string[] = SystemRolesTuple;
export type SystemRole = typeof SystemRolesTuple[number];
export type SystemRoles = SystemRole[];

View File

@@ -0,0 +1,8 @@
// Cannot be deleted
export const SystemUsersList = ['guest', 'admin'];
// Cannot have different permissions
export const LockedPermsUsersList = ['admin'];
// Cannot login
export const LockedLoginUsersList = ['guest'];

View File

@@ -1,8 +1,5 @@
import { Exclude } from 'class-transformer';
import {
IsArray, IsOptional,
IsString
} from 'class-validator';
import { IsArray, IsOptional, IsString } from 'class-validator';
import { Roles } from '../dto/roles.dto';
import { EntityID } from '../validators/entity-id.validator';
import { IsPlainTextPwd, IsUsername } from '../validators/user.validators';