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; }
}