using Thalos.DAL.Contracts; namespace Thalos.DAL.Repositories; /// /// Defines aggregate repository boundary for identity persistence operations. /// public interface IIdentityRepository { /// /// Reads token issuance record data for a subject and tenant scope. /// /// Token lookup request contract. /// Cancellation token. /// Token record when found; otherwise null. Task ReadIdentityTokenAsync( IdentityTokenLookupRequest request, CancellationToken cancellationToken = default); /// /// Reads policy context data required for authorization checks. /// /// Policy lookup request contract. /// Cancellation token. /// Policy record when found; otherwise null. Task ReadIdentityPolicyAsync( IdentityPolicyLookupRequest request, CancellationToken cancellationToken = default); /// /// Reads permission set data for subject and tenant scope. /// /// Permission set lookup request contract. /// Cancellation token. /// Permission records for the requested scope. Task> ReadPermissionSetAsync( IdentityPermissionSetLookupRequest request, CancellationToken cancellationToken = default); }