using System.Text.Json.Serialization;
namespace NeonSprawl.Server.Game.Mastery;
/// POST body for POST /game/players/{{id}}/__dev/mastery-fixture (NEO-48 Bruno/manual QA).
public sealed class MasteryFixtureRequest
{
public const int CurrentSchemaVersion = 1;
[JsonPropertyName("schemaVersion")]
public int SchemaVersion { get; init; }
/// When true, clears all branch picks and unlocked perks for the player.
[JsonPropertyName("resetPerkState")]
public bool ResetPerkState { get; init; }
/// Absolute XP totals to set per skillId (omitted skills unchanged).
[JsonPropertyName("skillXp")]
public Dictionary? SkillXp { get; init; }
}
public sealed class MasteryFixtureResponse
{
public const int CurrentSchemaVersion = 1;
[JsonPropertyName("schemaVersion")]
public int SchemaVersion { get; init; } = CurrentSchemaVersion;
[JsonPropertyName("applied")]
public bool Applied { get; init; }
}