add users documents

This commit is contained in:
2023-05-23 22:08:56 +08:00
parent c8bf017a70
commit 589940adc2
16 changed files with 987 additions and 72 deletions

View File

@ -1,32 +1,93 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace Blahblah.FlowerStory.Server.Data.Model;
/// <summary>
/// 用户对象
/// </summary>
[Table("users")]
public class UserItem
{
[Column("uid"), Key, Required]
/// <summary>
/// 自增 id主键
/// </summary>
[Column("uid")]
[Key]
[Required]
public int Id { get; set; }
[Column("id"), Required]
/// <summary>
/// 用户 id
/// </summary>
[Column("id")]
[Required]
public required string UserId { get; set; }
[Column("password"), Required]
public required string Password { get; set; }
[Column("level"), Required]
/// <summary>
/// 密码,值为 SHA256(password+id+salt)
/// </summary>
[Column("password")]
[Required]
[JsonIgnore]
public string? Password { get; set; }
/// <summary>
/// 用户级别
/// -1: Disabled
/// 0: Common
/// 99: Admin
/// </summary>
[Column("level")]
[Required]
public int Level { get; set; }
[Column("regdate"), Required]
/// <summary>
/// 注册时间
/// </summary>
[Column("regdate")]
[Required]
[JsonPropertyName("registerDate")]
public long RegisterDateUnixTime { get; set; }
/// <summary>
/// 最后变动时间
/// </summary>
[Column("activedate")]
[JsonIgnore]
public long? ActiveDateUnixTime { get; set; }
[Column("name"), Required]
/// <summary>
/// 用户名
/// </summary>
[Column("name")]
[Required]
public required string Name { get; set; }
/// <summary>
/// 邮箱
/// </summary>
[Column("email")]
public string? Email { get; set; }
/// <summary>
/// 联系电话
/// </summary>
[Column("mobile")]
public string? Mobile { get; set; }
/// <summary>
/// 注册时间
/// </summary>
[NotMapped]
[JsonIgnore]
public DateTimeOffset RegisterDate => DateTimeOffset.FromUnixTimeMilliseconds(RegisterDateUnixTime);
/// <summary>
/// 最后变动时间
/// </summary>
[NotMapped]
[JsonIgnore]
public DateTimeOffset? ActiveDate => ActiveDateUnixTime == null ? null : DateTimeOffset.FromUnixTimeMilliseconds(ActiveDateUnixTime.Value);
}