shoc-backend/SeaHaven.Services/DTOs/IdentityDTOs.cs

88 lines
2.6 KiB
C#

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,
/// <summary>Identity failed for a reason other than the password policy.</summary>
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<string> ServiceAreas { get; set; } = Array.Empty<string>();
}
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; }
}
}