UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

23 lines 985 B
import { err, ok } from 'true-myth/result'; import { ensureCanUseWorkspacePlanFeatureFragment, ensureUserIsWorkspaceAdminFragment } from '../../fragments/workspaces.js'; /** * TODO: Refactor. Just use the fragment if you want to check if a workspace has access to a feature, * and create more specific policies for the actual use cases, cause policies shouldn't be reusable * building blocks like this. */ export const canUseWorkspacePlanFeature = (loaders) => async ({ userId, workspaceId, feature }) => { const isWorkspaceAdmin = await ensureUserIsWorkspaceAdminFragment(loaders)({ userId, workspaceId }); if (isWorkspaceAdmin.isErr) return err(isWorkspaceAdmin.error); const canUseFeature = await ensureCanUseWorkspacePlanFeatureFragment(loaders)({ workspaceId, feature }); if (canUseFeature.isErr) return err(canUseFeature.error); return ok(); }; //# sourceMappingURL=canUseWorkspacePlanFeature.js.map