#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactSessionIds {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub ids: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct EventDataSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fbc: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fbp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub page: Option<PageDetailsSchema>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "adSource", default, skip_serializing_if = "Option::is_none")]
pub ad_source: Option<String>,
#[serde(rename = "mediumId", default, skip_serializing_if = "Option::is_none")]
pub medium_id: Option<String>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub referrer: Option<String>,
#[serde(rename = "fbEventId", default, skip_serializing_if = "Option::is_none")]
pub fb_event_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timestamp: Option<f64>,
#[serde(
rename = "parentName",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fingerprint: Option<String>,
#[serde(
rename = "pageVisitType",
default,
skip_serializing_if = "Option::is_none"
)]
pub page_visit_type: Option<String>,
#[serde(
rename = "contactSessionIds",
default,
skip_serializing_if = "Option::is_none"
)]
pub contact_session_ids: Option<ContactSessionIds>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetSurveysSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetSurveysSubmissionSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub submissions: Vec<SubmissionSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub meta: Option<MetaSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetSurveysSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub surveys: Vec<GetSurveysSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PageDetailsSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SubmissionSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "surveyId", default, skip_serializing_if = "Option::is_none")]
pub survey_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub others: Option<OthersSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct MetaSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(
rename = "currentPage",
default,
skip_serializing_if = "Option::is_none"
)]
pub current_page: Option<f64>,
#[serde(rename = "nextPage", default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<f64>,
#[serde(rename = "prevPage", default, skip_serializing_if = "Option::is_none")]
pub prev_page: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OthersSchema {
#[serde(
rename = "__submissions_other_field__",
default,
skip_serializing_if = "Option::is_none"
)]
pub submissions_other_field: Option<String>,
#[serde(
rename = "__custom_field_id__",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_field_id: Option<String>,
#[serde(rename = "eventData", default, skip_serializing_if = "Option::is_none")]
pub event_data: Option<EventDataSchema>,
#[serde(
rename = "fieldsOriSequance",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub fields_ori_sequance: Vec<String>,
}