45 lines
886 B
TypeScript
45 lines
886 B
TypeScript
|
|
export type AdminRole = 'admin' | 'operator' | 'viewer'
|
||
|
|
|
||
|
|
export type Permission =
|
||
|
|
| 'view:dashboard'
|
||
|
|
| 'view:activities'
|
||
|
|
| 'view:leaderboard'
|
||
|
|
| 'view:alerts'
|
||
|
|
| 'view:notifications'
|
||
|
|
| 'manage:users'
|
||
|
|
| 'manage:rewards'
|
||
|
|
| 'manage:risk'
|
||
|
|
| 'manage:config'
|
||
|
|
| 'view:audit'
|
||
|
|
|
||
|
|
export const RolePermissions: Record<AdminRole, Permission[]> = {
|
||
|
|
admin: [
|
||
|
|
'view:dashboard',
|
||
|
|
'view:activities',
|
||
|
|
'view:leaderboard',
|
||
|
|
'view:alerts',
|
||
|
|
'view:notifications',
|
||
|
|
'manage:users',
|
||
|
|
'manage:rewards',
|
||
|
|
'manage:risk',
|
||
|
|
'manage:config',
|
||
|
|
'view:audit'
|
||
|
|
],
|
||
|
|
operator: [
|
||
|
|
'view:dashboard',
|
||
|
|
'view:activities',
|
||
|
|
'view:leaderboard',
|
||
|
|
'view:alerts',
|
||
|
|
'view:notifications',
|
||
|
|
'manage:rewards',
|
||
|
|
'manage:risk'
|
||
|
|
],
|
||
|
|
viewer: [
|
||
|
|
'view:dashboard',
|
||
|
|
'view:activities',
|
||
|
|
'view:leaderboard',
|
||
|
|
'view:alerts',
|
||
|
|
'view:notifications'
|
||
|
|
]
|
||
|
|
}
|