use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AnalyticsListResponsePostsInner {
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
pub _id: Option<String>,
#[serde(rename = "latePostId", skip_serializing_if = "Option::is_none")]
pub late_post_id: Option<String>,
#[serde(rename = "content", skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(rename = "scheduledFor", skip_serializing_if = "Option::is_none")]
pub scheduled_for: Option<String>,
#[serde(rename = "publishedAt", skip_serializing_if = "Option::is_none")]
pub published_at: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "analytics", skip_serializing_if = "Option::is_none")]
pub analytics: Option<Box<models::PostAnalytics>>,
#[serde(rename = "platforms", skip_serializing_if = "Option::is_none")]
pub platforms: Option<Vec<models::PlatformAnalytics>>,
#[serde(rename = "platform", skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
#[serde(rename = "platformPostUrl", skip_serializing_if = "Option::is_none")]
pub platform_post_url: Option<String>,
#[serde(rename = "isExternal", skip_serializing_if = "Option::is_none")]
pub is_external: Option<bool>,
#[serde(rename = "profileId", skip_serializing_if = "Option::is_none")]
pub profile_id: Option<String>,
#[serde(rename = "thumbnailUrl", skip_serializing_if = "Option::is_none")]
pub thumbnail_url: Option<String>,
#[serde(rename = "mediaType", skip_serializing_if = "Option::is_none")]
pub media_type: Option<MediaType>,
#[serde(rename = "mediaItems", skip_serializing_if = "Option::is_none")]
pub media_items: Option<Vec<models::AnalyticsSinglePostResponseMediaItemsInner>>,
}
impl AnalyticsListResponsePostsInner {
pub fn new() -> AnalyticsListResponsePostsInner {
AnalyticsListResponsePostsInner {
_id: None,
late_post_id: None,
content: None,
scheduled_for: None,
published_at: None,
status: None,
analytics: None,
platforms: None,
platform: None,
platform_post_url: None,
is_external: None,
profile_id: None,
thumbnail_url: None,
media_type: None,
media_items: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MediaType {
#[serde(rename = "image")]
Image,
#[serde(rename = "video")]
Video,
#[serde(rename = "gif")]
Gif,
#[serde(rename = "document")]
Document,
#[serde(rename = "carousel")]
Carousel,
#[serde(rename = "text")]
Text,
}
impl Default for MediaType {
fn default() -> MediaType {
Self::Image
}
}