namespace IronServices.Client; #region API Response DTOs internal class LoginResponse { public string? UserId { get; set; } public string? Email { get; set; } public string? DisplayName { get; set; } public bool EmailVerified { get; set; } public string? SubscriptionTier { get; set; } public string? Role { get; set; } public string? SessionToken { get; set; } public DateTime? ExpiresAt { get; set; } } internal class RegisterResponse { public UserInfo? User { get; set; } public string? ApiKey { get; set; } } internal class UserInfo { public string? Id { get; set; } public string? TenantId { get; set; } public string? Email { get; set; } public string? DisplayName { get; set; } public bool EmailVerified { get; set; } public string? Role { get; set; } } internal class VerifyEmailResponse { public string? Message { get; set; } public string? SessionToken { get; set; } public UserInfo? User { get; set; } } internal class ErrorResponse { public string? Error { get; set; } } #endregion #region Public Result Types /// /// Result of a login attempt. /// public class LoginResult { public bool Success { get; set; } public string? Error { get; set; } public string? UserId { get; set; } public string? Email { get; set; } public string? DisplayName { get; set; } public string? Role { get; set; } public DateTime? ExpiresAt { get; set; } } /// /// Result of a registration attempt. /// public class RegisterResult { public bool Success { get; set; } public string? Error { get; set; } public string? UserId { get; set; } public string? Email { get; set; } public string? ApiKey { get; set; } } /// /// Result of email verification. /// public class VerifyEmailResult { public bool Success { get; set; } public string? Error { get; set; } public string? Message { get; set; } } /// /// Result of password reset. /// public class ResetPasswordResult { public bool Success { get; set; } public string? Error { get; set; } } /// /// User profile information. /// public class UserProfile { public string? UserId { get; set; } public string? Email { get; set; } public string? DisplayName { get; set; } public bool EmailVerified { get; set; } public string? Role { get; set; } public string? SubscriptionPlan { get; set; } public DateTime? CreatedAt { get; set; } } #endregion