1#![allow(
6 missing_docs,
7 clippy::doc_lazy_continuation,
8 clippy::doc_overindented_list_items
9)]
10
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub struct ContactSessionIds {
16 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17 pub ids: Vec<String>,
18}
19
20#[derive(Debug, Clone, Default, Serialize, Deserialize)]
22pub struct EventDataSchema {
23 #[serde(default, skip_serializing_if = "Option::is_none")]
24 pub fbc: Option<String>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub fbp: Option<String>,
27 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub page: Option<PageDetailsSchema>,
29 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
30 pub type_: Option<String>,
31 #[serde(default, skip_serializing_if = "Option::is_none")]
32 pub domain: Option<String>,
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub medium: Option<String>,
35 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub source: Option<String>,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub version: Option<String>,
39 #[serde(rename = "adSource", default, skip_serializing_if = "Option::is_none")]
40 pub ad_source: Option<String>,
41 #[serde(rename = "mediumId", default, skip_serializing_if = "Option::is_none")]
42 pub medium_id: Option<String>,
43 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
44 pub parent_id: Option<String>,
45 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub referrer: Option<String>,
47 #[serde(rename = "fbEventId", default, skip_serializing_if = "Option::is_none")]
48 pub fb_event_id: Option<String>,
49 #[serde(default, skip_serializing_if = "Option::is_none")]
50 pub timestamp: Option<f64>,
51 #[serde(
52 rename = "parentName",
53 default,
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub parent_name: Option<String>,
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub fingerprint: Option<String>,
59 #[serde(
60 rename = "pageVisitType",
61 default,
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub page_visit_type: Option<String>,
65 #[serde(
66 rename = "contactSessionIds",
67 default,
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub contact_session_ids: Option<ContactSessionIds>,
71}
72
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75pub struct FormsParams {
76 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub id: Option<String>,
78 #[serde(default, skip_serializing_if = "Option::is_none")]
79 pub name: Option<String>,
80 #[serde(
81 rename = "locationId",
82 default,
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub location_id: Option<String>,
86}
87
88#[derive(Debug, Clone, Default, Serialize, Deserialize)]
90pub struct FormsSubmissionsSubmissionsSchema {
91 #[serde(default, skip_serializing_if = "Option::is_none")]
92 pub id: Option<String>,
93 #[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
94 pub contact_id: Option<String>,
95 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
96 pub created_at: Option<String>,
97 #[serde(rename = "formId", default, skip_serializing_if = "Option::is_none")]
98 pub form_id: Option<String>,
99 #[serde(default, skip_serializing_if = "Option::is_none")]
100 pub name: Option<String>,
101 #[serde(default, skip_serializing_if = "Option::is_none")]
102 pub email: Option<String>,
103 #[serde(default, skip_serializing_if = "Option::is_none")]
104 pub others: Option<OthersSchema>,
105}
106
107#[derive(Debug, Clone, Default, Serialize, Deserialize)]
109pub struct FormsSubmissionsSuccessfulResponseDto {
110 #[serde(default, skip_serializing_if = "Vec::is_empty")]
111 pub submissions: Vec<FormsSubmissionsSubmissionsSchema>,
112 #[serde(default, skip_serializing_if = "Option::is_none")]
113 pub meta: Option<MetaSchema>,
114}
115
116#[derive(Debug, Clone, Default, Serialize, Deserialize)]
118pub struct FormsSuccessfulResponseDto {
119 #[serde(default, skip_serializing_if = "Vec::is_empty")]
120 pub forms: Vec<FormsParams>,
121 #[serde(default, skip_serializing_if = "Option::is_none")]
123 pub total: Option<f64>,
124}
125
126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
128pub struct PageDetailsSchema {
129 #[serde(default, skip_serializing_if = "Option::is_none")]
130 pub url: Option<String>,
131 #[serde(default, skip_serializing_if = "Option::is_none")]
132 pub title: Option<String>,
133}
134
135#[derive(Debug, Clone, Default, Serialize, Deserialize)]
137pub struct MetaSchema {
138 #[serde(default, skip_serializing_if = "Option::is_none")]
139 pub total: Option<f64>,
140 #[serde(
141 rename = "currentPage",
142 default,
143 skip_serializing_if = "Option::is_none"
144 )]
145 pub current_page: Option<f64>,
146 #[serde(rename = "nextPage", default, skip_serializing_if = "Option::is_none")]
147 pub next_page: Option<f64>,
148 #[serde(rename = "prevPage", default, skip_serializing_if = "Option::is_none")]
149 pub prev_page: Option<f64>,
150}
151
152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
154pub struct OthersSchema {
155 #[serde(
156 rename = "__submissions_other_field__",
157 default,
158 skip_serializing_if = "Option::is_none"
159 )]
160 pub submissions_other_field: Option<String>,
161 #[serde(
162 rename = "__custom_field_id__",
163 default,
164 skip_serializing_if = "Option::is_none"
165 )]
166 pub custom_field_id: Option<String>,
167 #[serde(rename = "eventData", default, skip_serializing_if = "Option::is_none")]
168 pub event_data: Option<EventDataSchema>,
169 #[serde(
170 rename = "fieldsOriSequance",
171 default,
172 skip_serializing_if = "Vec::is_empty"
173 )]
174 pub fields_ori_sequance: Vec<String>,
175}