@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-single.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 a single document from the collection key and ID.`,tags:[`documents`],summary:`Get Document`,responses:s.responses({schema:f.toJSONSchema(u.getSingle.response)}),parameters:s.parameters({params:u.getSingle.params,query:u.getSingle.query.string})}),a(),o(`param`,u.getSingle.params),o(`query`,u.getSingle.query.string),d(`read`),async a=>{let{collectionKey:o,id:s,versionOrId:d}=a.req.valid(`param`),f=n(a),p=await l(a,u.getSingle.query.formatted),m=!Number.isNaN(Number(d)),h=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`)}})(f,{id:Number.parseInt(s,10),version:m?void 0:d,versionId:m?Number.parseInt(d,10):void 0,collectionKey:o,query:p});if(h.error)throw new t(h.error);return a.status(200),a.json(c(a,{data:h.data}))});export{h as default};
//# sourceMappingURL=get-single.mjs.map