UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 2.47 kB
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../libs/repositories/documents.mjs";import{getTableNames as n}from"../../libs/collection/schema/runtime/runtime-schema-selectors.mjs";import r from"../../libs/hooks/execute-hooks.mjs";import i from"../document-publish-operations/cancel-for-documents.mjs";import a from"../document-workflows/delete-for-documents.mjs";import o from"./checks/check-collection.mjs";import s from"./checks/check-document-access.mjs";import c from"./helpers/invalidate-client-cache.mjs";import l from"./nullify-document-references.mjs";import u from"../preview-sessions/delete-for-documents.mjs";const d=async(d,f)=>{let p=await o(d,{key:f.collectionKey});if(p.error)return p;let m=new t(d.db.client,d.config.db),h=await n(d,f.collectionKey);if(h.error)return h;let g=await s(d,{collectionKey:f.collectionKey,id:f.id});if(g.error)return g;let _=await m.selectSingle({select:[`id`],where:[{key:`id`,operator:`=`,value:f.id},{key:`collection_key`,operator:`=`,value:f.collectionKey}],validation:{enabled:!0,defaultError:{type:`basic`,message:e(`server:core.documents.not.found.message`),status:404}}},{tableName:h.data.document});if(_.error)return _;let v=await r(d,{service:`documents`,event:`beforeDelete`,config:d.config,collectionInstance:p.data},{meta:{collection:p.data,collectionKey:f.collectionKey,userId:f.userId,collectionTableNames:h.data,tenantKey:d.request.tenantKey??null,hardDelete:!0},data:{ids:[f.id]}});if(v.error)return v;let[y,b,x,S,C]=await Promise.all([m.deleteSingle({where:[{key:`id`,operator:`=`,value:f.id}],returning:[`id`],validation:{enabled:!0}},{tableName:h.data.document}),l(d,{collectionKey:p.data.key,documentId:f.id}),u(d,{collectionKey:f.collectionKey,documentIds:[f.id]}),i(d,{collectionKey:f.collectionKey,documentIds:[f.id],comment:d.translate(`server:core.documents.permanently.deleted.publish.request.comment`)}),a(d,{collectionKey:f.collectionKey,documentIds:[f.id]})]);if(y.error)return y;if(b.error)return b;if(x.error)return x;if(S.error)return S;if(C.error)return C;let w=await r(d,{service:`documents`,event:`afterDelete`,config:d.config,collectionInstance:p.data},{meta:{collection:p.data,collectionKey:f.collectionKey,userId:f.userId,collectionTableNames:h.data,tenantKey:d.request.tenantKey??null,hardDelete:!0},data:{ids:[f.id]}});return w.error?w:(await c(d,f.collectionKey),{error:void 0,data:void 0})};export{d as default}; //# sourceMappingURL=delete-single-permanently.mjs.map