using System.Text.Json.Serialization; namespace NeonSprawl.Server.Game.Gigs; /// JSON body for GET /game/players/{{id}}/gig-progression (NEO-44). public sealed class GigProgressionSnapshotResponse { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } = CurrentSchemaVersion; [JsonPropertyName("playerId")] public required string PlayerId { get; init; } /// Prototype main gig until loadout/hub swap lands. [JsonPropertyName("mainGigId")] public required string MainGigId { get; init; } [JsonPropertyName("gigs")] public required IReadOnlyList Gigs { get; init; } } /// XP and level for one gig row in the prototype snapshot. public sealed class GigProgressionRowJson { [JsonPropertyName("id")] public required string Id { get; init; } [JsonPropertyName("xp")] public int Xp { get; init; } [JsonPropertyName("level")] public int Level { get; init; } }