@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.63 kB
JavaScript
import{copy as e}from"../../../i18n/copy.mjs";import t from"../../../../utils/errors/lucid-api-error.mjs";import{controllerSchemas as n}from"../../../../schemas/email.mjs";import r from"../../utils/create-service-context.mjs";import i from"../../../../services/email/get-multiple.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"../../openapi/index.mjs";import d from"../../utils/build-response.mjs";import f from"../../utils/build-formatted-query.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:`Returns multiple emails based on the query parameters.`,tags:[`emails`],summary:`Get Multiple Emails`,responses:u.responses({schema:p.toJSONSchema(n.getMultiple.response),paginated:!0}),parameters:u.parameters({query:n.getMultiple.query.string})}),s(),c([o.EmailRead]),l(`query`,n.getMultiple.query.string),async o=>{let s=r(o),c=await f(o,n.getMultiple.query.formatted),l=await a(i,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.email.fetch.error.name`),message:e(`server:core.routes.email.fetch.error.message`)}})(s,{query:c,authUser:o.get(`auth`)});if(l.error)throw new t(l.error);return o.status(200),o.json(d(o,{data:l.data.data,pagination:{count:l.data.count,page:c.page,perPage:c.perPage}}))});export{g as default};
//# sourceMappingURL=get-multiple.mjs.map