using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson; namespace UGQDatabase.Models; public class AccountEntity { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; } = null!; public string UserGuid { get; set; } = null!; public string Nickname { get; set; } = null!; public string? AccountId { get; set; } // TODO: not null public string? RefreshToken { get; set; } public DateTime? RefreshTokenExpiryTime { get; set; } public int AdditionalSlotCount { get; set; } public int? SlotCountVersion { get; set; } [BsonRepresentation(BsonType.String)] public UgqGradeType GradeType { get; set; } = UgqGradeType.Amature; public double CreatorPoint { get; set; } = 0; public int? CreatorPointVersion { get; set; } [BsonRequired] public DateTime CreatedAt { get; set; } [BsonRequired] public DateTime UpdatedAt { get; set; } }