31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# Dominio Tenant
|
|
|
|
## Propósito
|
|
|
|
Es la raíz del modelo multi-tenant. Gestiona organizaciones/sitios, tipos de web, redes sociales, logos y extras configurables por sitio.
|
|
|
|
## Modelo
|
|
|
|
- `Tenant`: entidad principal, resuelta en rutas por `codigo`; relaciona catálogo, fechas, redes, menús y configuración visual.
|
|
- `WebsiteType`: plantilla o tipo de sitio disponible.
|
|
- `WebsiteTypeExtra`: definición de un extra y su configuración admitida.
|
|
- `WebsiteExtra`: valor resuelto y estado del extra para un tenant.
|
|
- `SocialMedia`: catálogo de redes sociales asociables.
|
|
|
|
## Servicios
|
|
|
|
- `TenantService`: crea y actualiza tenants, incluyendo sus recursos asociados.
|
|
- `TenantInformationService`: carga un tenant y las relaciones requeridas por cada contexto.
|
|
- `WebsiteTypeService`: crea o actualiza tipos de sitio.
|
|
- `WebsiteExtraService`: construye reglas dinámicas, crea, actualiza y habilita/deshabilita extras.
|
|
- `TenantDomainNormalizer`: normaliza dominios antes de resolver el tenant.
|
|
|
|
## Endpoints
|
|
|
|
- Recurso REST público/administrativo `/tenants`.
|
|
- Bajo `/v1/adminapp/tenant/website-extras`, con autenticación y contexto de tenant: consulta general, detalle, actualización y activación/desactivación.
|
|
|
|
## Dependencias y reglas
|
|
|
|
Usa `Attachable` para logos y archivos. Es referenciado por casi todos los dominios para aislamiento. El `codigo` es clave de ruta y clave foránea heredada; no debe sustituirse por `id` sin una migración integral.
|