UNPKG

@wepublish/api

Version:
27 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hasPermission = void 0; const permissions_1 = require("./permissions"); function hasPermission(neededPermissions, userRoles) { const perms = Array.isArray(neededPermissions) ? neededPermissions : [neededPermissions]; const hasPerms = perms.map(perm => { if (perm.deprecated) { console.warn('Permission is deprecated', perm); } const userPermissions = userRoles.reduce((permissions, role) => { switch (role.id) { case 'admin': return [...permissions, ...permissions_1.AllPermissions.map(permission => permission.id)]; case 'editor': return [...permissions, ...permissions_1.EditorPermissions.map(permission => permission.id)]; case 'peer': return [...permissions, ...permissions_1.PeerPermissions.map(permission => permission.id)]; } return [...permissions, ...role.permissionIDs]; }, []); return userPermissions.some(permission => permission === perm.id); }); return hasPerms.every(Boolean); } exports.hasPermission = hasPermission; //# sourceMappingURL=has-permission.js.map