25 lines
935 B
Markdown
25 lines
935 B
Markdown
# Dominio Menu
|
|
|
|
## Propósito
|
|
|
|
Define menús disponibles y permite configurar su contenido para cada tenant y rol.
|
|
|
|
## Modelo
|
|
|
|
- `Menu`: definición global de una entrada de menú y su tipo de contenido.
|
|
- `TenantMenu`: configuración específica por tenant, incluyendo contenido estático cuando corresponde.
|
|
- `MenuRole`: asociación entre menú y rol autorizado.
|
|
|
|
## Servicios
|
|
|
|
`TenantMenuService::configure()` crea o actualiza atómicamente la configuración de un menú para un tenant. Solo conserva `static_content` cuando el menú fue definido como contenido estático.
|
|
|
|
## Endpoints
|
|
|
|
- Recurso REST `/menues` mediante `MenuController`.
|
|
- `POST /{tenant_code}/menues/{menu_code}` para configurar un menú del tenant.
|
|
|
|
## Dependencias y reglas
|
|
|
|
Depende de `Tenant` y `Authorization`. Los códigos de menú y tenant forman la identidad lógica de la configuración; el contenido enviado debe respetar el tipo definido por `Menu`.
|