From c80e302d726bd994a46e29496e76daaf0f35247d Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Fri, 11 Nov 2022 00:21:01 +0100 Subject: [PATCH] fix: use generic SectionListRenderer --- src/client/response/channel.rs | 8 +------- src/client/response/music_artist.rs | 8 +------- src/client/response/music_search.rs | 10 ++-------- src/client/response/playlist.rs | 11 +++-------- 4 files changed, 7 insertions(+), 30 deletions(-) diff --git a/src/client/response/channel.rs b/src/client/response/channel.rs index 0f6812a..1092fe8 100644 --- a/src/client/response/channel.rs +++ b/src/client/response/channel.rs @@ -58,7 +58,7 @@ pub(crate) struct TabRenderer { pub(crate) struct TabContent { #[serde(default)] #[serde_as(as = "DefaultOnError")] - pub section_list_renderer: Option, + pub section_list_renderer: Option>, /// Seems to be currently A/B tested, as of 11.10.2022 #[serde(default)] #[serde_as(as = "DefaultOnError")] @@ -83,12 +83,6 @@ pub(crate) struct ChannelTabWebCommandMetadata { pub url: String, } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct SectionListRenderer { - pub contents: Vec, -} - /// Seems to be currently A/B tested, as of 11.10.2022 #[serde_as] #[derive(Debug, Deserialize)] diff --git a/src/client/response/music_artist.rs b/src/client/response/music_artist.rs index 3e0d7bb..110c38d 100644 --- a/src/client/response/music_artist.rs +++ b/src/client/response/music_artist.rs @@ -5,7 +5,7 @@ use crate::serializer::{text::Text, MapResult, VecLogError}; use super::{ music_item::{ItemSection, MusicResponseItem, MusicThumbnailRenderer}, - ContentsRenderer, Tab, + ContentsRenderer, SectionList, Tab, }; /// Response model for YouTube Music artists @@ -22,12 +22,6 @@ pub(crate) struct Contents { pub single_column_browse_results_renderer: ContentsRenderer>>, } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct SectionList { - pub section_list_renderer: ContentsRenderer, -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Header { diff --git a/src/client/response/music_search.rs b/src/client/response/music_search.rs index feb66a5..d853759 100644 --- a/src/client/response/music_search.rs +++ b/src/client/response/music_search.rs @@ -3,7 +3,7 @@ use serde_with::{serde_as, VecSkipError}; use crate::serializer::{ignore_any, text::Text}; -use super::{music_item::MusicShelf, ContentsRenderer, Tab}; +use super::{music_item::MusicShelf, ContentsRenderer, SectionList, Tab}; /// Response model for YouTube Music search #[derive(Debug, Deserialize)] @@ -15,13 +15,7 @@ pub(crate) struct MusicSearch { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Contents { - pub tabbed_search_results_renderer: ContentsRenderer>, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct SectionList { - pub section_list_renderer: ContentsRenderer, + pub tabbed_search_results_renderer: ContentsRenderer>>, } #[allow(clippy::enum_variant_names)] diff --git a/src/client/response/playlist.rs b/src/client/response/playlist.rs index 91d4712..10feacc 100644 --- a/src/client/response/playlist.rs +++ b/src/client/response/playlist.rs @@ -6,7 +6,8 @@ use crate::serializer::{ignore_any, MapResult, VecLogError}; use crate::util::MappingError; use super::{ - Alert, ContentsRenderer, ContinuationEndpoint, ResponseContext, Tab, Thumbnails, ThumbnailsWrap, + Alert, ContentsRenderer, ContinuationEndpoint, ResponseContext, SectionList, Tab, Thumbnails, + ThumbnailsWrap, }; #[serde_as] @@ -33,13 +34,7 @@ pub(crate) struct PlaylistCont { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Contents { - pub two_column_browse_results_renderer: ContentsRenderer>, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct SectionList { - pub section_list_renderer: ContentsRenderer, + pub two_column_browse_results_renderer: ContentsRenderer>>, } #[derive(Debug, Deserialize)]