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;
///
/// 发布时间
///
public DateTime IssuedTime { get; set; } = DateTime.UtcNow;
///
/// 到期时间
///
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;
}
}