using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Atomx.Common.Entities { /// /// 刷新TOKEN /// [Table("RefreshTokens")] public class RefreshToken { /// /// 数据ID /// [DatabaseGenerated(DatabaseGeneratedOption.None)] [Key] public string Id { get; set; } = Guid.NewGuid().ToString(); /// /// 用户ID /// public long UserId { get; set; } /// /// Token 信息 /// [Column(TypeName = "varchar(500)")] public string Token { get; set; } = string.Empty; /// /// 发布时间 /// [Column(TypeName = "timestamptz")] public DateTime IssuedTime { get; set; } = DateTime.UtcNow; /// /// 到期时间 /// [Column(TypeName = "timestamptz")] public DateTime ExpiresTime { get; set; } /// /// 是否回收 /// public bool IsRevoked { get; set; } /// /// 回收时间 /// [Column(TypeName = "timestamptz")] public DateTime? RevokedTime { get; set; } /// /// 用户IP /// [Column(TypeName = "varchar(50)")] public string Ip { get; set; } = string.Empty; /// /// 用户系统代理信息 /// [Column(TypeName = "varchar(500)")] public string UserAgent { get; set; } = string.Empty; } }