use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
pub struct FollowedChannel {
pub id: u64,
pub user_id: u64,
pub slug: String,
#[serde(default)]
pub is_banned: bool,
#[serde(default)]
pub vod_enabled: bool,
#[serde(default)]
pub subscription_enabled: bool,
#[serde(default)]
pub is_affiliate: bool,
#[serde(default)]
pub verified: bool,
#[serde(default)]
pub followers_count: u64,
#[serde(default)]
pub can_host: bool,
#[serde(default)]
pub user: Option<FollowedChannelUser>,
#[serde(default)]
pub livestream: Option<FollowedChannelLivestream>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct FollowedChannelUser {
pub id: u64,
pub username: String,
#[serde(default)]
pub bio: Option<String>,
#[serde(default)]
pub profile_pic: Option<String>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct FollowedChannelLivestream {
pub id: u64,
#[serde(default)]
pub channel_id: Option<u64>,
#[serde(default)]
pub session_title: Option<String>,
#[serde(default)]
pub is_live: bool,
#[serde(default)]
pub is_mature: bool,
#[serde(default)]
pub language: Option<String>,
#[serde(default)]
pub viewer_count: u64,
#[serde(default)]
pub start_time: Option<String>,
#[serde(default)]
pub categories: Vec<FollowedChannelCategory>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct FollowedChannelCategory {
pub id: u64,
pub name: String,
pub slug: String,
}