1 files changed, 52 insertions, 0 deletions
diff --git a/extra/admin-api/Models/Spacebar.Models.Gateway/SbWebsocketMeta.cs b/extra/admin-api/Models/Spacebar.Models.Gateway/SbWebsocketMeta.cs
new file mode 100644
index 000000000..6281426f0
--- /dev/null
+++ b/extra/admin-api/Models/Spacebar.Models.Gateway/SbWebsocketMeta.cs
@@ -0,0 +1,52 @@
+using System.Text.Json.Serialization;
+
+namespace Spacebar.Models.Gateway;
+
+// TODO: move to interop
+public class SbWebsocketMeta
+{
+ [JsonPropertyName("user_id")]
+ public string UserId { get; set; } = string.Empty;
+
+ [JsonPropertyName("session_id")]
+ public string SessionId { get; set; } = string.Empty;
+
+ [JsonPropertyName("accessToken")]
+ public string AccessToken { get; set; } = string.Empty;
+
+ [JsonPropertyName("encoding")]
+ public string Encoding { get; set; } = "json";
+
+ [JsonPropertyName("compress")]
+ public string? Compress { get; set; }
+
+ [JsonPropertyName("ipAddress")]
+ public string? IpAddress { get; set; }
+
+ [JsonPropertyName("userAgent")]
+ public string? UserAgent { get; set; }
+
+ [JsonPropertyName("fingerprint")]
+ public string? Fingerprint { get; set; }
+
+ [JsonPropertyName("shard_count")]
+ public int? ShardCount { get; set; }
+
+ [JsonPropertyName("shard_id")]
+ public int? ShardId { get; set; }
+
+ [JsonPropertyName("intents")]
+ public GatewayIntentFlags Intents { get; set; } = default!;
+
+ [JsonPropertyName("sequence")]
+ public long Sequence { get; set; }
+
+ [JsonPropertyName("capabilities")]
+ public GatewayCapabilityFlags? Capabilities { get; set; }
+
+ [JsonPropertyName("large_threshold")]
+ public int LargeThreshold { get; set; }
+
+ [JsonPropertyName("qos")]
+ public QoSPayload? Qos { get; set; }
+}
\ No newline at end of file
|