44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace FutureMailAPI.Models
|
|
{
|
|
public class OAuthToken
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
[MaxLength(255)]
|
|
public string AccessToken { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[MaxLength(255)]
|
|
public string RefreshToken { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
public string TokenType { get; set; } = "Bearer";
|
|
|
|
public DateTime ExpiresAt { get; set; }
|
|
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
public DateTime? UpdatedAt { get; set; }
|
|
|
|
public DateTime? RevokedAt { get; set; }
|
|
|
|
public string? Scope { get; set; }
|
|
|
|
// 外键
|
|
public int UserId { get; set; }
|
|
|
|
public int ClientId { get; set; }
|
|
|
|
// 导航属性
|
|
[ForeignKey("UserId")]
|
|
public virtual User User { get; set; } = null!;
|
|
|
|
[ForeignKey("ClientId")]
|
|
public virtual OAuthClient Client { get; set; } = null!;
|
|
}
|
|
} |