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