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; }
}
}