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.82 kB
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../constants/constants.mjs";import n from"../../../../utils/errors/lucid-api-error.mjs";import r from"../../../../services/ai/features/media-image-generate.mjs";import i from"../../utils/create-service-context.mjs";import a from"../../../../utils/services/service-wrapper.mjs";import{Permissions as o}from"../../../permission/definitions.mjs";import s from"../../middleware/authenticate.mjs";import c from"../../middleware/permissions.mjs";import l from"../../middleware/validate.mjs";import u from"../../middleware/validate-csrf.mjs";import d from"../../openapi/index.mjs";import f from"../../utils/build-response.mjs";import{controllerSchemas as p}from"../../../../schemas/ai.mjs";import m from"zod";import{createFactory as h}from"hono/factory";import{describeRoute as g}from"hono-openapi";const _=h().createHandlers(g({description:`Generate a media image using Lucid AI.`,tags:[`ai`],summary:`Generate Media Image`,responses:d.responses({schema:m.toJSONSchema(p.mediaImageGenerate.response)}),requestBody:d.requestBody(p.mediaImageGenerate.body),parameters:d.parameters({headers:{csrf:!0,idempotencyKey:!0}})}),u,s(),c([o.AiImageGenerate]),l(`json`,p.mediaImageGenerate.body),async o=>{let s=o.req.valid(`json`),c=i(o),l=await a(r,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.ai.generate.error.name`),message:e(`server:core.routes.ai.generate.error.message`)}})(c,{instruction:s.instruction,guidance:s.guidance,previousInstructions:s.previousInstructions,image:s.image,generation:s.generation,idempotencyKey:o.req.header(t.headers.idempotencyKey),userId:o.get(`auth`).id});if(l.error)throw new n(l.error);return o.status(202),o.json(f(o,{data:l.data}))});export{_ as default}; //# sourceMappingURL=media-image-generate.mjs.map