# Dominio Authorization

## Propósito

Define el esquema de roles y permisos usado para autorizar funcionalidades de la aplicación.

## Componentes principales

- `Enums/RoleCode.php`: códigos de roles conocidos por el sistema.
- `Models/Role.php`: rol con relaciones hacia permisos, usuarios y menús.
- `Models/Permission.php`: permiso asignable a uno o más roles.
- `Models/RolePermission.php`: entidad de asociación entre rol y permiso.

## API

No expone controladores ni rutas propias. Su información se consume desde autenticación, menús, políticas y middleware de autorización.

## Relaciones relevantes

- `Role` tiene muchos usuarios del dominio `Auth`.
- Roles y permisos mantienen una relación muchos-a-muchos.
- Los roles determinan los menús disponibles mediante el dominio `Menu`.

## Consideraciones

Los códigos definidos en `RoleCode` funcionan como contrato entre datos persistidos y lógica de aplicación. Al agregar un rol o permiso se deben revisar seeds, asociaciones y consumidores.
