namespace Features.Auth.Dtos;
///
/// Payload returned to the client after a successful login or token refresh.
///
/// The unique identifier of the authenticated user account.
/// The username of the authenticated user account.
/// The newly issued refresh token used to obtain new access tokens.
/// The newly issued JWT access token used to authorize subsequent requests.
public record LoginPayload(
Guid UserAccountId,
string Username,
string RefreshToken,
string AccessToken
);
///
/// Payload returned to the client after a successful registration.
///
/// The unique identifier of the newly created user account.
/// The username of the newly created user account.
/// The refresh token issued for the new account.
/// The JWT access token issued for the new account.
/// Whether a confirmation email was successfully sent to the new user.
public record RegistrationPayload(
Guid UserAccountId,
string Username,
string RefreshToken,
string AccessToken,
bool ConfirmationEmailSent
);
///
/// Payload returned to the client after a user account's email has been confirmed.
///
/// The unique identifier of the user account that was confirmed.
/// The date and time at which the account was confirmed.
public record ConfirmationPayload(Guid UserAccountId, DateTime ConfirmedDate);