@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.63 kB
JavaScript
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"./checks/check-collection.mjs";import i from"./checks/check-document-access.mjs";import a from"./helpers/invalidate-client-cache.mjs";const o=async(o,s)=>{if(!s.ids||s.ids.length===0)return{error:void 0,data:void 0};let c=await r(o,{key:s.collectionKey});if(c.error)return c;if(c.data.getData.locked)return{error:{type:`basic`,name:e(`server:core.error.locked.collection.name`),message:e(`server:core.error.locked.collection.message.delete`),status:400},data:void 0};let l=new t(o.db.client,o.config.db),u=await n(o,s.collectionKey);if(u.error)return u;let d=await i(o,{collectionKey:s.collectionKey,ids:s.ids});if(d.error)return d;let f=await l.selectMultiple({select:[`id`],where:[{key:`id`,operator:`in`,value:s.ids}],validation:{enabled:!0}},{tableName:u.data.document});if(f.error)return f;let p=new Set(f.data.map(e=>e.id));if(s.ids.filter(e=>!p.has(e)).length!==0)return{error:{type:`basic`,message:e(`server:core.documents.not.found.message`),errors:{ids:{message:e(`server:core.documents.ids.not.found.partial`,{data:{ids:f.data.map(e=>e.id).join(`, `)}})}},status:404},data:void 0};let m=await l.updateSingle({data:{is_deleted:!1,is_deleted_at:null},where:[{key:`id`,operator:`in`,value:s.ids}],returning:[`id`],validation:{enabled:!0}},{tableName:u.data.document});return m.error?m:(await a(o,s.collectionKey),{error:void 0,data:void 0})};export{o as default};
//# sourceMappingURL=restore-multiple.mjs.map