Skip to main content

late/models/
create_broadcast_request.rs

1/*
2 * Zernio API
3 *
4 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5 *
6 * The version of the OpenAPI document: 1.0.1
7 * Contact: support@zernio.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateBroadcastRequest {
16    #[serde(rename = "profileId")]
17    pub profile_id: String,
18    #[serde(rename = "accountId")]
19    pub account_id: String,
20    #[serde(rename = "platform")]
21    pub platform: Platform,
22    #[serde(rename = "name")]
23    pub name: String,
24    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
25    pub description: Option<String>,
26    #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
27    pub message: Option<Box<models::CreateBroadcastRequestMessage>>,
28    #[serde(rename = "template", skip_serializing_if = "Option::is_none")]
29    pub template: Option<Box<models::CreateBroadcastRequestTemplate>>,
30    #[serde(rename = "segmentFilters", skip_serializing_if = "Option::is_none")]
31    pub segment_filters: Option<Box<models::CreateBroadcastRequestSegmentFilters>>,
32}
33
34impl CreateBroadcastRequest {
35    pub fn new(
36        profile_id: String,
37        account_id: String,
38        platform: Platform,
39        name: String,
40    ) -> CreateBroadcastRequest {
41        CreateBroadcastRequest {
42            profile_id,
43            account_id,
44            platform,
45            name,
46            description: None,
47            message: None,
48            template: None,
49            segment_filters: None,
50        }
51    }
52}
53///
54#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
55pub enum Platform {
56    #[serde(rename = "instagram")]
57    Instagram,
58    #[serde(rename = "facebook")]
59    Facebook,
60    #[serde(rename = "telegram")]
61    Telegram,
62    #[serde(rename = "twitter")]
63    Twitter,
64    #[serde(rename = "bluesky")]
65    Bluesky,
66    #[serde(rename = "reddit")]
67    Reddit,
68    #[serde(rename = "whatsapp")]
69    Whatsapp,
70}
71
72impl Default for Platform {
73    fn default() -> Platform {
74        Self::Instagram
75    }
76}