@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.53 kB
JavaScript
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../libs/repositories/media-folders.mjs";import n from"./checks/check-folder-access.mjs";const r=async(r,i)=>{let a=new t(r.db.client,r.config.db);if(i.parentFolderId===i.id)return{error:{message:e(`server:core.media.folders.parents.circular`),status:400,errors:{fields:[{key:`parentFolderId`,message:e(`server:core.media.folders.parents.circular`)}]}},data:void 0};let o=await n(r,{folderId:i.id});if(o.error)return o;let s=await n(r,{folderId:i.parentFolderId});if(s.error)return s;if(o.data?.tenant_key===null&&s.data?.tenant_key!==void 0&&s.data.tenant_key!==null)return{error:{message:e(`server:core.media.folders.parents.tenant.mismatch`),status:400,errors:{fields:[{key:`parentFolderId`,message:e(`server:core.media.folders.parents.tenant.mismatch`)}]}},data:void 0};if(i.parentFolderId){let t=await a.checkCircularParents({folderId:i.id,parentFolderId:i.parentFolderId,tenantKey:r.request.tenantKey});if(t.error)return t;if(t.data)return{error:{message:e(`server:core.media.folders.parents.circular`),status:400,errors:{fields:[{key:`parentFolderId`,message:e(`server:core.media.folders.parents.circular`)}]}},data:void 0}}let c=await a.updateSingle({data:{title:i.title,parent_folder_id:i.parentFolderId,updated_by:i.userId,updated_at:new Date().toISOString()},where:[{key:`id`,operator:`=`,value:i.id}],returning:[`id`],validation:{enabled:!0}});return c.error?c:{error:void 0,data:c.data.id}};export{r as default};
//# sourceMappingURL=update-single.mjs.map