use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreatePostRequest {
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "content", skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(rename = "mediaItems", skip_serializing_if = "Option::is_none")]
pub media_items: Option<Vec<models::CreatePostRequestMediaItemsInner>>,
#[serde(rename = "platforms", skip_serializing_if = "Option::is_none")]
pub platforms: Option<Vec<models::CreatePostRequestPlatformsInner>>,
#[serde(rename = "scheduledFor", skip_serializing_if = "Option::is_none")]
pub scheduled_for: Option<String>,
#[serde(rename = "publishNow", skip_serializing_if = "Option::is_none")]
pub publish_now: Option<bool>,
#[serde(rename = "isDraft", skip_serializing_if = "Option::is_none")]
pub is_draft: Option<bool>,
#[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "hashtags", skip_serializing_if = "Option::is_none")]
pub hashtags: Option<Vec<String>>,
#[serde(rename = "mentions", skip_serializing_if = "Option::is_none")]
pub mentions: Option<Vec<String>>,
#[serde(
rename = "crosspostingEnabled",
skip_serializing_if = "Option::is_none"
)]
pub crossposting_enabled: Option<bool>,
#[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "tiktokSettings", skip_serializing_if = "Option::is_none")]
pub tiktok_settings: Option<Box<models::TikTokPlatformData>>,
#[serde(rename = "facebookSettings", skip_serializing_if = "Option::is_none")]
pub facebook_settings: Option<Box<models::FacebookPlatformData>>,
#[serde(rename = "recycling", skip_serializing_if = "Option::is_none")]
pub recycling: Option<Box<models::RecyclingConfig>>,
#[serde(rename = "queuedFromProfile", skip_serializing_if = "Option::is_none")]
pub queued_from_profile: Option<String>,
#[serde(rename = "queueId", skip_serializing_if = "Option::is_none")]
pub queue_id: Option<String>,
}
impl CreatePostRequest {
pub fn new() -> CreatePostRequest {
CreatePostRequest {
title: None,
content: None,
media_items: None,
platforms: None,
scheduled_for: None,
publish_now: None,
is_draft: None,
timezone: None,
tags: None,
hashtags: None,
mentions: None,
crossposting_enabled: None,
metadata: None,
tiktok_settings: None,
facebook_settings: None,
recycling: None,
queued_from_profile: None,
queue_id: None,
}
}
}