using Domain.Entities;
namespace Service.Auth;
///
/// Represents the result of a successful login attempt.
///
/// The authenticated user's account.
/// The issued refresh token.
/// The issued access token.
public record LoginServiceReturn(
UserAccount UserAccount,
string RefreshToken,
string AccessToken
);
///
/// Defines the operation for authenticating a user with a username and password.
///
public interface ILoginService
{
///
/// Authenticates a user using their username and password and issues new tokens.
///
/// The username of the account to authenticate.
/// The plain-text password to verify against the stored credential.
/// A containing the authenticated user and issued tokens.
Task LoginAsync(string username, string password);
}