Namespace KadicAuth.Application.Catalog.Abstractions
Classes
- CatalogDependencyItem
Un elemento que impide desactivar algo del catalogo.
- ModuleDependencies
Lo que impide desactivar un modulo.
- PermissionDependencies
Lo que impide desactivar o borrar un permiso.
- SubModuleDependencies
Lo que impide desactivar un submodulo.
Interfaces
- ICatalogDependencyService
Responde "que se rompe si desactivo esto" para los tres niveles del catalogo de Auth.
Antes de esto no existia ninguna comprobacion: desactivar un modulo no miraba sus submodulos ni los tenants que lo tenian contratado, y los dejaba activos colgando de algo inactivo.
Se usa en dos sitios y por eso devuelve el detalle en vez de un booleano: las guardas de los handlers (que construyen el 409) y los endpoints
GET .../dependencies, que permiten a la UI avisar antes de que el usuario pulse.Importante: todas las consultas ignoran los filtros globales de tenant. `AuthDbContext` aplica un filtro por `TenantId` a toda entidad que tenga esa propiedad, lo que incluye TenantModules, TenantSubModules y TenantRoles. Sin `IgnoreQueryFilters()` un PlatformAdmin solo veria las dependencias de SU tenant y la guarda diria "sin dependencias" en falso, que es justo el fallo que viene a evitar.