mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-12-22 21:07:21 -05:00
Co-authored-by: Amelia <77553571+Fesaa@users.noreply.github.com> Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
37 lines
1.0 KiB
C#
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? LastAccessedAt { 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; }
|
|
}
|