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.7 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{getCollectionClientScope as r}from"../../../../permission/client-scopes.mjs";import i from"../../../../../utils/services/service-wrapper.mjs";import a from"../../../../../services/preview-sessions/resolve.mjs";import o from"../../../middleware/client-authenticate.mjs";import s from"../../../middleware/validate.mjs";import c from"../../../openapi/index.mjs";import l from"../../../utils/build-response.mjs";import{clientScopeCheck as u}from"../../../middleware/client-scopes.mjs";import{controllerSchemas as d}from"../../../../../schemas/previews.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:`Validate a preview token for use by a browser application.`,tags:[`client-previews`],summary:`Resolve Preview`,responses:c.responses({schema:f.toJSONSchema(d.resolve.response)}),parameters:c.parameters({params:d.resolve.params,headers:{authorization:!0}})}),o,s(`param`,d.resolve.params),async o=>{let{token:s}=o.req.valid(`param`),c=n(o),d=await i(a,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.preview.resolve.error.name`),message:e(`server:core.routes.preview.resolve.error.message`)}})(c,{token:s});if(d.error)throw new t(d.error);return u(o,[r(d.data.entry.collectionKey)]),o.header(`Cache-Control`,`private, no-store`),o.header(`Pragma`,`no-cache`),o.header(`Referrer-Policy`,`no-referrer`),o.status(200),o.json(l(o,{data:d.data}))});export{h as default}; //# sourceMappingURL=resolve.mjs.map