/**
 * UserRole Enum
 * User account roles in the system
 * Derived from JWT token claims
 */
const UserRole = Object.freeze({
  GUEST: 'guest',
  CUSTOMER: 'customer',
  OWNER: 'owner',
  AGENT: 'agent',
});

const UserRoleLabels = Object.freeze({
  [UserRole.GUEST]: 'زائر',
  [UserRole.CUSTOMER]: 'مستأجر',
  [UserRole.OWNER]: 'مالك عقار',
  [UserRole.AGENT]: 'وسيط عقاري',
});

const UserRoleColors = Object.freeze({
  [UserRole.GUEST]: 'gray',
  [UserRole.CUSTOMER]: 'blue',
  [UserRole.OWNER]: 'amber',
  [UserRole.AGENT]: 'purple',
});

const UserRoleTranslationKeys = Object.freeze({
  [UserRole.GUEST]: 'userRole.guest',
  [UserRole.CUSTOMER]: 'userRole.customer',
  [UserRole.OWNER]: 'userRole.owner',
  [UserRole.AGENT]: 'userRole.agent',
});

export { UserRole, UserRoleLabels, UserRoleColors, UserRoleTranslationKeys };
