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