using System.Text.Json.Serialization; namespace NeonSprawl.Server.Game.Quests; /// Optional POST body for POST /game/players/{{id}}/quests/{{questId}}/accept (NEO-120). public sealed class QuestAcceptRequest { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } } /// POST response for quest accept (NEO-120). public sealed class QuestAcceptResponse { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } = CurrentSchemaVersion; [JsonPropertyName("accepted")] public bool Accepted { get; init; } [JsonPropertyName("reasonCode")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? ReasonCode { get; init; } [JsonPropertyName("quest")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public QuestProgressRowJson? Quest { get; init; } }