using System; using System.Collections.Generic; using Postgrest.Attributes; using Postgrest.Models; namespace Game.Data { [Table("players")] public class PlayerRecord : BaseModel { [PrimaryKey("wallet_address", false)] [Column("wallet_address")] public string WalletAddress { get; set; } [Column("display_name")] public string DisplayName { get; set; } [Column("total_kills")] public int TotalKills { get; set; } [Column("in_game_currency")] public long InGameCurrency { get; set; } [Column("purchased_items")] public Dictionary PurchasedItems { get; set; } = new(); // server-computed or trigger-updated fields (read-only from client) [Column("average_placement")] public decimal AveragePlacement { get; set; } [Column("win_percentage")] public decimal WinPercentage { get; set; } [Column("games_played")] public int GamesPlayed { get; set; } [Column("games_won")] public int GamesWon { get; set; } [Column("updated_at")] public DateTimeOffset? UpdatedAt { get; set; } } }