Channelsc

This commit is contained in:
2026-08-19 03:10:35 +02:00
parent e5c5d7265a
commit c37e9d0fde
5 changed files with 48 additions and 11 deletions
+29
View File
@@ -0,0 +1,29 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClientMeta {}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerMeta {
pub name: String,
pub description: String,
pub channels: Vec<Channel>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "kind")]
#[serde(rename_all = "camelCase")]
pub enum ChannelKind {
Text,
Category { channels: Vec<Channel> },
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Channel {
pub id: String,
pub name: String,
#[serde(flatten)]
pub data: ChannelKind,
}