using Galaeth.Services.Dtos;
namespace Galaeth.Services.Interfaces;
///
/// Provide methods to authenticate new sessions.
///
public interface IAuthenticationService
{
///
/// Authenticate a user.
///
/// Instance of .
/// Instance of .
Task AuthenticateUser(AuthenticateUserDto request);
///
/// Authenticate a user with a refresh token.
///
/// Instance of .
/// Instance of .
Task AuthenticateUser(RefreshAuthenticationDto request);
///
/// Change user (requesting)'s password. Old password must be provided.
/// This action will remove all refresh tokens and generate a new token pair.
///
/// Instance of .
Task ChangeUserPassword(ChangePasswordDto request);
}