using ApplicationLayer.Services.Applicants.Models; using ApplicationLayer.Services.Users.Models; using ApplicationLayer.Services.Users.Requests; namespace ApplicationLayer.Services.Users; /// user accounts service public interface IUsersService { /// Returns all user accounts with role of approving authority /// Cancellation token Task> GetAuthoritiesAccountsAsync(CancellationToken cancellationToken); /// Changes authentication data for an authority account /// Request object with identifier of user and new authentication data /// Cancellation token Task ChangeAuthorityAuthDataAsync(ChangeUserAuthDataRequest request, CancellationToken cancellationToken); /// Removes account of authority /// Identifier of account /// Cancellation token Task RemoveAuthorityAccount(Guid userId, CancellationToken cancellationToken); /// Get applicant that made request /// cancellation token Task GetAuthenticatedApplicant(CancellationToken cancellationToken); }