@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.32 kB
JavaScript
import{copy as e}from"../i18n/copy.mjs";import{tenantAccessAllowed as t}from"../../utils/helpers/tenants.mjs";import{collectionPermissionActions as n,getCollectionPermission as r}from"./collection-permissions.mjs";import{PermissionGroups as i,Permissions as a}from"./definitions.mjs";const o=Object.values(a),s=/^documents:[a-z0-9-_]+:(read|create|update|delete|restore|publish|review)$/,c=e=>o.includes(e)||s.test(e),l={read:e(`admin:permissions.documents.read`),create:e(`admin:permissions.documents.create`),update:e(`admin:permissions.documents.update`),delete:e(`admin:permissions.documents.delete`),restore:e(`admin:permissions.documents.restore`),publish:e(`admin:permissions.documents.publish`),review:e(`admin:permissions.documents.review`)},u=(e,i)=>(e?.collections??[]).filter(e=>i===void 0||t(e.getData.tenants,i)).map(e=>({key:`documents:${e.key}`,details:{name:e.getData.details.name},core:!0,permissions:n.map(t=>({key:r(e.key,t),details:{name:l[t]},core:!0}))})),d=(e,t)=>[...Object.values(i).map(e=>({...e,permissions:[...e.permissions]})),...u(e,t?.tenantKey)],f=(e,t)=>d(e,t),p=e=>d(e).flatMap(e=>e.permissions.map(e=>e.key));export{o as corePermissionKeys,f as getGrantablePermissionRegistry,d as getPermissionRegistry,p as getValidPermissions,c as isCorePermission};
//# sourceMappingURL=registry.mjs.map