using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; using RadicadeServer.RecNet.Enums.Players; namespace RadicadeServer.RecNet.Auth { public class PlayerData { [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] public long AccountId { get; set; } public string Email { get; set; } = ""; public bool EmailVerified { get; set; } [JsonIgnore] public string? EmailVerifyToken { get; set; } [JsonIgnore] public string? PendingEmail { get; set; } public string Phone { get; set; } = ""; public string AppVersion { get; set; } = ""; public long? Parent { get; set; } public int NameChanges { get; set; } = 3; public JuniorState JuniorState { get; set; } public bool IsJunior { get; set; } [JsonIgnore] public string Hashword { get; set; } = ""; [JsonIgnore] public int TokenVersion { get; set; } [JsonIgnore] public string? PasswordResetToken { get; set; } [JsonIgnore] public DateTime? PasswordResetExpires { get; set; } public DateTime? Birthday { get; set; } public bool CodeOfConductAccepted { get; set; } public StatusVisibility Visibility { get; set; } public DeviceClass DeviceClass { get; set; } public bool Developer { get; set; } [JsonIgnore] public string DeviceId { get; set; } = ""; [JsonIgnore] public string LastIpAddress { get; set; } = ""; } }