namespace ChessCubing.Server.Users; public sealed class UserProfileResponse { public string Subject { get; init; } = string.Empty; public string Username { get; init; } = string.Empty; public string? Email { get; init; } public string DisplayName { get; init; } = string.Empty; public string? Club { get; init; } public string? City { get; init; } public string? PreferredFormat { get; init; } public string? FavoriteCube { get; init; } public string? Bio { get; init; } public DateTime CreatedUtc { get; init; } public DateTime UpdatedUtc { get; init; } } public sealed class UpdateUserProfileRequest { public string? DisplayName { get; init; } public string? Club { get; init; } public string? City { get; init; } public string? PreferredFormat { get; init; } public string? FavoriteCube { get; init; } public string? Bio { get; init; } } public sealed class UserProfileValidationException(string message) : Exception(message);