UNPKG

@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
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"../media-folders/checks/check-folder-access.mjs";import a from"./helpers/check-folder-tenant-compatibility.mjs";import o from"./helpers/clear-client-media-cache.mjs";const s=async(s,c)=>{let l=new t(s.db.client,s.config.db),u=await i(s,{folderId:c.folderId});if(u.error)return u;let d=await l.selectSingleById({id:c.id,tenantKey:s.request.tenantKey,validation:{enabled:!0,defaultError:{message:e(`server:core.media.not.found.message`),status:404}}});if(d.error)return d;if(d.data.is_deleted)return{error:{type:`basic`,message:e(`server:core.media.move.deleted.denied`),status:400}};let f=a({folderId:c.folderId,folderTenantKey:u.data?.tenant_key??null,mediaTenantKey:d.data.tenant_key});if(f.error)return f;let p=await l.updateSingle({where:[{key:`id`,operator:`=`,value:c.id}],data:{folder_id:c.folderId,updated_by:c.userId},returning:[`id`],validation:{enabled:!0}});return p.error?p:(await Promise.all([o(s,c.id),r(s,[n.http.tags.clientMedia])]),{error:void 0,data:p.data.id})};export{s as default}; //# sourceMappingURL=move-folder.mjs.map