export type UserRole = 'admin' | 'reviewer' | 'member' | 'guest';

export const ROLE_HIERARCHY: Record<UserRole, number> = {
  admin: 3,
  reviewer: 2,
  member: 1,
  guest: 0,
} as const;

export function hasMinRole(userRole: UserRole, minRole: UserRole): boolean {
  return ROLE_HIERARCHY[userRole] >= ROLE_HIERARCHY[minRole];
}

export const ROLE_PERMISSIONS: Record<UserRole, readonly string[]> = {
  admin: ['read', 'write', 'review', 'approve', 'manage_users', 'manage_roles'],
  reviewer: ['read', 'write', 'review'],
  member: ['read', 'write'],
  guest: ['read'],
} as const;
