30 lines
818 B
TypeScript
30 lines
818 B
TypeScript
import { Permission } from '../../common/enums/permission.enum';
|
|
|
|
export interface RoleConfig {
|
|
name: string;
|
|
isSystem: boolean;
|
|
permissionFilter: (permissionName: Permission) => boolean;
|
|
}
|
|
|
|
export const rolesData: RoleConfig[] = [
|
|
{
|
|
name: 'restaurant',
|
|
isSystem: false,
|
|
permissionFilter: () => true, // Will be filtered by group in seeder
|
|
},
|
|
{
|
|
name: 'accountant',
|
|
isSystem: false,
|
|
permissionFilter: (name: Permission) =>
|
|
name === Permission.VIEW_REPORTS || name === Permission.MANAGE_FINANCES || name === Permission.MANAGE_ORDERS,
|
|
},
|
|
{
|
|
name: 'superAdmin',
|
|
isSystem: true,
|
|
permissionFilter: (name: Permission) =>
|
|
name === Permission.CREATE_RESTAURANT ||
|
|
name === Permission.DELETE_RESTAURANT ||
|
|
name === Permission.UPDATE_RESTAURANT,
|
|
},
|
|
];
|