diff --git a/api/server/routes/admin/roles.js b/api/server/routes/admin/roles.js index 746afd4a35..4dbb11bde7 100644 --- a/api/server/routes/admin/roles.js +++ b/api/server/routes/admin/roles.js @@ -14,10 +14,10 @@ const requireManageRoles = requireCapability(SystemCapabilities.MANAGE_ROLES); const handlers = createAdminRolesHandlers({ listRoles: db.listRoles, getRoleByName: db.getRoleByName, - createRole: db.createRole, + createRoleByName: db.createRoleByName, updateRoleByName: db.updateRoleByName, updateAccessPermissions: db.updateAccessPermissions, - deleteRole: db.deleteRole, + deleteRoleByName: db.deleteRoleByName, findUser: db.findUser, updateUser: db.updateUser, listUsersByRole: db.listUsersByRole, diff --git a/packages/api/src/admin/roles.ts b/packages/api/src/admin/roles.ts index f7e87133d8..4c3cd632af 100644 --- a/packages/api/src/admin/roles.ts +++ b/packages/api/src/admin/roles.ts @@ -24,14 +24,14 @@ interface AdminMember { export interface AdminRolesDeps { listRoles: () => Promise; getRoleByName: (name: string, fields?: string | string[] | null) => Promise; - createRole: (roleData: Partial) => Promise; + createRoleByName: (roleData: Partial) => Promise; updateRoleByName: (name: string, updates: Partial) => Promise; updateAccessPermissions: ( name: string, perms: Record>, roleData?: IRole, ) => Promise; - deleteRole: (name: string) => Promise; + deleteRoleByName: (name: string) => Promise; findUser: ( criteria: FilterQuery, fields?: string | string[] | null, @@ -44,10 +44,10 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) { const { listRoles, getRoleByName, - createRole, + createRoleByName, updateRoleByName, updateAccessPermissions, - deleteRole, + deleteRoleByName, findUser, updateUser, listUsersByRole, @@ -86,7 +86,7 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) { if (!name || typeof name !== 'string' || !name.trim()) { return res.status(400).json({ error: 'name is required' }); } - const role = await createRole({ + const role = await createRoleByName({ name: name.trim(), permissions: permissions || {}, }); @@ -159,7 +159,7 @@ export function createAdminRolesHandlers(deps: AdminRolesDeps) { return res.status(404).json({ error: 'Role not found' }); } - await deleteRole(name); + await deleteRoleByName(name); return res.status(200).json({ success: true }); } catch (error) { logger.error('[adminRoles] deleteRole error:', error); diff --git a/packages/data-schemas/src/methods/role.ts b/packages/data-schemas/src/methods/role.ts index 955f7b3d35..998170b550 100644 --- a/packages/data-schemas/src/methods/role.ts +++ b/packages/data-schemas/src/methods/role.ts @@ -343,7 +343,7 @@ export function createRoleMethods(mongoose: typeof import('mongoose'), deps: Rol } /** Rejects names that match system roles. */ - async function createRole(roleData: Partial): Promise { + async function createRoleByName(roleData: Partial): Promise { const { name } = roleData; if (!name || typeof name !== 'string' || !name.trim()) { throw new Error('Role name is required'); @@ -368,7 +368,7 @@ export function createRoleMethods(mongoose: typeof import('mongoose'), deps: Rol } /** Guards against deleting system roles. Reassigns affected users back to USER. */ - async function deleteRole(roleName: string): Promise { + async function deleteRoleByName(roleName: string): Promise { if (SystemRoles[roleName as keyof typeof SystemRoles]) { throw new Error(`Cannot delete system role: ${roleName}`); } @@ -399,8 +399,8 @@ export function createRoleMethods(mongoose: typeof import('mongoose'), deps: Rol updateRoleByName, updateAccessPermissions, migrateRoleSchema, - createRole, - deleteRole, + createRoleByName, + deleteRoleByName, listUsersByRole, }; }