using ApplicationLayer.Services.Users.Requests;
using Domains.Users;
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);
}