feat: freeze v1 transport contracts (#4)
quality-gate / quality (push) Successful in 51s

Closes #4
This commit is contained in:
KyuubiYoru
2026-07-16 04:52:38 +02:00
parent e626b89909
commit 69c8b2d2bc
43 changed files with 3737 additions and 12 deletions
@@ -0,0 +1,47 @@
using System.Text.Json.Serialization;
namespace FinalFactory.Rendezvous.Contracts;
public sealed class SessionCapacity
{
[JsonRequired]
public int CurrentPlayers { get; set; }
[JsonRequired]
public int MaximumPlayers { get; set; }
}
public sealed class NetworkEndpoint
{
[JsonRequired]
public AddressFamilyKind AddressFamily { get; set; }
[JsonRequired]
public string Address { get; set; } = string.Empty;
[JsonRequired]
public int Port { get; set; }
}
public sealed class ApiError
{
[JsonRequired]
public int ContractVersion { get; set; } = ContractLimits.ContractVersion;
[JsonRequired]
public RendezvousErrorCode Code { get; set; }
[JsonRequired]
public string Message { get; set; } = string.Empty;
public string? CorrelationId { get; set; }
public int? RetryAfterSeconds { get; set; }
}
public sealed class HealthResponse
{
[JsonRequired]
public int ContractVersion { get; set; } = ContractLimits.ContractVersion;
[JsonRequired]
public string Status { get; set; } = string.Empty;
}