namespace JobTrackerApi.Models; // One-time-use 2FA recovery codes. Plaintext is shown once at generation time and never // persisted -- only the SHA-256 hash is stored so a DB read can't recover usable codes. public sealed class TwoFactorRecoveryCode { public int Id { get; set; } public string UserId { get; set; } = ""; public string CodeHash { get; set; } = ""; public DateTimeOffset CreatedAtUtc { get; set; } public DateTimeOffset? UsedAtUtc { get; set; } }