using eprintServer.Enums; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace eprintServer.Entities; public class User { [Column("user_id")] public long Id { get; set; } [JsonIgnore] [Column("user_name")] public string Username { get; set; } [Column("email")] public string Email { get; set; } [JsonIgnore] [Column("password")] public string Password { get; set; } [Column("name")] public string Name { get; set; } = ""; [Column("gender")] public Gendre? Gendre { get; set; } [Column("phone_number")] public string? PhoneNumber { get; set; } [Column("office_role")] public string? OfficeRole { get; set; } [Column("city")] public string? City { get; set; } [Column("country")] public string? Country { get; set; } [Column("active")] public bool Active { get; set; } = true; [Column("deleted")] public bool Deleted { get; set; } = false; [Column("role")] public RoleEnum Role { get; set; } [JsonIgnore] public UserDevice? Device { get; set; } [Column("otp")] public string? LastOtp { get; set; } [Column("provider")] public Provider Provider { get; set; } = Provider.IDE; [Column("timestmp")] public DateTime Timestamp { get; set; } = DateTime.UtcNow; public FileModel? Image { get; set; } [Column("sub_admin_privileges")] public List SubAdminsPrivilegesList { get; set; } = new List(); [JsonIgnore] public ICollection Orders { get; set; } = new List(); [JsonIgnore] public ICollection Invoices { get; set; } = new List(); }