Table of Contents

Interface ICatalogDependencyService

Namespace
KadicAuth.Application.Catalog.Abstractions
Assembly
KadicAuth.Application.dll

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.

public interface ICatalogDependencyService

Methods

GetModuleDependenciesAsync(Guid, CancellationToken)

Task<ModuleDependencies> GetModuleDependenciesAsync(Guid moduleId, CancellationToken cancellationToken = default)

Parameters

moduleId Guid
cancellationToken CancellationToken

Returns

Task<ModuleDependencies>

GetPermissionDependenciesAsync(Guid, CancellationToken)

Task<PermissionDependencies> GetPermissionDependenciesAsync(Guid permissionId, CancellationToken cancellationToken = default)

Parameters

permissionId Guid
cancellationToken CancellationToken

Returns

Task<PermissionDependencies>

GetSubModuleDependenciesAsync(Guid, CancellationToken)

Task<SubModuleDependencies> GetSubModuleDependenciesAsync(Guid subModuleId, CancellationToken cancellationToken = default)

Parameters

subModuleId Guid
cancellationToken CancellationToken

Returns

Task<SubModuleDependencies>