#![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 {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect: 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 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 {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "repeatAfter",
default,
skip_serializing_if = "Option::is_none"
)]
pub repeat_after: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(
rename = "childCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub child_count: Option<f64>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "bulkActionVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub bulk_action_version: Option<String>,
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id_alt: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "sendDays", default, skip_serializing_if = "Vec::is_empty")]
pub send_days: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(
rename = "hasTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_tracking: Option<bool>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "hasUtmTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_utm_tracking: Option<bool>,
#[serde(
rename = "enableResendToUnopened",
default,
skip_serializing_if = "Option::is_none"
)]
pub enable_resend_to_unopened: Option<bool>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "templateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_id: Option<String>,
#[serde(
rename = "templateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_type: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "__v", default, skip_serializing_if = "Option::is_none")]
pub v: Option<f64>,
#[serde(
rename = "documentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub document_id: Option<String>,
#[serde(
rename = "downloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub download_url: Option<String>,
#[serde(
rename = "templateDataDownloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_data_download_url: Option<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", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TemplateSettings {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}