@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 4.21 kB
JavaScript
import{queryFormatted as e,queryString as t}from"./helpers/querystring.mjs";import n from"zod";const r=n.object({localeCode:n.string().trim().meta({description:`The admin UI locale code for the translated role label`,example:`en`}),value:n.string().trim().nullable().meta({description:`The translated value`,example:`Editors`})}),i=n.object({id:n.number().meta({description:`The role ID`,example:1}),key:n.string().nullable().meta({description:`The config-managed role key, if this role is managed by config`,example:`content-admin`}),name:n.array(r).meta({description:`Internal admin UI translations for the role name`}),description:n.array(r).meta({description:`Internal admin UI translations for the role description`}),locked:n.boolean().meta({description:`Whether this role is managed by config and cannot be edited`,example:!1}),tenantKey:n.string().nullable().meta({description:`The tenant this role is scoped to. Null roles are global.`,example:`alpha`}),permissions:n.array(n.object({id:n.number().meta({description:`The permission ID`,example:1}),permission:n.string().meta({description:`The permission key`,example:`users:create`})})).meta({description:`A list of all of the roles permissions`}).optional(),createdAt:n.string().meta({description:`Creation timestamp`,example:`2022-01-01T00:00:00Z`}),updatedAt:n.string().meta({description:`Last update timestamp`,example:`2022-01-01T00:00:00Z`})}),a={createSingle:{body:n.object({name:n.array(r).meta({description:`Internal admin UI translations for the role name`}),description:n.array(r).optional().meta({description:`Internal admin UI translations for the role description`}),permissions:n.array(n.string().trim()).meta({description:`A lit of permissions`,example:[`users:create`,`users:update`]}),tenantKey:n.string().trim().nullable().optional().meta({description:`The tenant key this role is scoped to. Omit or set null to make the role global.`,example:`alpha`})}),query:{string:void 0,formatted:void 0},params:void 0,response:i},updateSingle:{body:n.object({name:n.array(r).meta({description:`Internal admin UI translations for the role name`}).optional(),description:n.array(r).meta({description:`Internal admin UI translations for the role description`}).optional(),permissions:n.array(n.string().trim()).meta({description:`A lit of permissions`,example:[`users:create`,`users:update`]}).optional(),tenantKey:n.string().trim().nullable().optional().meta({description:`The tenant key this role is scoped to. Set null to make the role global.`,example:`alpha`})}),query:{string:void 0,formatted:void 0},params:n.object({id:n.string().trim().meta({description:`The role's ID`,example:1})}),response:void 0},deleteSingle:{body:void 0,query:{string:void 0,formatted:void 0},params:n.object({id:n.string().trim().meta({description:`The role's ID`,example:1})}),response:void 0},getMultiple:{body:void 0,query:{string:n.object({"filter[name]":t.schema.filter(!1,{example:`Editor`}),"filter[roleIds]":t.schema.filter(!0,{example:`1,2`}),"filter[description]":t.schema.filter(!1,{example:`Can manage content`}),"filter[locked]":t.schema.filter(!1,{example:`true`}),"filter[createdAt]":t.schema.filter(!1,{example:`2026-01-01T00:00:00Z`}),"filter[updatedAt]":t.schema.filter(!1,{example:`2026-01-01T00:00:00Z`}),sort:t.schema.sort(`createdAt,name`),include:t.schema.include(`permissions`),page:t.schema.page,perPage:t.schema.perPage}).meta(t.meta),formatted:n.object({filter:n.object({name:e.schema.filters.single.optional(),description:e.schema.filters.single.optional(),roleIds:e.schema.filters.union.optional(),locked:e.schema.filters.single.optional(),createdAt:e.schema.filters.single.optional(),updatedAt:e.schema.filters.single.optional()}).optional(),filterOr:e.schema.filterOr,sort:n.array(n.object({key:n.enum([`createdAt`,`name`]),direction:n.enum([`asc`,`desc`])})).optional(),include:n.array(n.enum([`permissions`])).optional(),page:e.schema.page,perPage:e.schema.perPage})},params:void 0,response:n.array(i)},getSingle:{body:void 0,query:{string:void 0,formatted:void 0},params:n.object({id:n.string().trim().meta({description:`The role's ID`,example:1})}),response:i}};export{a as controllerSchemas};
//# sourceMappingURL=roles.mjs.map