Files
shopit-back/app/Domains/Tenant/documentacion

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.