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.65 kB
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import n from"../../../../services/ai/features/media-alt-generate.mjs";import r from"../../utils/create-service-context.mjs";import i from"../../../../utils/services/service-wrapper.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/ai.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:`Generate alt text for media using Lucid AI.`,tags:[`ai`],summary:`Generate Media Alt Text`,responses:u.responses({schema:p.toJSONSchema(f.mediaAlt.response)}),requestBody:u.requestBody(f.mediaAlt.body),parameters:u.parameters({headers:{csrf:!0}})}),l,o(),s([a.AiAltGenerate]),c(`json`,f.mediaAlt.body),async a=>{let o=a.req.valid(`json`),s=r(a),c=await i(n,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.ai.generate.error.name`),message:e(`server:core.routes.ai.generate.error.message`)}})(s,{instruction:o.instruction,previousResponses:o.previousResponses,image:o.image,media:o.media,locale:o.locale,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=media-alt-generate.mjs.map