Table of Contents

Class CatalogDependencyService

Namespace
KadicAuth.Infrastructure.Services
Assembly
KadicAuth.Infrastructure.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 sealed class CatalogDependencyService : ICatalogDependencyService
Inheritance
object
CatalogDependencyService
Implements

Constructors

CatalogDependencyService(AuthDbContext)

public CatalogDependencyService(AuthDbContext context)

Parameters

context AuthDbContext

Methods

GetModuleDependenciesAsync(Guid, CancellationToken)

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

Parameters

moduleId Guid
cancellationToken CancellationToken

Returns

Task<ModuleDependencies>

GetPermissionDependenciesAsync(Guid, CancellationToken)

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

Parameters

permissionId Guid
cancellationToken CancellationToken

Returns

Task<PermissionDependencies>

GetSubModuleDependenciesAsync(Guid, CancellationToken)

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

Parameters

subModuleId Guid
cancellationToken CancellationToken

Returns

Task<SubModuleDependencies>