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.13 kB
import{copy as e}from"../../../libs/i18n/copy.mjs";import t from"../../../utils/media/get-file-metadata.mjs";import n from"./detect-stream-mime-type.mjs";const r=async r=>{let i=await n(r.context,r.stream,r.key,r.tenant),a=await t({mimeType:r.mimeType,fileName:r.fileName});if(a.error)return a;let o=i?await t({mimeType:i,fileName:r.fileName}):void 0;if(o?.error)return o;if(o?.data&&a.data.type!==`unknown`&&o.data.type!==`unknown`&&a.data.type!==o.data.type)return{error:{type:`basic`,status:400,errors:{file:{code:`media_error`,message:e(`server:core.media.errors.detected.type.mismatch`)}}},data:void 0};let s=o?.data??a.data;return r.allowedType!==void 0&&s.type!==r.allowedType?{error:{type:`basic`,status:400,errors:{file:{code:`media_error`,message:e(`server:core.media.errors.invalid.type`,{data:{type:r.allowedType}})}}},data:void 0}:r.expectedType!==void 0&&s.type!==r.expectedType?{error:{type:`basic`,status:400,errors:{file:{code:`media_error`,message:e(`server:core.media.errors.type.change.not.allowed`)}}},data:void 0}:{error:void 0,data:s}};export{r as default}; //# sourceMappingURL=validate-uploaded-media.mjs.map