/*
* 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};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum PlatformTargetAccountId {
String(String),
SocialAccount(Box<models::SocialAccount>),
}
impl Default for PlatformTargetAccountId {
fn default() -> Self {
Self::String(Default::default())
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Platform {
#[serde(rename = "tiktok")]
Tiktok,
#[serde(rename = "instagram")]
Instagram,
#[serde(rename = "facebook")]
Facebook,
#[serde(rename = "youtube")]
Youtube,
#[serde(rename = "linkedin")]
Linkedin,
#[serde(rename = "twitter")]
Twitter,
#[serde(rename = "threads")]
Threads,
#[serde(rename = "pinterest")]
Pinterest,
#[serde(rename = "reddit")]
Reddit,
#[serde(rename = "bluesky")]
Bluesky,
#[serde(rename = "googlebusiness")]
Googlebusiness,
#[serde(rename = "telegram")]
Telegram,
#[serde(rename = "snapchat")]
Snapchat,
#[serde(rename = "whatsapp")]
Whatsapp,
#[serde(rename = "linkedinads")]
Linkedinads,
#[serde(rename = "metaads")]
Metaads,
#[serde(rename = "pinterestads")]
Pinterestads,
#[serde(rename = "tiktokads")]
Tiktokads,
#[serde(rename = "xads")]
Xads,
#[serde(rename = "googleads")]
Googleads,
}
impl Default for Platform {
fn default() -> Platform {
Self::Tiktok
}
}
/// **Deprecated.** With the new ads account model, ads accounts are separate SocialAccount documents. Check for accounts with ads platform values (metaads, linkedinads, pinterestads, tiktokads, xads, googleads) instead. Legacy behavior: - `connected`: Ads are ready to use (same-token platforms like Meta/LinkedIn, or separate ads token is present). - `not_connected`: Platform supports ads but requires a separate ads OAuth. Use `GET /v1/connect/{platform}/ads` to connect. - `not_available`: Platform does not support ads (e.g., YouTube, Reddit, Bluesky).
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AdsStatus {
#[serde(rename = "connected")]
Connected,
#[serde(rename = "not_connected")]
NotConnected,
#[serde(rename = "not_available")]
NotAvailable,
}
impl Default for AdsStatus {
fn default() -> AdsStatus {
Self::Connected
}
}