The UserRole type
Roles are defined as a TypeScript union type in the shared auth model:
rol field is returned on the AuthUser object after a successful login:
The four roles
ADMIN
Full access to the entire admin panel. Can manage users, view all tickets, perform any ticket action, and access the Dashboard. This role is intended for system administrators.
MESA
Help desk agents who handle incoming tickets. Can access the Dashboard, the full tickets list, and individual ticket detail pages. Can assign tickets and update their status.
AREA
Area-specific agents. Can view and work on tickets assigned to their area. The
area field on their AuthUser object determines which tickets are visible to them.USUARIO
Standard users with limited access. Intended for end users who submit tickets rather than agents who resolve them.
Permissions by role
| Feature | ADMIN | MESA | AREA | USUARIO |
|---|---|---|---|---|
| Dashboard | ✓ | ✓ | — | — |
| Tickets list | ✓ | ✓ | ✓ | — |
| Ticket detail | ✓ | ✓ | ✓ | — |
| Assign / update tickets | ✓ | ✓ | ✓ | — |
| Users management | ✓ | — | — | — |
| All ticket actions | ✓ | — | — | — |
The area field
Users with the AREA role have an optional area property on their AuthUser object:
ADMIN or MESA roles are not restricted in this way and can see all tickets regardless of area.
How roles are assigned
The role is set on theAuthUser object returned by the login API:
localStorage under the key admin_user and reads it when determining what to display for the current session.
Changing a user’s role
Only users with theADMIN role can change another user’s role. You do this through the Users management section of the admin panel.