namespace FinalFactory.Rendezvous.Server.Operations; internal sealed record OperatorStatusResponse { public required string Status { get; init; } public required OperatorReadinessResponse Readiness { get; init; } public required OperatorStoreResponse Store { get; init; } public required IReadOnlyList Tenants { get; init; } public required IReadOnlyList SigningKeys { get; init; } public required IReadOnlyDictionary AuditCounts { get; init; } } internal sealed record OperatorReadinessResponse { public required bool HttpListener { get; init; } public required bool UdpIpv4Listener { get; init; } public required bool UdpIpv6Listener { get; init; } public required bool Provisioning { get; init; } public required bool Store { get; init; } public required bool Draining { get; init; } } internal sealed record OperatorStoreResponse { public required int ActiveListings { get; init; } public required int FreshPresenceBindings { get; init; } public required int ActiveJoinAttempts { get; init; } public required int RetainedOutcomeReports { get; init; } public required int ReplayMarkers { get; init; } public required int PrincipalRevocations { get; init; } public required int IdempotencyEntries { get; init; } public required long MaintenanceSweeps { get; init; } public required long ExpiryChurn { get; init; } } internal sealed record OperatorTenantResponse { public required string GameId { get; init; } public required string EnvironmentId { get; init; } public required string Status { get; init; } } internal sealed record OperatorSigningKeyResponse { public required string KeyId { get; init; } public required string Status { get; init; } public required DateTimeOffset SignUntil { get; init; } public required DateTimeOffset VerifyUntil { get; init; } public string? GameId { get; init; } public string? EnvironmentId { get; init; } public required IReadOnlyList CredentialKinds { get; init; } } internal sealed record OperatorActionResponse { public required string Status { get; init; } public int? AffectedResources { get; init; } } internal sealed record RevokeListingRequest { public required string ListingId { get; init; } public required string ConfirmListingId { get; init; } } internal sealed record RevokePrincipalRequest { public required string Subject { get; init; } public required string ConfirmSubject { get; init; } public required int LifetimeSeconds { get; init; } } internal sealed record RevokeSigningKeyRequest { public required string KeyId { get; init; } public required string ConfirmKeyId { get; init; } } internal sealed record BeginDrainRequest { public required string Confirmation { get; init; } }