client: basic message parsing, gateway listening
1 files changed, 46 insertions, 0 deletions
diff --git a/extra/admin-api/Models/Spacebar.Models.Generic/Channel.cs b/extra/admin-api/Models/Spacebar.Models.Generic/Channel.cs
index 01a91c64..93a7592e 100644
--- a/extra/admin-api/Models/Spacebar.Models.Generic/Channel.cs
+++ b/extra/admin-api/Models/Spacebar.Models.Generic/Channel.cs
@@ -3,7 +3,53 @@ using System.Text.Json.Serialization;
namespace Spacebar.Models.Generic;
public class Channel {
+ [JsonPropertyName("id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
+ public required long Id { get; set; }
+ [JsonPropertyName("created_at")]
+ public DateTimeOffset CreatedAt { get; set; }
+
+ [JsonPropertyName("default_thread_rate_limit_per_user")]
+ public int DefaultThreadRateLimitPerUser { get; set; }
+
+ [JsonPropertyName("flags")]
+ public int Flags { get; set; } //TODO: enum
+
+ [JsonPropertyName("guild_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
+ public long? GuildId { get; set; }
+
+ [JsonPropertyName("icon")]
+ public string? Icon { get; set; }
+
+ [JsonPropertyName("last_message_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
+ public long? LastMessageId { get; set; }
+
+ [JsonPropertyName("name")]
+ public string? Name { get; set; }
+
+ [JsonPropertyName("nsfw")]
+ public bool Nsfw { get; set; }
+
+ [JsonPropertyName("parent_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
+ public long? ParentId { get; set; }
+
+ [JsonPropertyName("permission_overwrites")]
+ public List<ChannelPermissionOverwrite> PermissionOverwrites { get; set; }
+
+ [JsonPropertyName("position")]
+ public int Position { get; set; }
+
+ [JsonPropertyName("status")]
+ public string? Status { get; set; }
+
+ [JsonPropertyName("topic")]
+ public string? Topic { get; set; }
+
+ [JsonPropertyName("type")]
+ public int Type { get; set; } //TODO enum
+
+ [JsonPropertyName("video_quality_mode")]
+ public object? VideoQualityMode { get; set; }
}
public class ChannelPermissionOverwrite {
|