#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderUpdateSuccessfulDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ok: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(
rename = "templateDownloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_download_url: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateBuilderDto {
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "type")]
pub type_: String,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(
rename = "builderVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub builder_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(
rename = "templateDataUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_data_url: Option<String>,
#[serde(rename = "importProvider")]
pub import_provider: String,
#[serde(rename = "importURL", default, skip_serializing_if = "Option::is_none")]
pub import_url: Option<String>,
#[serde(
rename = "templateSource",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_source: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateBuilderSuccesfulResponseDto {
pub redirect: String,
#[serde(rename = "traceId")]
pub trace_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteBuilderSuccesfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ok: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FetchBuilderSuccesfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "lastUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(
rename = "templateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct IBuilderJsonMapper {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub elements: Vec<String>,
pub attrs: serde_json::Value,
#[serde(rename = "templateSettings")]
pub template_settings: TemplateSettings,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct InvalidLocationDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct NotFoundDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SaveBuilderDataDto {
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "templateId")]
pub template_id: String,
#[serde(rename = "updatedBy")]
pub updated_by: String,
pub dnd: IBuilderJsonMapper,
pub html: String,
#[serde(rename = "editorType")]
pub editor_type: String,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleDto {
pub name: String,
#[serde(rename = "repeatAfter")]
pub repeat_after: String,
pub id: String,
#[serde(rename = "parentId")]
pub parent_id: String,
#[serde(rename = "childCount")]
pub child_count: f64,
#[serde(rename = "campaignType")]
pub campaign_type: String,
#[serde(rename = "bulkActionVersion")]
pub bulk_action_version: String,
#[serde(rename = "_id")]
pub id_alt: String,
pub status: String,
#[serde(rename = "sendDays", default, skip_serializing_if = "Vec::is_empty")]
pub send_days: Vec<String>,
pub deleted: bool,
pub migrated: bool,
pub archived: bool,
#[serde(rename = "hasTracking")]
pub has_tracking: bool,
#[serde(rename = "isPlainText")]
pub is_plain_text: bool,
#[serde(rename = "hasUtmTracking")]
pub has_utm_tracking: bool,
#[serde(rename = "enableResendToUnopened")]
pub enable_resend_to_unopened: bool,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(rename = "templateId")]
pub template_id: String,
#[serde(rename = "templateType")]
pub template_type: String,
#[serde(rename = "createdAt")]
pub created_at: String,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "__v")]
pub v: f64,
#[serde(rename = "documentId")]
pub document_id: String,
#[serde(rename = "downloadUrl")]
pub download_url: String,
#[serde(rename = "templateDataDownloadUrl")]
pub template_data_download_url: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub child: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleFetchSuccessfulDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub schedules: Vec<ScheduleDto>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub total: Vec<String>,
#[serde(rename = "traceId")]
pub trace_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TemplateSettings {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}