@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.96 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{Permissions as i}from"../../../permission/definitions.mjs";import a from"../../../../services/roles/get-single.mjs";import o from"../../../../services/roles/update-single.mjs";import s from"../../middleware/authenticate.mjs";import c from"../../middleware/permissions.mjs";import l from"../../middleware/validate.mjs";import u from"../../middleware/validate-csrf.mjs";import d from"../../openapi/index.mjs";import{controllerSchemas as f}from"../../../../schemas/roles.mjs";import{createFactory as p}from"hono/factory";import{describeRoute as m}from"hono-openapi";const h=p().createHandlers(m({description:`Update a single role with the given name and permission groups by ID.`,tags:[`roles`],summary:`Update Role`,responses:d.responses({noProperties:!0}),parameters:d.parameters({params:f.updateSingle.params,headers:{csrf:!0}}),requestBody:d.requestBody(f.updateSingle.body)}),u,s(),c([i.RolesUpdate]),l(`param`,f.updateSingle.params),l(`json`,f.updateSingle.body),async i=>{let{id:s}=i.req.valid(`param`),c=i.req.valid(`json`),l=n(i),u=i.get(`auth`),d=await r(o,{transaction:!0,defaultError:{type:`basic`,name:e(`server:core.routes.roles.update.error.name`),message:e(`server:core.routes.roles.update.error.message`)}})(l,{id:Number.parseInt(s,10),name:c.name,description:c.description,permissions:c.permissions,tenantKey:c.tenantKey,authSuperAdmin:u.superAdmin});if(d.error)throw new t(d.error);let f=await r(a,{transaction:!1,defaultError:{type:`basic`,name:e(`server:core.routes.roles.fetch.error.name`),message:e(`server:core.routes.roles.fetch.error.message`)}})(l,{id:Number.parseInt(s,10)});if(f.error)throw new t(f.error);return i.status(204),i.body(null)});export{h as default};
//# sourceMappingURL=update-single.mjs.map