@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
21 lines (20 loc) • 892 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hasPermission = hasPermission;
exports.hasAnyPermission = hasAnyPermission;
exports.hasAllPermissions = hasAllPermissions;
const constants_1 = require("../constants");
const data_1 = require("../data");
function hasPermission(userRole, requiredPermission) {
if (userRole === constants_1.USER_ROLE.SUPER_ADMIN) {
return true;
}
const roleDefinition = data_1.ROLE_DEFINITIONS.find((def) => def.role === userRole);
return roleDefinition ? roleDefinition.permissions.includes(requiredPermission) : false;
}
function hasAnyPermission(userRole, requiredPermissions) {
return requiredPermissions.some((perm) => hasPermission(userRole, perm));
}
function hasAllPermissions(userRole, requiredPermissions) {
return requiredPermissions.every((perm) => hasPermission(userRole, perm));
}