pinterest_api/parameter/
media_source.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4#[serde(tag = "source_type")]
5#[serde(rename_all = "snake_case")]
6pub enum MediaSource {
7    MultipleImageBase64 {
8        items: Vec<MultipleImageBase64Item>,
9        index: i64,
10    },
11    ImageBase64 {
12        content_type: String,
13        data: String,
14        is_standard: bool,
15    },
16    MultipleImageUrls {
17        items: Vec<MultipleImageUrlItem>,
18        index: i64,
19    },
20    ImageUrl {
21        url: String,
22        is_standard: bool,
23    },
24    VideoId {
25        cover_image_url: String,
26        cover_image_content_type: String,
27        cover_image_data: String,
28        media_id: String,
29        is_standard: bool,
30    },
31    PinUrl {
32        is_affiliate_link: bool,
33    },
34}
35
36impl Default for MediaSource {
37    fn default() -> Self {
38        MediaSource::ImageUrl {
39            url: "".to_string(),
40            is_standard: true,
41        }
42    }
43}
44
45#[derive(Serialize, Deserialize, Debug, Clone, Default)]
46pub struct MultipleImageBase64Item {
47    pub title: String,
48    pub description: String,
49    pub link: String,
50    pub content_type: String,
51    pub data: String,
52}
53
54#[derive(Serialize, Deserialize, Debug, Clone, Default)]
55pub struct MultipleImageUrlItem {
56    pub title: String,
57    pub description: String,
58    pub link: String,
59    pub url: String,
60}