feat: add description field to Role model

- Add description to IRole, CreateRoleRequest, UpdateRoleRequest types
- Add description field to Mongoose roleSchema (default: '')
- Wire description through createRoleHandler and updateRoleHandler
- Include description in listRoles select clause so it appears in list
This commit is contained in:
Dustin Healy 2026-03-25 10:51:09 -07:00
parent f947546fea
commit afda763bcd
4 changed files with 11 additions and 2 deletions

View file

@ -79,8 +79,9 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) {
async function createRoleHandler(req: ServerRequest, res: Response) {
try {
const { name, permissions } = req.body as {
const { name, description, permissions } = req.body as {
name?: string;
description?: string;
permissions?: IRole['permissions'];
};
if (!name || typeof name !== 'string' || !name.trim()) {
@ -88,6 +89,7 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) {
}
const role = await createRoleByName({
name: name.trim(),
description: description ?? '',
permissions: permissions || {},
});
return res.status(201).json({ role });
@ -113,6 +115,9 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) {
if (body.name !== undefined) {
updates.name = body.name;
}
if (body.description !== undefined) {
updates.description = body.description;
}
const role = await updateRoleByName(name, updates);
return res.status(200).json({ role });