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 CreateUserDto {
16 #[serde(rename = "companyId")]
19 pub company_id: String,
20 pub email: String,
23 pub password: String,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub phone: Option<String>,
32 #[serde(rename = "type")]
35 pub type_: String,
36 pub role: String,
39 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
42 pub location_ids: Vec<String>,
43 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub permissions: Option<PermissionsDto>,
46 #[serde(default, skip_serializing_if = "Vec::is_empty")]
53 pub scopes: Vec<String>,
54 #[serde(
61 rename = "scopesAssignedToOnly",
62 default,
63 skip_serializing_if = "Vec::is_empty"
64 )]
65 pub scopes_assigned_to_only: Vec<String>,
66 #[serde(
68 rename = "profilePhoto",
69 default,
70 skip_serializing_if = "Option::is_none"
71 )]
72 pub profile_photo: Option<String>,
73 #[serde(
81 rename = "twilioPhone",
82 default,
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub twilio_phone: Option<serde_json::Value>,
86 #[serde(
90 rename = "platformLanguage",
91 default,
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub platform_language: Option<String>,
95 #[serde(rename = "firstName")]
98 pub first_name: String,
99 #[serde(rename = "lastName")]
102 pub last_name: String,
103}
104
105#[derive(Debug, Clone, Default, Serialize, Deserialize)]
107pub struct DeleteUserSuccessfulResponseV3Dto {
108 #[serde(default, skip_serializing_if = "Option::is_none")]
110 pub succeeded: Option<bool>,
111 #[serde(default, skip_serializing_if = "Option::is_none")]
113 pub message: Option<String>,
114}
115
116#[derive(Debug, Clone, Default, Serialize, Deserialize)]
118pub struct FilterByEmailDto {
119 #[serde(rename = "companyId")]
122 pub company_id: String,
123 pub emails: String,
126 #[serde(default, skip_serializing_if = "Option::is_none")]
128 pub deleted: Option<bool>,
129 #[serde(default, skip_serializing_if = "Option::is_none")]
131 pub skip: Option<String>,
132 #[serde(default, skip_serializing_if = "Option::is_none")]
134 pub limit: Option<String>,
135 #[serde(default, skip_serializing_if = "Option::is_none")]
138 pub projection: Option<String>,
139}
140
141#[derive(Debug, Clone, Default, Serialize, Deserialize)]
143pub struct PermissionsDto {
144 #[serde(
146 rename = "campaignsEnabled",
147 default,
148 skip_serializing_if = "Option::is_none"
149 )]
150 pub campaigns_enabled: Option<bool>,
151 #[serde(
153 rename = "campaignsReadOnly",
154 default,
155 skip_serializing_if = "Option::is_none"
156 )]
157 pub campaigns_read_only: Option<bool>,
158 #[serde(
160 rename = "contactsEnabled",
161 default,
162 skip_serializing_if = "Option::is_none"
163 )]
164 pub contacts_enabled: Option<bool>,
165 #[serde(
167 rename = "workflowsEnabled",
168 default,
169 skip_serializing_if = "Option::is_none"
170 )]
171 pub workflows_enabled: Option<bool>,
172 #[serde(
174 rename = "workflowsReadOnly",
175 default,
176 skip_serializing_if = "Option::is_none"
177 )]
178 pub workflows_read_only: Option<bool>,
179 #[serde(
181 rename = "triggersEnabled",
182 default,
183 skip_serializing_if = "Option::is_none"
184 )]
185 pub triggers_enabled: Option<bool>,
186 #[serde(
188 rename = "funnelsEnabled",
189 default,
190 skip_serializing_if = "Option::is_none"
191 )]
192 pub funnels_enabled: Option<bool>,
193 #[serde(
195 rename = "websitesEnabled",
196 default,
197 skip_serializing_if = "Option::is_none"
198 )]
199 pub websites_enabled: Option<bool>,
200 #[serde(
202 rename = "opportunitiesEnabled",
203 default,
204 skip_serializing_if = "Option::is_none"
205 )]
206 pub opportunities_enabled: Option<bool>,
207 #[serde(
209 rename = "dashboardStatsEnabled",
210 default,
211 skip_serializing_if = "Option::is_none"
212 )]
213 pub dashboard_stats_enabled: Option<bool>,
214 #[serde(
216 rename = "bulkRequestsEnabled",
217 default,
218 skip_serializing_if = "Option::is_none"
219 )]
220 pub bulk_requests_enabled: Option<bool>,
221 #[serde(
223 rename = "appointmentsEnabled",
224 default,
225 skip_serializing_if = "Option::is_none"
226 )]
227 pub appointments_enabled: Option<bool>,
228 #[serde(
230 rename = "reviewsEnabled",
231 default,
232 skip_serializing_if = "Option::is_none"
233 )]
234 pub reviews_enabled: Option<bool>,
235 #[serde(
237 rename = "onlineListingsEnabled",
238 default,
239 skip_serializing_if = "Option::is_none"
240 )]
241 pub online_listings_enabled: Option<bool>,
242 #[serde(
244 rename = "phoneCallEnabled",
245 default,
246 skip_serializing_if = "Option::is_none"
247 )]
248 pub phone_call_enabled: Option<bool>,
249 #[serde(
251 rename = "conversationsEnabled",
252 default,
253 skip_serializing_if = "Option::is_none"
254 )]
255 pub conversations_enabled: Option<bool>,
256 #[serde(
258 rename = "assignedDataOnly",
259 default,
260 skip_serializing_if = "Option::is_none"
261 )]
262 pub assigned_data_only: Option<bool>,
263 #[serde(
265 rename = "adwordsReportingEnabled",
266 default,
267 skip_serializing_if = "Option::is_none"
268 )]
269 pub adwords_reporting_enabled: Option<bool>,
270 #[serde(
272 rename = "membershipEnabled",
273 default,
274 skip_serializing_if = "Option::is_none"
275 )]
276 pub membership_enabled: Option<bool>,
277 #[serde(
279 rename = "facebookAdsReportingEnabled",
280 default,
281 skip_serializing_if = "Option::is_none"
282 )]
283 pub facebook_ads_reporting_enabled: Option<bool>,
284 #[serde(
286 rename = "attributionsReportingEnabled",
287 default,
288 skip_serializing_if = "Option::is_none"
289 )]
290 pub attributions_reporting_enabled: Option<bool>,
291 #[serde(
293 rename = "settingsEnabled",
294 default,
295 skip_serializing_if = "Option::is_none"
296 )]
297 pub settings_enabled: Option<bool>,
298 #[serde(
300 rename = "tagsEnabled",
301 default,
302 skip_serializing_if = "Option::is_none"
303 )]
304 pub tags_enabled: Option<bool>,
305 #[serde(
307 rename = "leadValueEnabled",
308 default,
309 skip_serializing_if = "Option::is_none"
310 )]
311 pub lead_value_enabled: Option<bool>,
312 #[serde(
314 rename = "marketingEnabled",
315 default,
316 skip_serializing_if = "Option::is_none"
317 )]
318 pub marketing_enabled: Option<bool>,
319 #[serde(
321 rename = "agentReportingEnabled",
322 default,
323 skip_serializing_if = "Option::is_none"
324 )]
325 pub agent_reporting_enabled: Option<bool>,
326 #[serde(
328 rename = "botService",
329 default,
330 skip_serializing_if = "Option::is_none"
331 )]
332 pub bot_service: Option<bool>,
333 #[serde(
335 rename = "socialPlanner",
336 default,
337 skip_serializing_if = "Option::is_none"
338 )]
339 pub social_planner: Option<bool>,
340 #[serde(
342 rename = "bloggingEnabled",
343 default,
344 skip_serializing_if = "Option::is_none"
345 )]
346 pub blogging_enabled: Option<bool>,
347 #[serde(
349 rename = "invoiceEnabled",
350 default,
351 skip_serializing_if = "Option::is_none"
352 )]
353 pub invoice_enabled: Option<bool>,
354 #[serde(
356 rename = "affiliateManagerEnabled",
357 default,
358 skip_serializing_if = "Option::is_none"
359 )]
360 pub affiliate_manager_enabled: Option<bool>,
361 #[serde(
363 rename = "contentAiEnabled",
364 default,
365 skip_serializing_if = "Option::is_none"
366 )]
367 pub content_ai_enabled: Option<bool>,
368 #[serde(
370 rename = "refundsEnabled",
371 default,
372 skip_serializing_if = "Option::is_none"
373 )]
374 pub refunds_enabled: Option<bool>,
375 #[serde(
377 rename = "recordPaymentEnabled",
378 default,
379 skip_serializing_if = "Option::is_none"
380 )]
381 pub record_payment_enabled: Option<bool>,
382 #[serde(
384 rename = "cancelSubscriptionEnabled",
385 default,
386 skip_serializing_if = "Option::is_none"
387 )]
388 pub cancel_subscription_enabled: Option<bool>,
389 #[serde(
391 rename = "paymentsEnabled",
392 default,
393 skip_serializing_if = "Option::is_none"
394 )]
395 pub payments_enabled: Option<bool>,
396 #[serde(
398 rename = "communitiesEnabled",
399 default,
400 skip_serializing_if = "Option::is_none"
401 )]
402 pub communities_enabled: Option<bool>,
403 #[serde(
405 rename = "exportPaymentsEnabled",
406 default,
407 skip_serializing_if = "Option::is_none"
408 )]
409 pub export_payments_enabled: Option<bool>,
410}
411
412#[derive(Debug, Clone, Default, Serialize, Deserialize)]
414pub struct RoleSchema {
415 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
417 pub type_: Option<String>,
418 #[serde(default, skip_serializing_if = "Option::is_none")]
420 pub role: Option<String>,
421 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
423 pub location_ids: Vec<String>,
424 #[serde(
426 rename = "restrictSubAccount",
427 default,
428 skip_serializing_if = "Option::is_none"
429 )]
430 pub restrict_sub_account: Option<bool>,
431}
432
433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
435pub struct SearchUserSuccessfulResponseDto {
436 #[serde(default, skip_serializing_if = "Vec::is_empty")]
438 pub users: Vec<UserSchema>,
439 #[serde(default, skip_serializing_if = "Option::is_none")]
441 pub count: Option<f64>,
442}
443
444#[derive(Debug, Clone, Default, Serialize, Deserialize)]
446pub struct UpdateUserDto {
447 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
449 pub first_name: Option<String>,
450 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
452 pub last_name: Option<String>,
453 #[serde(default, skip_serializing_if = "Option::is_none")]
455 pub email: Option<String>,
456 #[serde(default, skip_serializing_if = "Option::is_none")]
461 pub password: Option<String>,
462 #[serde(default, skip_serializing_if = "Option::is_none")]
464 pub phone: Option<String>,
465 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
467 pub type_: Option<String>,
468 #[serde(default, skip_serializing_if = "Option::is_none")]
470 pub role: Option<String>,
471 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
473 pub company_id: Option<String>,
474 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
476 pub location_ids: Vec<String>,
477 #[serde(default, skip_serializing_if = "Option::is_none")]
479 pub permissions: Option<PermissionsDto>,
480 #[serde(default, skip_serializing_if = "Vec::is_empty")]
487 pub scopes: Vec<String>,
488 #[serde(
495 rename = "scopesAssignedToOnly",
496 default,
497 skip_serializing_if = "Vec::is_empty"
498 )]
499 pub scopes_assigned_to_only: Vec<String>,
500 #[serde(
502 rename = "profilePhoto",
503 default,
504 skip_serializing_if = "Option::is_none"
505 )]
506 pub profile_photo: Option<String>,
507 #[serde(
515 rename = "twilioPhone",
516 default,
517 skip_serializing_if = "Option::is_none"
518 )]
519 pub twilio_phone: Option<serde_json::Value>,
520 #[serde(
524 rename = "platformLanguage",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub platform_language: Option<String>,
529}
530
531#[derive(Debug, Clone, Default, Serialize, Deserialize)]
533pub struct UserSchema {
534 #[serde(default, skip_serializing_if = "Option::is_none")]
536 pub id: Option<String>,
537 #[serde(default, skip_serializing_if = "Option::is_none")]
539 pub name: Option<String>,
540 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
542 pub first_name: Option<String>,
543 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
545 pub last_name: Option<String>,
546 #[serde(default, skip_serializing_if = "Option::is_none")]
548 pub email: Option<String>,
549 #[serde(default, skip_serializing_if = "Option::is_none")]
551 pub phone: Option<String>,
552 #[serde(default, skip_serializing_if = "Option::is_none")]
554 pub extension: Option<String>,
555 #[serde(default, skip_serializing_if = "Option::is_none")]
557 pub permissions: Option<PermissionsDto>,
558 #[serde(default, skip_serializing_if = "Option::is_none")]
564 pub scopes: Option<String>,
565 #[serde(default, skip_serializing_if = "Option::is_none")]
567 pub roles: Option<RoleSchema>,
568 #[serde(default, skip_serializing_if = "Option::is_none")]
570 pub deleted: Option<bool>,
571 #[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
573 pub lc_phone: Option<serde_json::Value>,
574 #[serde(
578 rename = "platformLanguage",
579 default,
580 skip_serializing_if = "Option::is_none"
581 )]
582 pub platform_language: Option<String>,
583}
584
585#[derive(Debug, Clone, Default, Serialize, Deserialize)]
587pub struct UserSuccessfulResponseDto {
588 #[serde(default, skip_serializing_if = "Option::is_none")]
590 pub id: Option<String>,
591 #[serde(default, skip_serializing_if = "Option::is_none")]
593 pub name: Option<String>,
594 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
596 pub first_name: Option<String>,
597 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
599 pub last_name: Option<String>,
600 #[serde(default, skip_serializing_if = "Option::is_none")]
602 pub email: Option<String>,
603 #[serde(default, skip_serializing_if = "Option::is_none")]
605 pub phone: Option<String>,
606 #[serde(default, skip_serializing_if = "Option::is_none")]
608 pub extension: Option<String>,
609 #[serde(default, skip_serializing_if = "Option::is_none")]
611 pub permissions: Option<PermissionsDto>,
612 #[serde(default, skip_serializing_if = "Option::is_none")]
618 pub scopes: Option<String>,
619 #[serde(default, skip_serializing_if = "Option::is_none")]
621 pub roles: Option<RoleSchema>,
622 #[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
624 pub lc_phone: Option<serde_json::Value>,
625 #[serde(
629 rename = "platformLanguage",
630 default,
631 skip_serializing_if = "Option::is_none"
632 )]
633 pub platform_language: Option<String>,
634}