refactor: use unified models for video/playlist/channel
This commit is contained in:
parent
b22f6995cc
commit
dbcb7fe0df
41 changed files with 2156 additions and 1228 deletions
|
|
@ -6,6 +6,7 @@ pub mod search;
|
|||
pub mod trends;
|
||||
pub mod url_endpoint;
|
||||
pub mod video_details;
|
||||
pub mod video_item;
|
||||
|
||||
pub use channel::Channel;
|
||||
pub use channel::ChannelCont;
|
||||
|
|
@ -22,6 +23,8 @@ pub use url_endpoint::ResolvedUrl;
|
|||
pub use video_details::VideoComments;
|
||||
pub use video_details::VideoDetails;
|
||||
pub use video_details::VideoRecommendations;
|
||||
pub use video_item::YouTubeListItem;
|
||||
pub use video_item::YouTubeListMapper;
|
||||
|
||||
#[cfg(feature = "rss")]
|
||||
pub mod channel_rss;
|
||||
|
|
@ -488,6 +491,34 @@ pub struct ChildVideoRenderer {
|
|||
pub length_text: Option<String>,
|
||||
}
|
||||
|
||||
// CONTINUATION
|
||||
|
||||
#[serde_as]
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Continuation {
|
||||
/// Number of search results
|
||||
#[serde_as(as = "Option<JsonString>")]
|
||||
pub estimated_results: Option<u64>,
|
||||
#[serde(alias = "onResponseReceivedCommands")]
|
||||
#[serde_as(as = "VecSkipError<_>")]
|
||||
pub on_response_received_actions: Vec<ContinuationActionWrap>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ContinuationActionWrap {
|
||||
pub append_continuation_items_action: ContinuationAction,
|
||||
}
|
||||
|
||||
#[serde_as]
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ContinuationAction {
|
||||
#[serde_as(as = "VecLogError<_>")]
|
||||
pub continuation_items: MapResult<Vec<YouTubeListItem>>,
|
||||
}
|
||||
|
||||
// YouTube Music
|
||||
|
||||
#[serde_as]
|
||||
|
|
|
|||
Reference in a new issue