kick_api/models/
channel.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct Channel {
18 pub active_subscribers_count: u32,
20
21 #[serde(skip_serializing_if = "Option::is_none")]
23 pub banner_picture: Option<String>,
24
25 pub broadcaster_user_id: u32,
27
28 pub canceled_subscribers_count: u32,
30
31 #[serde(skip_serializing_if = "Option::is_none")]
33 pub category: Option<Category>,
34
35 #[serde(skip_serializing_if = "Option::is_none")]
37 pub channel_description: Option<String>,
38
39 pub slug: String,
41
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub stream: Option<Stream>,
45
46 #[serde(skip_serializing_if = "Option::is_none")]
48 pub stream_title: Option<String>,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
53pub struct Category {
54 pub id: u32,
56
57 pub name: String,
59
60 #[serde(skip_serializing_if = "Option::is_none")]
62 pub thumbnail: Option<String>,
63}
64
65#[derive(Debug, Clone, Serialize, Deserialize)]
67pub struct Stream {
68 #[serde(default)]
70 pub custom_tags: Vec<String>,
71
72 pub is_live: bool,
74
75 pub is_mature: bool,
77
78 pub key: String,
80
81 pub language: String,
83
84 pub start_time: String,
86
87 #[serde(skip_serializing_if = "Option::is_none")]
89 pub thumbnail: Option<String>,
90
91 pub url: String,
93
94 pub viewer_count: u32,
96}