UNPKG

@battle-racing/br-common-lib

Version:

Common library for all Battle Racing Repositorios

21 lines (20 loc) 892 B
"use strict"; 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)); }