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.9 kB
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import n from"../../utils/create-service-context.mjs";import r from"../../../../utils/services/service-wrapper.mjs";import i from"../../../../services/media/create-single.mjs";import{Permissions as a}from"../../../permission/definitions.mjs";import o from"../../middleware/authenticate.mjs";import s from"../../middleware/permissions.mjs";import c from"../../middleware/validate.mjs";import l from"../../middleware/validate-csrf.mjs";import u from"../../openapi/index.mjs";import d from"../../utils/build-response.mjs";import{controllerSchemas as f}from"../../../../schemas/media.mjs";import p from"zod";import{createFactory as m}from"hono/factory";import{describeRoute as h}from"hono-openapi";const g=m().createHandlers(h({description:`Creates a single media item.`,tags:[`media`],summary:`Create Media`,responses:u.responses({schema:p.toJSONSchema(f.createSingle.response)}),parameters:u.parameters({headers:{csrf:!0}}),requestBody:u.requestBody(f.createSingle.body)}),l,o(),s([a.MediaCreate]),c(`json`,f.createSingle.body),async a=>{let o=a.req.valid(`json`),s=n(a),c=await r(i,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.media.create.error.name`),message:e(`server:core.routes.media.create.error.message`)}})(s,{key:o.key,fileName:o.fileName,title:o.title,alt:o.alt,description:o.description,summary:o.summary,width:o.width,height:o.height,focalPoint:o.focalPoint,blurHash:o.blurHash,averageColor:o.averageColor,base64:o.base64,isDark:o.isDark,isLight:o.isLight,folderId:o.folderId,posterId:o.posterId,crop:o.crop,isHidden:o.isHidden,origin:o.origin,aiGenerationRequestId:o.aiGenerationRequestId,userId:a.get(`auth`).id});if(c.error)throw new t(c.error);return a.status(200),a.json(d(a,{data:c.data}))});export{g as default}; //# sourceMappingURL=create-single.mjs.map