From bc58f6e08eb75a9203d92d7b0a38d1da9aaf7b82 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 4 Feb 2026 17:48:58 +0000 Subject: [PATCH] add user role hierearchy lookup and management function --- server/src/types/user.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/src/types/user.ts b/server/src/types/user.ts index 41c009791..2ee07d487 100644 --- a/server/src/types/user.ts +++ b/server/src/types/user.ts @@ -1,6 +1,17 @@ export const UserRoles = ["user", "admin", "superadmin", "demo"] as const; export type UserRole = (typeof UserRoles)[number]; +export const RoleHierarchy: Record = { + demo: 0, + user: 1, + admin: 2, + superadmin: 3, +}; + +export const canManageRole = (actorRole: UserRole, targetRole: UserRole): boolean => { + return RoleHierarchy[actorRole] > RoleHierarchy[targetRole]; +}; + export interface UserProfileImage { data?: Buffer; contentType?: string;