This commit is contained in:
+14
-1
@@ -1,4 +1,4 @@
|
||||
export type UserRole = 'admin' | 'operator' | 'viewer';
|
||||
export type UserRole = 'admin' | 'super_viewer' | 'operator' | 'viewer';
|
||||
|
||||
/** Reserved identity for work requested by the controller. */
|
||||
export const systemUsername = 'Maxis';
|
||||
@@ -17,6 +17,19 @@ export interface AuthUser {
|
||||
|
||||
export const roleLabels: Record<UserRole, string> = {
|
||||
admin: 'Administrator',
|
||||
super_viewer: 'Super Viewer',
|
||||
operator: 'Operator',
|
||||
viewer: 'Viewer'
|
||||
};
|
||||
|
||||
export function canOperate(role: UserRole | null | undefined): boolean {
|
||||
return role === 'admin' || role === 'operator';
|
||||
}
|
||||
|
||||
export function canReadAdmin(role: UserRole | null | undefined): boolean {
|
||||
return role === 'admin' || role === 'super_viewer';
|
||||
}
|
||||
|
||||
export function canReadSensitive(role: UserRole | null | undefined): boolean {
|
||||
return canOperate(role) || role === 'super_viewer';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user