using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Abp; using Abp.Domain.Entities; namespace VberZero.BaseSystem.Users; [Table("Sys_UserTokens")] public class UserToken : Entity, IMayHaveTenant { public const int MaxLoginProviderLength = 128; public const int MaxNameLength = 128; public const int MaxValueLength = 512; public virtual int? TenantId { get; set; } public virtual long UserId { get; set; } /// /// Token 的登陆程序 /// [StringLength(MaxLoginProviderLength)] public virtual string LoginProvider { get; set; } /// /// Token 名称 /// [StringLength(MaxNameLength)] public virtual string Name { get; set; } /// /// Token 值 /// [StringLength(MaxValueLength)] public virtual string? Value { get; set; } /// /// 到期日期 /// public virtual DateTime? ExpireDate { get; set; } protected UserToken() { } protected internal UserToken(User user, string loginProvider, string name, string? value, DateTime? expireDate = null) { Check.NotNull(loginProvider, nameof(loginProvider)); Check.NotNull(name, nameof(name)); TenantId = user.TenantId; UserId = user.Id; LoginProvider = loginProvider; Name = name; Value = value; ExpireDate = expireDate; } }