use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Video {
pub id: String,
pub title: String,
pub channel: String,
pub channel_id: String,
pub views: Option<String>,
pub likes: Option<String>,
pub duration: Option<String>,
pub published_at: Option<String>,
pub description: Option<String>,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Channel {
pub id: String,
pub name: String,
pub handle: Option<String>,
pub subscribers: Option<String>,
pub video_count: Option<String>,
pub description: Option<String>,
pub url: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Comment {
pub author: String,
pub text: String,
pub likes: Option<String>,
pub published_at: Option<String>,
pub reply_count: Option<u64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TranscriptSegment {
pub text: String,
pub start_ms: u64,
pub duration_ms: u64,
}
#[derive(Debug, Clone)]
pub struct InnerTubeContext {
pub api_key: String,
pub context: serde_json::Value,
}