Skip to main content

youtube_api/models/playlists/
request.rs

1use serde::Serialize;
2
3#[derive(Debug, Clone, Serialize, Default)]
4#[serde(rename_all = "camelCase")]
5pub struct ListPlaylistsRequestBuilder {
6    pub channel_id: Option<String>,
7    #[serde(rename = "id")]
8    pub playlist_id: Option<String>,
9    pub max_results: Option<u64>,
10    pub mine: Option<bool>
11}
12
13impl ListPlaylistsRequestBuilder {
14    pub(crate) fn build(self) -> ListPlaylistsRequest {
15        ListPlaylistsRequest {
16            part: String::from("snippet"),
17            builder: self
18        }
19    }
20}
21
22#[derive(Serialize)]
23#[serde(rename_all = "camelCase")]
24pub struct ListPlaylistsRequest {
25    part: String,
26    #[serde(flatten)]
27    builder: ListPlaylistsRequestBuilder
28}
29
30
31#[derive(Debug, Clone, Serialize, Default)]
32#[serde(rename_all = "camelCase")]
33pub struct ListPlaylistItemsRequestBuilder {
34    pub playlist_id: Option<String>,
35    pub max_results: Option<u64>
36}
37
38impl ListPlaylistItemsRequestBuilder {
39    pub(crate) fn build(self) -> ListPlaylistItemsRequest {
40        ListPlaylistItemsRequest {
41            part: String::from("snippet,contentDetails"),
42            builder: self
43        }
44    }
45}
46
47#[derive(Serialize)]
48#[serde(rename_all = "camelCase")]
49pub struct ListPlaylistItemsRequest {
50    part: String,
51    #[serde(flatten)]
52    builder: ListPlaylistItemsRequestBuilder
53}