using WatchIt.Database.Model.Genders; using WatchIt.Database.Model.Media; using WatchIt.Database.Model.Roles; namespace WatchIt.Database.Model.Accounts; public class Account { #region PROPERTIES public long Id { get; set; } public string Username { get; set; } = default!; public string Email { get; set; } = default!; public byte[] Password { get; set; } = default!; public string LeftSalt { get; set; } = default!; public string RightSalt { get; set; } = default!; public bool IsAdmin { get; set; } = false; public DateTimeOffset JoinDate { get; set; } public DateTimeOffset ActiveDate { get; set; } public string? Description { get; set; } public short? GenderId { get; set; } public uint Version { get; set; } #endregion #region NAVIGATION // Profile picture public virtual AccountProfilePicture? ProfilePicture { get; set; } // Background picture public virtual AccountBackgroundPicture? BackgroundPicture { get; set; } // Refresh tokens public virtual IEnumerable RefreshTokens { get; set; } = new List(); // Follows public virtual IEnumerable FollowsRelationshipObjects { get; set; } = new List(); public virtual IEnumerable Follows { get; set; } = new List(); // Followers public virtual IEnumerable FollowersRelationshipObjects { get; set; } = new List(); public virtual IEnumerable Followers { get; set; } = new List(); // Gender public virtual Gender? Gender { get; set; } // Media ratings public virtual IEnumerable MediaRatings { get; set; } = new List(); public virtual IEnumerable MediaRated { get; set; } = new List(); // Roles ratings public virtual IEnumerable RolesRatings { get; set; } = new List(); public virtual IEnumerable RolesRated { get; set; } = new List(); #endregion }