UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

36 lines 1.5 kB
import { RoleInfo } from '../../../core/constants.js'; import { InvalidRoleError } from '../errors.js'; export const isMinimumProjectRole = (role, targetRole) => { if (!(role in RoleInfo.Stream)) { throw new InvalidRoleError(`Invalid role ${role}`); } if (!(targetRole in RoleInfo.Stream)) { throw new InvalidRoleError(`Invalid target role ${targetRole}`); } const roleWeight = RoleInfo.Stream[role].weight; const targetRoleWeight = RoleInfo.Stream[targetRole].weight; return roleWeight >= targetRoleWeight; }; export const isMinimumServerRole = (role, targetRole) => { if (!(role in RoleInfo.Server)) { throw new InvalidRoleError(`Invalid role ${role}`); } if (!(targetRole in RoleInfo.Server)) { throw new InvalidRoleError(`Invalid target role ${targetRole}`); } const roleWeight = RoleInfo.Server[role].weight; const targetRoleWeight = RoleInfo.Server[targetRole].weight; return roleWeight >= targetRoleWeight; }; export const isMinimumWorkspaceRole = (role, targetRole) => { if (!(role in RoleInfo.Workspace)) { throw new InvalidRoleError(`Invalid role ${role}`); } if (!(targetRole in RoleInfo.Workspace)) { throw new InvalidRoleError(`Invalid target role ${targetRole}`); } const roleWeight = RoleInfo.Workspace[role].weight; const targetRoleWeight = RoleInfo.Workspace[targetRole].weight; return roleWeight >= targetRoleWeight; }; //# sourceMappingURL=roles.js.map