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.66 kB
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/upsert-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"../../middleware/validate-csrf.mjs";import c from"../../openapi/index.mjs";import l from"../../utils/build-response.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:`Create a single document for a given collection.`,tags:[`documents`],summary:`Create Document`,responses:c.responses({schema:f.toJSONSchema(u.createSingle.response)}),requestBody:c.requestBody(u.createSingle.body),parameters:c.parameters({params:u.createSingle.params,headers:{csrf:!0}})}),s,a(),o(`json`,u.createSingle.body),o(`param`,u.createSingle.params),d(`create`),async a=>{let{bricks:o,fields:s}=a.req.valid(`json`),{collectionKey:c}=a.req.valid(`param`),u=n(a),d=await i(r,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.document.create.error.name`),message:e(`server:core.routes.document.create.error.message`)}})(u,{collectionKey:c,userId:a.get(`auth`).id,bricks:o,fields:s});if(d.error)throw new t(d.error);return a.status(200),a.json(l(a,{data:{id:d.data}}))});export{h as default}; //# sourceMappingURL=create-single.mjs.map