Kavita/API/Entities/User/AppUserAuthKey.cs
Joe Milazzo dec65b9262
More Polish (#4336)
Co-authored-by: Amelia <77553571+Fesaa@users.noreply.github.com>
2026-01-10 09:06:52 -08:00

37 lines
1.0 KiB
C#

using System;
using API.Entities.Enums.User;
using Microsoft.EntityFrameworkCore;
namespace API.Entities.User;
[Index(nameof(Key), IsUnique = true)]
[Index(nameof(ExpiresAtUtc), IsUnique = false)]
public class AppUserAuthKey
{
public int Id { get; set; }
/// <summary>
/// Actual key
/// </summary>
/// <remarks>This is a variable string length from [6-32] alphanumeric characters</remarks>
public required string Key { get; set; }
/// <summary>
/// Name of the key
/// </summary>
public required string Name { get; set; }
public DateTime CreatedAtUtc { get; set; }
/// <summary>
/// An Optional time which the Key expires
/// </summary>
public DateTime? ExpiresAtUtc { get; set; }
public DateTime? LastAccessedAtUtc { get; set; }
/// <summary>
/// Kavita will have a short-lived key
/// </summary>
public AuthKeyProvider Provider { get; set; } = AuthKeyProvider.User;
public int AppUserId { get; set; }
public virtual AppUser AppUser { get; set; }
}