109 lines
2.5 KiB
C#
109 lines
2.5 KiB
C#
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
|
|
|
|
/// <summary>
|
|
/// Result of a login attempt.
|
|
/// </summary>
|
|
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; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Result of a registration attempt.
|
|
/// </summary>
|
|
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; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Result of email verification.
|
|
/// </summary>
|
|
public class VerifyEmailResult
|
|
{
|
|
public bool Success { get; set; }
|
|
public string? Error { get; set; }
|
|
public string? Message { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Result of password reset.
|
|
/// </summary>
|
|
public class ResetPasswordResult
|
|
{
|
|
public bool Success { get; set; }
|
|
public string? Error { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// User profile information.
|
|
/// </summary>
|
|
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
|