tail_fin_youtube/
types.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct Video {
5 pub id: String,
6 pub title: String,
7 pub channel: String,
8 pub channel_id: String,
9 pub views: Option<String>,
10 pub likes: Option<String>,
11 pub duration: Option<String>,
12 pub published_at: Option<String>,
13 pub description: Option<String>,
14 pub url: String,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct Channel {
19 pub id: String,
20 pub name: String,
21 pub handle: Option<String>,
22 pub subscribers: Option<String>,
23 pub video_count: Option<String>,
24 pub description: Option<String>,
25 pub url: String,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct Comment {
30 pub author: String,
31 pub text: String,
32 pub likes: Option<String>,
33 pub published_at: Option<String>,
34 pub reply_count: Option<u64>,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct TranscriptSegment {
39 pub text: String,
40 pub start_ms: u64,
41 pub duration_ms: u64,
42}
43
44#[derive(Debug, Clone)]
46pub struct InnerTubeContext {
47 pub api_key: String,
48 pub context: serde_json::Value,
49}