@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.27 kB
JavaScript
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../libs/repositories/media.mjs";import n from"../../libs/kv/cache-keys.mjs";import{invalidateHttpCacheTags as r}from"../../libs/kv/http-cache.mjs";import i from"./checks/check-media-access.mjs";import a from"./helpers/clear-client-media-cache.mjs";const o=async(o,s)=>{if(!s.ids||s.ids.length===0)return{error:void 0,data:void 0};let c=new t(o.db.client,o.config.db),l=await i(o,{ids:s.ids});if(l.error)return l;let u=await c.selectMultiple({select:[`id`],where:[{key:`id`,operator:`in`,value:s.ids}],validation:{enabled:!0}});if(u.error)return u;let d=new Set(u.data.map(e=>e.id));if(s.ids.filter(e=>!d.has(e)).length!==0)return{error:{type:`basic`,message:e(`server:core.media.not.found.message`),errors:{ids:{message:e(`server:core.documents.ids.not.found.partial`,{data:{ids:u.data.map(e=>e.id).join(`, `)}})}},status:404},data:void 0};let f=await c.updateSingle({data:{is_deleted:!1,is_deleted_at:null,deleted_by:null},where:[{key:`id`,operator:`in`,value:s.ids}],returning:[`id`],validation:{enabled:!0}});return f.error?f:(await Promise.all([...s.ids.map(e=>a(o,e)),r(o,[n.http.tags.clientMedia])]),{error:void 0,data:void 0})};export{o as default};
//# sourceMappingURL=restore-multiple.mjs.map