X Enterprises
Composables

useXAdminRoles

Manages roles and permissions — updating permission sets, assigning or revoking roles on users, and checking whether a role holds a specific permission.

useXAdminRoles

Roles and permissions composable. Wraps /api/admin/roles/* endpoints with methods for updating a role's permission set, assigning or revoking roles from users, and a synchronous permission check helper. Pairs with XAdminRolesList, XAdminRolesEditor, XAdminRolesPermissionMatrix, and XAdminRolesAssignModal.

Usage

const roles = useXAdminRoles()

await roles.updatePermissions(roleId, ["perm1", "perm2"])
await roles.assignRole(userId, roleId)
await roles.revokeRole(userId, roleId)
roles.hasPermission(roleId, "users:delete")

Returns

KeyTypeDescription
updatePermissions(roleId: string, permissions: string[]) => Promise<void>Replaces the full permission set for a role.
assignRole(userId: string, roleId: string) => Promise<void>Grants a role to a user.
revokeRole(userId: string, roleId: string) => Promise<void>Removes a role from a user.
hasPermission(roleId: string, permission: string) => booleanSynchronously checks whether a role includes a given permission key.

AI Context

composable: useXAdminRoles
package: "@xenterprises/nuxt-x-app-admin"
use-when: >
  Managing role-based access control in the admin panel — editing permission
  matrices, assigning or revoking roles on user accounts, or checking permissions
  programmatically before rendering gated UI.
pairs-with: XAdminRolesList, XAdminRolesEditor, XAdminRolesPermissionMatrix, XAdminRolesAssignModal
Copyright © 2026