using DbController; namespace Tabletop.Core.Models { public sealed class User : IDbModel { [CompareField("user_id")] public int UserId { get; set; } [CompareField("username")] public string Username { get; set; } = string.Empty; [CompareField("display_name")] public string DisplayName { get; set; } = string.Empty; [CompareField("description")] public string Description { get; set; } = string.Empty; [CompareField("main_fraction_id")] public int MainFractionId { get; set; } [CompareField("password")] public string Password { get; set; } = string.Empty; [CompareField("salt")] public string Salt { get; set; } = string.Empty; [CompareField("last_login")] public DateTime LastLogin { get; set; } [CompareField("registration_date")] public DateTime RegistrationDate { get; set; } [CompareField("image")] public byte[]? Image { get; set; } public string ConvertedImage { get; set; } = string.Empty; public List Permissions { get; set; } = []; public List Units { get; set; } = []; public int? GetIdentifier() { return UserId > 0 ? UserId : null; } public Dictionary GetParameters() { return new Dictionary { { "USER_ID", UserId }, { "USERNAME", Username }, { "DISPLAY_NAME", DisplayName }, { "DESCRIPTION", Description }, { "MAIN_FRACTION_ID", MainFractionId }, { "PASSWORD", Password }, { "SALT", Salt }, { "LAST_LOGIN", LastLogin }, { "REGISTRATION_DATE", RegistrationDate }, { "IMAGE", Image } }; } } }