namespace SeaHaven.Services.DTOs { public class LoginResultDTO { public string Token { get; set; } = string.Empty; public DateTime Expiration { get; set; } public string? Email { get; set; } public string? UserRole { get; set; } public string? PhoneNumber { get; set; } public string Fullname { get; set; } = string.Empty; public string Id { get; set; } = string.Empty; } public enum ChangePasswordStatus { Succeeded, CurrentPasswordIncorrect, PasswordRejected, /// Identity failed for a reason other than the password policy. Failed } public sealed class ChangePasswordResultDTO { public ChangePasswordStatus Status { get; init; } } public class UpdateProfileRequestDTO { public string? Name { get; set; } public string? Email { get; set; } public string? Contact { get; set; } } public class UserProfileDTO { public string? FirstName { get; set; } public string? Email { get; set; } public string? Contact { get; set; } } public class AddUserRequestDTO { public string? Name { get; set; } public string? Email { get; set; } public string? Contact { get; set; } public string? Role { get; set; } public int? AccountId { get; set; } } public class AddUserOutcomeDTO { public bool Success { get; set; } public string? Error { get; set; } } public class EditUserRequestDTO { public string? Id { get; set; } public string? Name { get; set; } public string? Email { get; set; } public string? Role { get; set; } public int? AccountId { get; set; } } public class UserListRowDTO { public string? RoleName { get; set; } public string? Email { get; set; } public string? Name { get; set; } public string Date { get; set; } = string.Empty; public string? Status { get; set; } public string? Id { get; set; } public string? Phone { get; set; } public string? Color { get; set; } public bool? PendingRegistration { get; set; } public IReadOnlyList ServiceAreas { get; set; } = Array.Empty(); } public class UserProfileRowDTO { public string? Id { get; set; } public string? Name { get; set; } public DateTime? AddedDate { get; set; } public string? Email { get; set; } public string? Contact { get; set; } } }