@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.88 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"../../../../utils/services/service-wrapper.mjs";import i from"../../../../services/preview-sessions/create.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 an expiring preview from a persisted document version.`,tags:[`documents`],summary:`Create Preview`,responses:c.responses({schema:f.toJSONSchema(u.createPreview.response)}),requestBody:c.requestBody(u.createPreview.body),parameters:c.parameters({params:u.createPreview.params,headers:{csrf:!0}})}),s,a(),o(`json`,u.createPreview.body),o(`param`,u.createPreview.params),d(`read`),async a=>{let{collectionKey:o,id:s}=a.req.valid(`param`),{locale:c,mode:u,versionType:d,versionId:f}=a.req.valid(`json`),p=n(a),m=await r(i,{transaction:!0,logError:!0,defaultError:{type:`basic`,name:e(`server:core.routes.document.fetch.error.name`),message:e(`server:core.routes.document.fetch.error.message`)}})(p,{collectionKey:o,documentId:Number.parseInt(s,10),versionType:d,versionId:f,mode:u,locale:c,creator:a.get(`auth`)});if(m.error)throw new t(m.error);return a.header(`Cache-Control`,`private, no-store`),a.header(`Pragma`,`no-cache`),a.header(`Referrer-Policy`,`no-referrer`),a.status(200),a.json(l(a,{data:m.data}))});export{h as default};
//# sourceMappingURL=create-preview.mjs.map