using GB5Shared.DTO.Framework.Login; using SwDAL.DTO.ClientDatabaseKey; namespace SwBLL.ClientDatabaseKey; public interface IClientDatabaseKeyBLL { Task GetActiveByClientDb(int clientDbId, LoginDTO loginDTO, CancellationToken ct); /// Registers a new Active public key for a client database, first superseding /// whatever key currently sits Active for it (rotation, not overwrite — the superseded row /// is kept, never deleted). Task RegisterKeyAsync(int clientDbId, string publicKeyPem, LoginDTO loginDTO, CancellationToken ct); /// Marks a key Revoked outright (compromise/decommission) — distinct from the /// automatic Supersede that happens on rotation. Task RevokeAsync(int clientDatabaseKeyId, LoginDTO loginDTO, CancellationToken ct); }