mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-07-16 17:47:22 +00:00
39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
namespace Domain.Entities;
|
|
|
|
/// <summary>
|
|
/// Represents an issued authentication credential (refresh token) for a <see cref="UserAccount"/>.
|
|
/// Maps to the <c>UserCredential</c> table. Credentials are deleted automatically when the owning user account is deleted.
|
|
/// </summary>
|
|
public class UserCredential
|
|
{
|
|
/// <summary>
|
|
/// Primary key identifying this credential. Maps to <c>UserCredentialID</c>.
|
|
/// </summary>
|
|
public Guid UserCredentialId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Foreign key referencing the owning <see cref="UserAccount"/>. Maps to <c>UserAccountID</c>.
|
|
/// </summary>
|
|
public Guid UserAccountId { get; set; }
|
|
|
|
/// <summary>
|
|
/// The date and time the credential was issued.
|
|
/// </summary>
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// The date and time after which the credential is no longer valid.
|
|
/// </summary>
|
|
public DateTime Expiry { get; set; }
|
|
|
|
/// <summary>
|
|
/// The Argon2 hash of the credential's secret value. The plaintext secret is never persisted.
|
|
/// </summary>
|
|
public string Hash { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// SQL Server <c>ROWVERSION</c> concurrency token used to detect concurrent updates. <c>null</c> until the row has been read from the database.
|
|
/// </summary>
|
|
public byte[]? Timer { get; set; }
|
|
}
|