@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.71 kB
JavaScript
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"../../../../services/documents/get-multiple.mjs";import i from"../../../../utils/services/service-wrapper.mjs";import a from"../../middleware/authenticate.mjs";import o from"../../middleware/validate.mjs";import s from"../../openapi/index.mjs";import c from"../../utils/build-response.mjs";import l from"../../utils/build-formatted-query.mjs";import{controllerSchemas as u}from"../../../../schemas/documents.mjs";import d from"../../middleware/collection-permissions.mjs";import f from"zod";import{createFactory as p}from"hono/factory";import{describeRoute as m}from"hono-openapi";const h=p().createHandlers(m({description:`Get multiple document entries for a given collection and version.`,tags:[`documents`],summary:`Get Multiple Documents`,responses:s.responses({schema:f.toJSONSchema(u.getMultiple.response),paginated:!0}),parameters:s.parameters({params:u.getMultiple.params,query:u.getMultiple.query.string})}),a(),o(`param`,u.getMultiple.params),o(`query`,u.getMultiple.query.string),d(`read`),async a=>{let{collectionKey:o,version:s}=a.req.valid(`param`),d=n(a),f=await l(a,u.getMultiple.query.formatted),p=await i(r,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.document.fetch.error.name`),message:e(`server:core.routes.document.fetch.error.message`)}})(d,{collectionKey:o,version:s,query:f});if(p.error)throw new t(p.error);return a.status(200),a.json(c(a,{data:p.data.data,pagination:{count:p.data.count,page:f.page,perPage:f.perPage}}))});export{h as default};
//# sourceMappingURL=get-multiple.mjs.map