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 CreateUserDto {
24 #[serde(rename = "companyId")]
27 pub company_id: String,
28 pub email: String,
31 pub password: String,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub phone: Option<String>,
40 #[serde(rename = "type")]
43 pub type_: String,
44 pub role: String,
47 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
50 pub location_ids: Vec<String>,
51 #[serde(default, skip_serializing_if = "Option::is_none")]
53 pub permissions: Option<PermissionsDto>,
54 #[serde(default, skip_serializing_if = "Vec::is_empty")]
61 pub scopes: Vec<String>,
62 #[serde(
69 rename = "scopesAssignedToOnly",
70 default,
71 skip_serializing_if = "Vec::is_empty"
72 )]
73 pub scopes_assigned_to_only: Vec<String>,
74 #[serde(
76 rename = "profilePhoto",
77 default,
78 skip_serializing_if = "Option::is_none"
79 )]
80 pub profile_photo: Option<String>,
81 #[serde(
89 rename = "twilioPhone",
90 default,
91 skip_serializing_if = "Option::is_none"
92 )]
93 pub twilio_phone: Option<serde_json::Value>,
94 #[serde(
98 rename = "platformLanguage",
99 default,
100 skip_serializing_if = "Option::is_none"
101 )]
102 pub platform_language: Option<String>,
103 #[serde(rename = "firstName")]
106 pub first_name: String,
107 #[serde(rename = "lastName")]
110 pub last_name: String,
111}
112
113#[derive(Debug, Clone, Default, Serialize, Deserialize)]
115pub struct DeleteUserSuccessfulResponseV3Dto {
116 #[serde(default, skip_serializing_if = "Option::is_none")]
118 pub succeeded: Option<bool>,
119 #[serde(default, skip_serializing_if = "Option::is_none")]
121 pub message: Option<String>,
122}
123
124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
126pub struct FilterByEmailDto {
127 #[serde(rename = "companyId")]
130 pub company_id: String,
131 pub emails: String,
134 #[serde(default, skip_serializing_if = "Option::is_none")]
136 pub deleted: Option<bool>,
137 #[serde(default, skip_serializing_if = "Option::is_none")]
139 pub skip: Option<String>,
140 #[serde(default, skip_serializing_if = "Option::is_none")]
142 pub limit: Option<String>,
143 #[serde(default, skip_serializing_if = "Option::is_none")]
146 pub projection: Option<String>,
147}
148
149#[derive(Debug, Clone, Default, Serialize, Deserialize)]
151pub struct PermissionsDto {
152 #[serde(
154 rename = "campaignsEnabled",
155 default,
156 skip_serializing_if = "Option::is_none"
157 )]
158 pub campaigns_enabled: Option<bool>,
159 #[serde(
161 rename = "campaignsReadOnly",
162 default,
163 skip_serializing_if = "Option::is_none"
164 )]
165 pub campaigns_read_only: Option<bool>,
166 #[serde(
168 rename = "contactsEnabled",
169 default,
170 skip_serializing_if = "Option::is_none"
171 )]
172 pub contacts_enabled: Option<bool>,
173 #[serde(
175 rename = "workflowsEnabled",
176 default,
177 skip_serializing_if = "Option::is_none"
178 )]
179 pub workflows_enabled: Option<bool>,
180 #[serde(
182 rename = "workflowsReadOnly",
183 default,
184 skip_serializing_if = "Option::is_none"
185 )]
186 pub workflows_read_only: Option<bool>,
187 #[serde(
189 rename = "triggersEnabled",
190 default,
191 skip_serializing_if = "Option::is_none"
192 )]
193 pub triggers_enabled: Option<bool>,
194 #[serde(
196 rename = "funnelsEnabled",
197 default,
198 skip_serializing_if = "Option::is_none"
199 )]
200 pub funnels_enabled: Option<bool>,
201 #[serde(
203 rename = "websitesEnabled",
204 default,
205 skip_serializing_if = "Option::is_none"
206 )]
207 pub websites_enabled: Option<bool>,
208 #[serde(
210 rename = "opportunitiesEnabled",
211 default,
212 skip_serializing_if = "Option::is_none"
213 )]
214 pub opportunities_enabled: Option<bool>,
215 #[serde(
217 rename = "dashboardStatsEnabled",
218 default,
219 skip_serializing_if = "Option::is_none"
220 )]
221 pub dashboard_stats_enabled: Option<bool>,
222 #[serde(
224 rename = "bulkRequestsEnabled",
225 default,
226 skip_serializing_if = "Option::is_none"
227 )]
228 pub bulk_requests_enabled: Option<bool>,
229 #[serde(
231 rename = "appointmentsEnabled",
232 default,
233 skip_serializing_if = "Option::is_none"
234 )]
235 pub appointments_enabled: Option<bool>,
236 #[serde(
238 rename = "reviewsEnabled",
239 default,
240 skip_serializing_if = "Option::is_none"
241 )]
242 pub reviews_enabled: Option<bool>,
243 #[serde(
245 rename = "onlineListingsEnabled",
246 default,
247 skip_serializing_if = "Option::is_none"
248 )]
249 pub online_listings_enabled: Option<bool>,
250 #[serde(
252 rename = "phoneCallEnabled",
253 default,
254 skip_serializing_if = "Option::is_none"
255 )]
256 pub phone_call_enabled: Option<bool>,
257 #[serde(
259 rename = "conversationsEnabled",
260 default,
261 skip_serializing_if = "Option::is_none"
262 )]
263 pub conversations_enabled: Option<bool>,
264 #[serde(
266 rename = "assignedDataOnly",
267 default,
268 skip_serializing_if = "Option::is_none"
269 )]
270 pub assigned_data_only: Option<bool>,
271 #[serde(
273 rename = "adwordsReportingEnabled",
274 default,
275 skip_serializing_if = "Option::is_none"
276 )]
277 pub adwords_reporting_enabled: Option<bool>,
278 #[serde(
280 rename = "membershipEnabled",
281 default,
282 skip_serializing_if = "Option::is_none"
283 )]
284 pub membership_enabled: Option<bool>,
285 #[serde(
287 rename = "facebookAdsReportingEnabled",
288 default,
289 skip_serializing_if = "Option::is_none"
290 )]
291 pub facebook_ads_reporting_enabled: Option<bool>,
292 #[serde(
294 rename = "attributionsReportingEnabled",
295 default,
296 skip_serializing_if = "Option::is_none"
297 )]
298 pub attributions_reporting_enabled: Option<bool>,
299 #[serde(
301 rename = "settingsEnabled",
302 default,
303 skip_serializing_if = "Option::is_none"
304 )]
305 pub settings_enabled: Option<bool>,
306 #[serde(
308 rename = "tagsEnabled",
309 default,
310 skip_serializing_if = "Option::is_none"
311 )]
312 pub tags_enabled: Option<bool>,
313 #[serde(
315 rename = "leadValueEnabled",
316 default,
317 skip_serializing_if = "Option::is_none"
318 )]
319 pub lead_value_enabled: Option<bool>,
320 #[serde(
322 rename = "marketingEnabled",
323 default,
324 skip_serializing_if = "Option::is_none"
325 )]
326 pub marketing_enabled: Option<bool>,
327 #[serde(
329 rename = "agentReportingEnabled",
330 default,
331 skip_serializing_if = "Option::is_none"
332 )]
333 pub agent_reporting_enabled: Option<bool>,
334 #[serde(
336 rename = "botService",
337 default,
338 skip_serializing_if = "Option::is_none"
339 )]
340 pub bot_service: Option<bool>,
341 #[serde(
343 rename = "socialPlanner",
344 default,
345 skip_serializing_if = "Option::is_none"
346 )]
347 pub social_planner: Option<bool>,
348 #[serde(
350 rename = "bloggingEnabled",
351 default,
352 skip_serializing_if = "Option::is_none"
353 )]
354 pub blogging_enabled: Option<bool>,
355 #[serde(
357 rename = "invoiceEnabled",
358 default,
359 skip_serializing_if = "Option::is_none"
360 )]
361 pub invoice_enabled: Option<bool>,
362 #[serde(
364 rename = "affiliateManagerEnabled",
365 default,
366 skip_serializing_if = "Option::is_none"
367 )]
368 pub affiliate_manager_enabled: Option<bool>,
369 #[serde(
371 rename = "contentAiEnabled",
372 default,
373 skip_serializing_if = "Option::is_none"
374 )]
375 pub content_ai_enabled: Option<bool>,
376 #[serde(
378 rename = "refundsEnabled",
379 default,
380 skip_serializing_if = "Option::is_none"
381 )]
382 pub refunds_enabled: Option<bool>,
383 #[serde(
385 rename = "recordPaymentEnabled",
386 default,
387 skip_serializing_if = "Option::is_none"
388 )]
389 pub record_payment_enabled: Option<bool>,
390 #[serde(
392 rename = "cancelSubscriptionEnabled",
393 default,
394 skip_serializing_if = "Option::is_none"
395 )]
396 pub cancel_subscription_enabled: Option<bool>,
397 #[serde(
399 rename = "paymentsEnabled",
400 default,
401 skip_serializing_if = "Option::is_none"
402 )]
403 pub payments_enabled: Option<bool>,
404 #[serde(
406 rename = "communitiesEnabled",
407 default,
408 skip_serializing_if = "Option::is_none"
409 )]
410 pub communities_enabled: Option<bool>,
411 #[serde(
413 rename = "exportPaymentsEnabled",
414 default,
415 skip_serializing_if = "Option::is_none"
416 )]
417 pub export_payments_enabled: Option<bool>,
418}
419
420#[derive(Debug, Clone, Default, Serialize, Deserialize)]
422pub struct RoleSchema {
423 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
425 pub type_: Option<String>,
426 #[serde(default, skip_serializing_if = "Option::is_none")]
428 pub role: Option<String>,
429 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
431 pub location_ids: Vec<String>,
432 #[serde(
434 rename = "restrictSubAccount",
435 default,
436 skip_serializing_if = "Option::is_none"
437 )]
438 pub restrict_sub_account: Option<bool>,
439}
440
441#[derive(Debug, Clone, Default, Serialize, Deserialize)]
443pub struct SearchUserSuccessfulResponseDto {
444 #[serde(default, skip_serializing_if = "Vec::is_empty")]
446 pub users: Vec<UserSchema>,
447 #[serde(default, skip_serializing_if = "Option::is_none")]
449 pub count: Option<f64>,
450}
451
452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
454pub struct UpdateUserDto {
455 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
457 pub first_name: Option<String>,
458 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
460 pub last_name: Option<String>,
461 #[serde(default, skip_serializing_if = "Option::is_none")]
463 pub email: Option<String>,
464 #[serde(default, skip_serializing_if = "Option::is_none")]
469 pub password: Option<String>,
470 #[serde(default, skip_serializing_if = "Option::is_none")]
472 pub phone: Option<String>,
473 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
475 pub type_: Option<String>,
476 #[serde(default, skip_serializing_if = "Option::is_none")]
478 pub role: Option<String>,
479 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
481 pub company_id: Option<String>,
482 #[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
484 pub location_ids: Vec<String>,
485 #[serde(default, skip_serializing_if = "Option::is_none")]
487 pub permissions: Option<PermissionsDto>,
488 #[serde(default, skip_serializing_if = "Vec::is_empty")]
495 pub scopes: Vec<String>,
496 #[serde(
503 rename = "scopesAssignedToOnly",
504 default,
505 skip_serializing_if = "Vec::is_empty"
506 )]
507 pub scopes_assigned_to_only: Vec<String>,
508 #[serde(
510 rename = "profilePhoto",
511 default,
512 skip_serializing_if = "Option::is_none"
513 )]
514 pub profile_photo: Option<String>,
515 #[serde(
523 rename = "twilioPhone",
524 default,
525 skip_serializing_if = "Option::is_none"
526 )]
527 pub twilio_phone: Option<serde_json::Value>,
528 #[serde(
532 rename = "platformLanguage",
533 default,
534 skip_serializing_if = "Option::is_none"
535 )]
536 pub platform_language: Option<String>,
537}
538
539#[derive(Debug, Clone, Default, Serialize, Deserialize)]
541pub struct UserSchema {
542 #[serde(default, skip_serializing_if = "Option::is_none")]
544 pub id: Option<String>,
545 #[serde(default, skip_serializing_if = "Option::is_none")]
547 pub name: Option<String>,
548 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
550 pub first_name: Option<String>,
551 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
553 pub last_name: Option<String>,
554 #[serde(default, skip_serializing_if = "Option::is_none")]
556 pub email: Option<String>,
557 #[serde(default, skip_serializing_if = "Option::is_none")]
559 pub phone: Option<String>,
560 #[serde(default, skip_serializing_if = "Option::is_none")]
562 pub extension: Option<String>,
563 #[serde(default, skip_serializing_if = "Option::is_none")]
565 pub permissions: Option<PermissionsDto>,
566 #[serde(default, skip_serializing_if = "Option::is_none")]
572 pub scopes: Option<String>,
573 #[serde(default, skip_serializing_if = "Option::is_none")]
575 pub roles: Option<RoleSchema>,
576 #[serde(default, skip_serializing_if = "Option::is_none")]
578 pub deleted: Option<bool>,
579 #[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
581 pub lc_phone: Option<serde_json::Value>,
582 #[serde(
586 rename = "platformLanguage",
587 default,
588 skip_serializing_if = "Option::is_none"
589 )]
590 pub platform_language: Option<String>,
591}
592
593#[derive(Debug, Clone, Default, Serialize, Deserialize)]
595pub struct UserSuccessfulResponseDto {
596 #[serde(default, skip_serializing_if = "Option::is_none")]
598 pub id: Option<String>,
599 #[serde(default, skip_serializing_if = "Option::is_none")]
601 pub name: Option<String>,
602 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
604 pub first_name: Option<String>,
605 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
607 pub last_name: Option<String>,
608 #[serde(default, skip_serializing_if = "Option::is_none")]
610 pub email: Option<String>,
611 #[serde(default, skip_serializing_if = "Option::is_none")]
613 pub phone: Option<String>,
614 #[serde(default, skip_serializing_if = "Option::is_none")]
616 pub extension: Option<String>,
617 #[serde(default, skip_serializing_if = "Option::is_none")]
619 pub permissions: Option<PermissionsDto>,
620 #[serde(default, skip_serializing_if = "Option::is_none")]
626 pub scopes: Option<String>,
627 #[serde(default, skip_serializing_if = "Option::is_none")]
629 pub roles: Option<RoleSchema>,
630 #[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
632 pub lc_phone: Option<serde_json::Value>,
633 #[serde(
637 rename = "platformLanguage",
638 default,
639 skip_serializing_if = "Option::is_none"
640 )]
641 pub platform_language: Option<String>,
642}