neon-sprawl/server/NeonSprawl.Server/Game/Quests/QuestAcceptDtos.cs

33 lines
1016 B
C#

using System.Text.Json.Serialization;
namespace NeonSprawl.Server.Game.Quests;
/// <summary>Optional POST body for <c>POST /game/players/{{id}}/quests/{{questId}}/accept</c> (NEO-120).</summary>
public sealed class QuestAcceptRequest
{
public const int CurrentSchemaVersion = 1;
[JsonPropertyName("schemaVersion")]
public int SchemaVersion { get; init; }
}
/// <summary>POST response for quest accept (NEO-120).</summary>
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; }
}