jsm-core
Version:
Core library for JSM project
41 lines (40 loc) • 1.46 kB
JavaScript
;
/**
* @generator Levelup
* @author dr. Salmi <reevosolutions@gmail.com>
* @since 24-02-2024 20:47:22
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.roleGroupList = void 0;
exports.userHasRoleGroupOrAbove = userHasRoleGroupOrAbove;
exports.userMustBeLinkedToCompany = userMustBeLinkedToCompany;
const roles_constants_1 = require("../../../constants/roles.constants");
/**
* Role groups are in this order:
* - 0: master
* - 10: system_administrators
* - 20: application_account_owners
* - 21: application_administrators
* - 30: company_account_owners
* - 31: company_administrators
* - 50: administrators
* - 51: agents
* - 60: deliverers
* - 70: sellers
* - 100: users
* @param {Jsm.Core.Auth.Entity.TRoleGroup | undefined} currentUserRoleGroup
* @param {Jsm.Core.Auth.Entity.TRoleGroup} roleGroup
* @returns boolean
*/
function userHasRoleGroupOrAbove(currentUserRoleGroup, roleGroup) {
if (!currentUserRoleGroup || !roleGroup)
return false;
return roles_constants_1.ROLE_GROUP_ORDER[currentUserRoleGroup] <= roles_constants_1.ROLE_GROUP_ORDER[roleGroup];
}
function userMustBeLinkedToCompany(currentUserRoleGroup) {
if (!currentUserRoleGroup)
return false;
return currentUserRoleGroup !== "users" && !userHasRoleGroupOrAbove(currentUserRoleGroup, "application_administrators");
}
const roleGroupList = (groups) => groups;
exports.roleGroupList = roleGroupList;