zernio 0.0.132

API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
Documentation
/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
 *
 * The version of the OpenAPI document: 1.0.1
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// PlatformTargetPlatformSpecificData : Platform-specific overrides and options.
/// Platform-specific overrides and options.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum PlatformTargetPlatformSpecificData {
    TwitterPlatformData(Box<models::TwitterPlatformData>),
    ThreadsPlatformData(Box<models::ThreadsPlatformData>),
    FacebookPlatformData(Box<models::FacebookPlatformData>),
    InstagramPlatformData(Box<models::InstagramPlatformData>),
    LinkedInPlatformData(Box<models::LinkedInPlatformData>),
    PinterestPlatformData(Box<models::PinterestPlatformData>),
    YouTubePlatformData(Box<models::YouTubePlatformData>),
    GoogleBusinessPlatformData(Box<models::GoogleBusinessPlatformData>),
    TikTokPlatformData(Box<models::TikTokPlatformData>),
    TelegramPlatformData(Box<models::TelegramPlatformData>),
    SnapchatPlatformData(Box<models::SnapchatPlatformData>),
    RedditPlatformData(Box<models::RedditPlatformData>),
    BlueskyPlatformData(Box<models::BlueskyPlatformData>),
}

impl Default for PlatformTargetPlatformSpecificData {
    fn default() -> Self {
        Self::TwitterPlatformData(Default::default())
    }
}
/// Controls who can reply to the tweet. \"following\" allows only people you follow, \"mentionedUsers\" allows only mentioned users, \"subscribers\" allows only subscribers, \"verified\" allows only verified users. Omit for default (everyone can reply). For threads, applies to the first tweet only. Cannot be combined with replyToTweetId.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ReplySettings {
    #[serde(rename = "following")]
    Following,
    #[serde(rename = "mentionedUsers")]
    MentionedUsers,
    #[serde(rename = "subscribers")]
    Subscribers,
    #[serde(rename = "verified")]
    Verified,
}

impl Default for ReplySettings {
    fn default() -> ReplySettings {
        Self::Following
    }
}
/// Content type: story (ephemeral 24h, default), saved_story (permanent on Public Profile), spotlight (video feed)
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ContentType {
    #[serde(rename = "story")]
    Story,
    #[serde(rename = "saved_story")]
    SavedStory,
    #[serde(rename = "spotlight")]
    Spotlight,
}

impl Default for ContentType {
    fn default() -> ContentType {
        Self::Story
    }
}
/// Video visibility: public (default, anyone can watch), unlisted (link only), private (invite only)
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Visibility {
    #[serde(rename = "public")]
    Public,
    #[serde(rename = "private")]
    Private,
    #[serde(rename = "unlisted")]
    Unlisted,
}

impl Default for Visibility {
    fn default() -> Visibility {
        Self::Public
    }
}
/// Type of commercial content disclosure
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CommercialContentType {
    #[serde(rename = "none")]
    None,
    #[serde(rename = "brand_organic")]
    BrandOrganic,
    #[serde(rename = "brand_content")]
    BrandContent,
}

impl Default for CommercialContentType {
    fn default() -> CommercialContentType {
        Self::None
    }
}
/// Optional override. Defaults based on provided media items.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MediaType {
    #[serde(rename = "video")]
    Video,
    #[serde(rename = "photo")]
    Photo,
}

impl Default for MediaType {
    fn default() -> MediaType {
        Self::Video
    }
}
/// Text formatting mode for the message (default is HTML)
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ParseMode {
    #[serde(rename = "HTML")]
    Html,
    #[serde(rename = "Markdown")]
    Markdown,
    #[serde(rename = "MarkdownV2")]
    MarkdownV2,
}

impl Default for ParseMode {
    fn default() -> ParseMode {
        Self::Html
    }
}