Table of Contents

Interface IPlatformAdminRepository

Namespace
KadicAuth.Application.PlatformAdmins.Abstractions
Assembly
KadicAuth.Application.dll

Persistence abstraction for PlatformAdmin membership. Lives here (Application) so handlers can depend on it without pulling in EF Core.

public interface IPlatformAdminRepository

Methods

AddAsync(PlatformAdmin, CancellationToken)

Task AddAsync(PlatformAdmin platformAdmin, CancellationToken cancellationToken = default)

Parameters

platformAdmin PlatformAdmin
cancellationToken CancellationToken

Returns

Task

AddAuditLogAsync(PlatformAdminAuditLogEntry, CancellationToken)

Task AddAuditLogAsync(PlatformAdminAuditLogEntry entry, CancellationToken cancellationToken = default)

Parameters

entry PlatformAdminAuditLogEntry
cancellationToken CancellationToken

Returns

Task

CountActiveAsync(CancellationToken)

Count of currently-active platform admins. Used by the controller to prevent a platform-admin from revoking themselves when they are the last one standing.

Task<int> CountActiveAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<int>

GetByUserIdAsync(Guid, CancellationToken)

Task<PlatformAdmin?> GetByUserIdAsync(Guid userId, CancellationToken cancellationToken = default)

Parameters

userId Guid
cancellationToken CancellationToken

Returns

Task<PlatformAdmin>

IsActiveAsync(Guid, CancellationToken)

Hot-path lookup: is the given user currently an ACTIVE platform admin? Must be a short, indexed query — it is invoked on every cross-tenant check in the patched handlers.

Task<bool> IsActiveAsync(Guid userId, CancellationToken cancellationToken = default)

Parameters

userId Guid
cancellationToken CancellationToken

Returns

Task<bool>

ListAsync(CancellationToken)

Task<IReadOnlyList<PlatformAdminDto>> ListAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<IReadOnlyList<PlatformAdminDto>>

SaveChangesAsync(CancellationToken)

Task SaveChangesAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task

UpdateAsync(PlatformAdmin, CancellationToken)

Task UpdateAsync(PlatformAdmin platformAdmin, CancellationToken cancellationToken = default)

Parameters

platformAdmin PlatformAdmin
cancellationToken CancellationToken

Returns

Task