pinterest_api/parameter/
media_source.rs1use 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}