using Features.Auth.Dtos;
using MediatR;
namespace Features.Auth.Commands.RegisterUser;
///
/// Registers a new user account. Bound directly from the request body of POST /api/auth/register.
///
/// The desired username; must be 3-64 characters and contain only letters, numbers, dots, underscores, and hyphens.
/// The user's first name; up to 128 characters.
/// The user's last name; up to 128 characters.
/// The user's email address; up to 128 characters and must be a valid email format.
/// The user's date of birth; the user must be at least 19 years old.
/// The desired plaintext password; must be at least 8 characters and contain an uppercase letter, a lowercase letter, a number, and a special character.
public record RegisterUserCommand(
string Username,
string FirstName,
string LastName,
string Email,
DateTime DateOfBirth,
string Password
) : IRequest;