fix: channel not found
This commit is contained in:
parent
012cde8b51
commit
ef35c48890
6 changed files with 108 additions and 43 deletions
|
|
@ -1,9 +1,9 @@
|
|||
use serde::Deserialize;
|
||||
use serde_with::serde_as;
|
||||
use serde_with::VecSkipError;
|
||||
use serde_with::{DefaultOnError, VecSkipError};
|
||||
|
||||
use super::ChannelBadge;
|
||||
use super::Thumbnails;
|
||||
use super::{Alert, ChannelBadge};
|
||||
use super::{ContentRenderer, ContentsRenderer, VideoListItem};
|
||||
use crate::serializer::ignore_any;
|
||||
use crate::serializer::{text::Text, MapResult, VecLogError};
|
||||
|
|
@ -12,10 +12,13 @@ use crate::serializer::{text::Text, MapResult, VecLogError};
|
|||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Channel {
|
||||
pub header: Header,
|
||||
pub contents: Contents,
|
||||
pub metadata: Metadata,
|
||||
pub microformat: Microformat,
|
||||
#[serde_as(as = "DefaultOnError")]
|
||||
pub header: Option<Header>,
|
||||
pub contents: Option<Contents>,
|
||||
pub metadata: Option<Metadata>,
|
||||
pub microformat: Option<Microformat>,
|
||||
#[serde_as(as = "Option<DefaultOnError>")]
|
||||
pub alerts: Option<Vec<Alert>>,
|
||||
}
|
||||
|
||||
#[serde_as]
|
||||
|
|
|
|||
|
|
@ -313,6 +313,20 @@ pub enum VideoBadgeStyle {
|
|||
BadgeStyleTypeLiveNow,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Alert {
|
||||
pub alert_renderer: AlertRenderer,
|
||||
}
|
||||
|
||||
#[serde_as]
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct AlertRenderer {
|
||||
#[serde_as(as = "Text")]
|
||||
pub text: String,
|
||||
}
|
||||
|
||||
// YouTube Music
|
||||
|
||||
#[serde_as]
|
||||
|
|
|
|||
Reference in a new issue