UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

21 lines 852 B
import { err, ok } from 'true-myth/result'; import { Roles } from '../../../core/constants.js'; import { ensureMinimumServerRoleFragment } from '../../fragments/server.js'; import { PersonalProjectsLimitedError } from '../../domain/authErrors.js'; export const canCreatePersonalProjectPolicy = (loaders) => async ({ userId }) => { const env = await loaders.getEnv(); if (env.FF_PERSONAL_PROJECTS_LIMITS_ENABLED) { return err(new PersonalProjectsLimitedError({ message: "Projects can't be created outside of workspaces" })); } const ensuredServerRole = await ensureMinimumServerRoleFragment(loaders)({ userId, role: Roles.Server.User }); if (ensuredServerRole.isErr) { return err(ensuredServerRole.error); } return ok(); }; //# sourceMappingURL=canCreatePersonal.js.map