@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.59 kB
JavaScript
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../utils/helpers/get-base-url.mjs";import n from"../../libs/repositories/media.mjs";import r from"../../utils/media/normalize-media-key.mjs";import i from"../../utils/media/create-media-url.mjs";import a from"../../utils/media/is-processed-image-key.mjs";import o from"../../utils/media/resolve-processing-request.mjs";import s from"./checks/check-has-media-strategy.mjs";const c=async(c,l)=>{let u=t(c),d=r(l.key);if(a(d))return{error:{type:`basic`,status:404,name:e(`server:core.media.not.found.name`),message:e(`server:core.media.not.found.message`)},data:void 0};let f=new n(c.db.client,c.config.db),p=await s(c);if(p.error)return p;let m=await f.selectSingleActivePresentationByKey({key:d});if(m.error)return m;if(!m.data||m.data.tenant_key&&c.request.tenantKey&&m.data.tenant_key!==c.request.tenantKey)return{error:{type:`basic`,status:404,message:e(`server:core.media.not.found.message`)},data:void 0};if(m.data.type!==`image`)return{error:void 0,data:{url:i({key:m.data.key,host:u,fileName:m.data.file_name,extension:m.data.file_extension})}};let h=o({presets:c.config.media.images.presets,allowFormatQuery:c.config.media.images.allowFormatQuery,query:l.body});return h.hasProcessing?{error:void 0,data:{url:i({key:m.data.key,host:u,fileName:m.data.file_name,extension:h.publicQuery.format??m.data.file_extension,query:h.publicQuery})}}:{error:void 0,data:{url:i({key:m.data.key,host:u,fileName:m.data.file_name,extension:m.data.file_extension})}}};export{c as default};
//# sourceMappingURL=process-media.mjs.map