@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.76 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-versions/promote-version.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{controllerSchemas as l}from"../../../../schemas/documents.mjs";import u from"../../middleware/collection-permissions.mjs";import{createFactory as d}from"hono/factory";import{describeRoute as f}from"hono-openapi";const p=d().createHandlers(f({description:`Promote a document version to a new version type.`,tags:[`documents`],summary:`Promote Document Version`,responses:c.responses({noProperties:!0}),requestBody:c.requestBody(l.promoteVersion.body),parameters:c.parameters({params:l.promoteVersion.params,headers:{csrf:!0}})}),s,a(),o(`json`,l.promoteVersion.body),o(`param`,l.promoteVersion.params),u(`publish`),async a=>{let{versionType:o,bypassRevision:s}=a.req.valid(`json`),{collectionKey:c,id:l,versionId:u}=a.req.valid(`param`),d=n(a),f=await i(r,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.document.promote.version.error.name`),message:e(`server:core.routes.document.promote.version.error.message`)}})(d,{fromVersionId:Number.parseInt(u,10),userId:a.get(`auth`).id,documentId:Number.parseInt(l,10),collectionKey:c,toVersionType:o,createRevision:s!==!0&&void 0,requirePublishOperationForEnvironmentTarget:!0});if(f.error)throw new t(f.error);return a.status(204),a.body(null)});export{p as default};
//# sourceMappingURL=promote-version.mjs.map