pinterest_api/response/
pin.rs

1use super::media::Media;
2use crate::response::creative_type::CreativeType;
3use serde::{Deserialize, Serialize};
4use std::collections::HashMap as Map;
5
6#[derive(Serialize, Deserialize, Debug, Clone)]
7pub struct Pin {
8    pub id: String,
9    pub created_at: String,
10    pub link: Option<String>,
11    pub title: Option<String>,
12    pub description: Option<String>,
13    pub dominant_color: Option<String>,
14    pub alt_text: Option<String>,
15    pub creative_type: Option<CreativeType>,
16    pub board_id: String,
17    pub board_section_id: Option<String>,
18    pub board_owner: BoardOwner,
19    pub is_owner: bool,
20    pub media: Media,
21    pub parent_pin_id: Option<String>,
22    pub is_standard: bool,
23    pub has_been_promoted: bool,
24    pub note: Option<String>,
25    pub pin_metrics: Option<serde_json::Value>,
26
27    #[serde(flatten, skip_serializing_if = "Map::is_empty")]
28    pub extra: Map<String, serde_json::Value>,
29}
30
31#[derive(Serialize, Deserialize, Debug, Clone)]
32pub struct BoardOwner {
33    pub username: String,
34
35    #[serde(flatten, skip_serializing_if = "Map::is_empty")]
36    pub extra: Map<String, serde_json::Value>,
37}