59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
namespace PlotLine.Models;
|
|
|
|
public sealed class AppUser
|
|
{
|
|
public int UserID { get; set; }
|
|
public string Email { get; set; } = string.Empty;
|
|
public string DisplayName { get; set; } = string.Empty;
|
|
public string PasswordHash { get; set; } = string.Empty;
|
|
public bool EmailConfirmed { get; set; }
|
|
public bool IsLocked { get; set; }
|
|
public int FailedLoginAttempts { get; set; }
|
|
public DateTime? LockoutEndUtc { get; set; }
|
|
public bool TwoFactorEnabled { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
public DateTime UpdatedUtc { get; set; }
|
|
public DateTime? LastLoginUtc { get; set; }
|
|
public Guid SecurityStamp { get; set; }
|
|
}
|
|
|
|
public sealed class UserEmailVerificationToken
|
|
{
|
|
public int TokenID { get; set; }
|
|
public int UserID { get; set; }
|
|
public Guid Token { get; set; }
|
|
public DateTime ExpiryUtc { get; set; }
|
|
public DateTime? UsedUtc { get; set; }
|
|
}
|
|
|
|
public sealed class UserPasswordResetToken
|
|
{
|
|
public int TokenID { get; set; }
|
|
public int UserID { get; set; }
|
|
public Guid Token { get; set; }
|
|
public DateTime ExpiryUtc { get; set; }
|
|
public DateTime? UsedUtc { get; set; }
|
|
}
|
|
|
|
public sealed class UserTwoFactor
|
|
{
|
|
public int UserID { get; set; }
|
|
public string SecretKey { get; set; } = string.Empty;
|
|
public string? RecoveryCodes { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
public DateTime? ConfirmedUtc { get; set; }
|
|
public long? LastUsedTimeStep { get; set; }
|
|
}
|
|
|
|
public sealed class UserLoginAudit
|
|
{
|
|
public long AuditID { get; set; }
|
|
public int? UserID { get; set; }
|
|
public string? EmailAttempted { get; set; }
|
|
public string? IpAddress { get; set; }
|
|
public string? UserAgent { get; set; }
|
|
public bool WasSuccessful { get; set; }
|
|
public string? Reason { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
}
|