roles.js 637 B

123456789101112131415161718192021222324252627282930
  1. export const ROLES = Object.freeze({
  2. BRANCH: "branch",
  3. ADMIN: "admin",
  4. SUPERADMIN: "superadmin",
  5. DEV: "dev",
  6. });
  7. /**
  8. * Returns true for roles that are "admin-like" in the UI:
  9. * - admin, superadmin, dev
  10. *
  11. * @param {unknown} role
  12. * @returns {boolean}
  13. */
  14. export function isAdminLike(role) {
  15. return (
  16. role === ROLES.ADMIN || role === ROLES.SUPERADMIN || role === ROLES.DEV
  17. );
  18. }
  19. /**
  20. * Returns true for roles that can manage users (RHL-012 capability):
  21. * - superadmin, dev
  22. *
  23. * @param {unknown} role
  24. * @returns {boolean}
  25. */
  26. export function canManageUsers(role) {
  27. return role === ROLES.SUPERADMIN || role === ROLES.DEV;
  28. }