21 lines
753 B
C#
21 lines
753 B
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace NeonSprawl.Server.Game.Interaction;
|
|
|
|
/// <summary>POST body for <c>POST /game/players/{{id}}/interact</c> (NS-18).</summary>
|
|
/// <remarks>
|
|
/// <c>interactableId</c> is trimmed; empty after trim → HTTP 400. Lookup is case-insensitive against lowercase registry keys.
|
|
/// </remarks>
|
|
public sealed class InteractionRequest
|
|
{
|
|
public const int CurrentSchemaVersion = 1;
|
|
|
|
/// <summary>Must be <see cref="CurrentSchemaVersion"/> for v1.</summary>
|
|
[JsonPropertyName("schemaVersion")]
|
|
public int SchemaVersion { get; init; }
|
|
|
|
/// <summary>Registry key after trim + case-insensitive match.</summary>
|
|
[JsonPropertyName("interactableId")]
|
|
public string? InteractableId { get; init; }
|
|
}
|