using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models.Security; namespace PostFundManagement.Domain.Abstractions; public interface ISkorubaUserService { [Log] [Audit] Task> CreateUserAsync(CreateUserRequest request, CancellationToken cancellationToken = default); [Log] Task> GetUserAsync(string userId, CancellationToken cancellationToken = default); [Log] [Audit] Task UpdateUserAsync(UpdateUserRequest request, CancellationToken cancellationToken = default); [Log] [Audit] Task SetUserLockoutAsync(string userId, bool disabled, CancellationToken cancellationToken = default); [Log] [Audit] Task AddClaimAsync(string userId, string claimType, string claimValue, CancellationToken cancellationToken = default); [Log] [Audit] Task RemoveClaimAsync(string userId, int claimId, CancellationToken cancellationToken = default); }