@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.08 kB
JavaScript
import e from"../../libs/repositories/media.mjs";import t from"../../libs/kv/cache-keys.mjs";import n from"../../libs/hooks/execute-hooks.mjs";import{invalidateHttpCacheTags as r}from"../../libs/kv/http-cache.mjs";import i from"./checks/check-has-media-strategy.mjs";import a from"./checks/check-media-access.mjs";import o from"./helpers/clear-client-media-cache.mjs";const s=async(s,c)=>{let l=await i(s);if(l.error)return l;let u=new e(s.db.client,s.config.db),d=await a(s,{id:c.id});if(d.error)return d;let f=await u.updateSingle({where:[{key:`id`,operator:`=`,value:c.id}],data:{is_deleted:!0,is_deleted_at:new Date().toISOString(),deleted_by:c.userId},returning:[`id`],validation:{enabled:!1}});if(f.error)return f;if(await Promise.all([o(s,c.id),r(s,[t.http.tags.clientMedia])]),f.data){let e=await n(s,{service:`media`,event:`afterDelete`,config:s.config},{meta:{tenantKey:s.request.tenantKey??null},data:{ids:[f.data.id],userId:c.userId,hardDelete:!1}});if(e.error)return e}return{error:void 0,data:void 0}};export{s as default};
//# sourceMappingURL=delete-single.mjs.map