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 AccountsListResponseDTO {
24 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub success: Option<bool>,
29 #[serde(
33 rename = "statusCode",
34 default,
35 skip_serializing_if = "Option::is_none"
36 )]
37 pub status_code: Option<f64>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub message: Option<String>,
43 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub results: Option<AccountsListResponseSchema>,
46}
47
48#[derive(Debug, Clone, Default, Serialize, Deserialize)]
50pub struct AccountsListResponseSchema {
51 #[serde(default, skip_serializing_if = "Vec::is_empty")]
52 pub accounts: Vec<GetAccountSchema>,
53 #[serde(default, skip_serializing_if = "Vec::is_empty")]
54 pub groups: Vec<GetGroupSchema>,
55}
56
57#[derive(Debug, Clone, Default, Serialize, Deserialize)]
59pub struct AttachFBAccountDTO {
60 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
61 pub type_: Option<serde_json::Value>,
62 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
63 pub origin_id: Option<String>,
64 #[serde(default, skip_serializing_if = "Option::is_none")]
65 pub name: Option<String>,
66 #[serde(default, skip_serializing_if = "Option::is_none")]
67 pub avatar: Option<String>,
68 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
70 pub company_id: Option<String>,
71}
72
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
75pub struct AttachGMBLocationDTO {
76 #[serde(default, skip_serializing_if = "Option::is_none")]
77 pub location: Option<serde_json::Value>,
78 #[serde(default, skip_serializing_if = "Option::is_none")]
79 pub account: Option<serde_json::Value>,
80 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
82 pub company_id: Option<String>,
83}
84
85#[derive(Debug, Clone, Default, Serialize, Deserialize)]
87pub struct AttachIGAccountDTO {
88 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
89 pub origin_id: Option<String>,
90 #[serde(default, skip_serializing_if = "Option::is_none")]
91 pub name: Option<String>,
92 #[serde(default, skip_serializing_if = "Option::is_none")]
93 pub avatar: Option<String>,
94 #[serde(rename = "pageId")]
96 pub page_id: String,
97 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
99 pub company_id: Option<String>,
100}
101
102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
104pub struct AttachLinkedinAccountDTO {
105 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
107 pub type_: Option<String>,
108 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
109 pub origin_id: Option<String>,
110 #[serde(default, skip_serializing_if = "Option::is_none")]
111 pub name: Option<String>,
112 #[serde(default, skip_serializing_if = "Option::is_none")]
113 pub avatar: Option<String>,
114 #[serde(default, skip_serializing_if = "Option::is_none")]
115 pub urn: Option<String>,
116 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
118 pub company_id: Option<String>,
119}
120
121#[derive(Debug, Clone, Default, Serialize, Deserialize)]
123pub struct AttachTiktokAccountDTO {
124 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
126 pub type_: Option<String>,
127 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
128 pub origin_id: Option<String>,
129 #[serde(default, skip_serializing_if = "Option::is_none")]
130 pub name: Option<String>,
131 #[serde(default, skip_serializing_if = "Option::is_none")]
132 pub avatar: Option<String>,
133 #[serde(default, skip_serializing_if = "Option::is_none")]
134 pub verified: Option<bool>,
135 #[serde(default, skip_serializing_if = "Option::is_none")]
136 pub username: Option<String>,
137 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
139 pub company_id: Option<String>,
140}
141
142#[derive(Debug, Clone, Default, Serialize, Deserialize)]
144pub struct AttachTwitterAccountDTO {
145 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
146 pub origin_id: Option<String>,
147 #[serde(default, skip_serializing_if = "Option::is_none")]
148 pub name: Option<String>,
149 #[serde(default, skip_serializing_if = "Option::is_none")]
150 pub username: Option<String>,
151 #[serde(default, skip_serializing_if = "Option::is_none")]
152 pub avatar: Option<String>,
153 #[serde(default, skip_serializing_if = "Option::is_none")]
154 pub protected: Option<bool>,
155 #[serde(default, skip_serializing_if = "Option::is_none")]
156 pub verified: Option<bool>,
157 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
159 pub company_id: Option<String>,
160}
161
162#[derive(Debug, Clone, Default, Serialize, Deserialize)]
164pub struct BulkDeletePostSuccessfulResponseSchema {
165 #[serde(
166 rename = "deletedCount",
167 default,
168 skip_serializing_if = "Option::is_none"
169 )]
170 pub deleted_count: Option<f64>,
171}
172
173#[derive(Debug, Clone, Default, Serialize, Deserialize)]
175pub struct BulkDeleteResponseDto {
176 #[serde(default, skip_serializing_if = "Option::is_none")]
180 pub success: Option<bool>,
181 #[serde(
185 rename = "statusCode",
186 default,
187 skip_serializing_if = "Option::is_none"
188 )]
189 pub status_code: Option<f64>,
190 #[serde(default, skip_serializing_if = "Option::is_none")]
194 pub message: Option<String>,
195 #[serde(default, skip_serializing_if = "Option::is_none")]
199 pub results: Option<serde_json::Value>,
200}
201
202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
204pub struct CSVDefaultDTO {
205 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
207 pub user_id: Option<String>,
208}
209
210#[derive(Debug, Clone, Default, Serialize, Deserialize)]
212pub struct CSVImportSchema {
213 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
217 pub id: Option<String>,
218 #[serde(
220 rename = "locationId",
221 default,
222 skip_serializing_if = "Option::is_none"
223 )]
224 pub location_id: Option<String>,
225 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
227 pub file_name: Option<String>,
228 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
230 pub account_ids: Vec<String>,
231 #[serde(default, skip_serializing_if = "Option::is_none")]
233 pub file: Option<String>,
234 #[serde(default, skip_serializing_if = "Option::is_none")]
237 pub status: Option<String>,
238 #[serde(default, skip_serializing_if = "Option::is_none")]
240 pub count: Option<f64>,
241 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
243 pub created_by: Option<String>,
244 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
246 pub trace_id: Option<String>,
247 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
249 pub origin_id: Option<String>,
250 #[serde(default, skip_serializing_if = "Option::is_none")]
252 pub approver: Option<String>,
253 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
256 pub created_at: Option<String>,
257}
258
259#[derive(Debug, Clone, Default, Serialize, Deserialize)]
261pub struct CSVMediaResponseSchema {
262 #[serde(default, skip_serializing_if = "Option::is_none")]
264 pub url: Option<String>,
265 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
267 pub type_: Option<String>,
268 #[serde(default, skip_serializing_if = "Option::is_none")]
270 pub size: Option<f64>,
271 #[serde(default, skip_serializing_if = "Option::is_none")]
273 pub width: Option<f64>,
274 #[serde(default, skip_serializing_if = "Option::is_none")]
276 pub height: Option<f64>,
277 #[serde(
279 rename = "aspectRatio",
280 default,
281 skip_serializing_if = "Option::is_none"
282 )]
283 pub aspect_ratio: Option<f64>,
284 #[serde(default, skip_serializing_if = "Option::is_none")]
286 pub duration: Option<f64>,
287 #[serde(default, skip_serializing_if = "Option::is_none")]
289 pub format: Option<String>,
290 #[serde(
292 rename = "videoCodecName",
293 default,
294 skip_serializing_if = "Option::is_none"
295 )]
296 pub video_codec_name: Option<String>,
297 #[serde(rename = "frameRate", default, skip_serializing_if = "Option::is_none")]
299 pub frame_rate: Option<f64>,
300 #[serde(
302 rename = "audioCodecName",
303 default,
304 skip_serializing_if = "Option::is_none"
305 )]
306 pub audio_codec_name: Option<String>,
307 #[serde(
309 rename = "audioChannels",
310 default,
311 skip_serializing_if = "Option::is_none"
312 )]
313 pub audio_channels: Option<f64>,
314 #[serde(
316 rename = "displayAspectRatio",
317 default,
318 skip_serializing_if = "Option::is_none"
319 )]
320 pub display_aspect_ratio: Option<String>,
321 #[serde(default, skip_serializing_if = "Vec::is_empty")]
323 pub frames: Vec<String>,
324 #[serde(
326 rename = "selectedPoster",
327 default,
328 skip_serializing_if = "Option::is_none"
329 )]
330 pub selected_poster: Option<f64>,
331 #[serde(default, skip_serializing_if = "Option::is_none")]
333 pub error: Option<String>,
334 #[serde(
338 rename = "instagramError",
339 default,
340 skip_serializing_if = "Option::is_none"
341 )]
342 pub instagram_error: Option<String>,
343 #[serde(rename = "gmbError", default, skip_serializing_if = "Option::is_none")]
346 pub gmb_error: Option<String>,
347 #[serde(
350 rename = "facebookError",
351 default,
352 skip_serializing_if = "Option::is_none"
353 )]
354 pub facebook_error: Option<String>,
355 #[serde(
358 rename = "linkedinError",
359 default,
360 skip_serializing_if = "Option::is_none"
361 )]
362 pub linkedin_error: Option<String>,
363 #[serde(
366 rename = "twitterError",
367 default,
368 skip_serializing_if = "Option::is_none"
369 )]
370 pub twitter_error: Option<String>,
371 #[serde(
374 rename = "tiktokError",
375 default,
376 skip_serializing_if = "Option::is_none"
377 )]
378 pub tiktok_error: Option<String>,
379 #[serde(
382 rename = "tiktokBusinessError",
383 default,
384 skip_serializing_if = "Option::is_none"
385 )]
386 pub tiktok_business_error: Option<String>,
387 #[serde(
389 rename = "invalidError",
390 default,
391 skip_serializing_if = "Option::is_none"
392 )]
393 pub invalid_error: Option<String>,
394}
395
396#[derive(Debug, Clone, Default, Serialize, Deserialize)]
398pub struct CSVPostSchema {
399 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
401 pub account_ids: Vec<String>,
402 #[serde(default, skip_serializing_if = "Option::is_none")]
404 pub link: Option<IOgTagsSchema>,
405 #[serde(default, skip_serializing_if = "Vec::is_empty")]
407 pub medias: Vec<CSVMediaResponseSchema>,
408 #[serde(
409 rename = "scheduleDate",
410 default,
411 skip_serializing_if = "Option::is_none"
412 )]
413 pub schedule_date: Option<String>,
414 #[serde(default, skip_serializing_if = "Option::is_none")]
415 pub summary: Option<String>,
416 #[serde(
417 rename = "followUpComment",
418 default,
419 skip_serializing_if = "Option::is_none"
420 )]
421 pub follow_up_comment: Option<String>,
422 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
423 pub type_: Option<serde_json::Value>,
424 #[serde(
426 rename = "tiktokPostDetails",
427 default,
428 skip_serializing_if = "Option::is_none"
429 )]
430 pub tiktok_post_details: Option<TiktokPostSchema>,
431 #[serde(
433 rename = "gmbPostDetails",
434 default,
435 skip_serializing_if = "Option::is_none"
436 )]
437 pub gmb_post_details: Option<GMBPostSchema>,
438 #[serde(
440 rename = "errorMessage",
441 default,
442 skip_serializing_if = "Option::is_none"
443 )]
444 pub error_message: Option<String>,
445}
446
447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
449pub struct CSVResponseSchema {
450 #[serde(default, skip_serializing_if = "Option::is_none")]
452 pub csv: Option<CsvResponse>,
453}
454
455#[derive(Debug, Clone, Default, Serialize, Deserialize)]
457pub struct CategorySchema {
458 #[serde(default, skip_serializing_if = "Option::is_none")]
460 pub name: Option<String>,
461 #[serde(
463 rename = "primaryColor",
464 default,
465 skip_serializing_if = "Option::is_none"
466 )]
467 pub primary_color: Option<String>,
468 #[serde(
470 rename = "secondaryColor",
471 default,
472 skip_serializing_if = "Option::is_none"
473 )]
474 pub secondary_color: Option<String>,
475 #[serde(
477 rename = "locationId",
478 default,
479 skip_serializing_if = "Option::is_none"
480 )]
481 pub location_id: Option<String>,
482 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
484 pub id: Option<String>,
485 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
487 pub created_by: Option<String>,
488 #[serde(default, skip_serializing_if = "Option::is_none")]
492 pub deleted: Option<bool>,
493 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
495 pub created_at: Option<String>,
496 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
498 pub updated_at: Option<String>,
499}
500
501#[derive(Debug, Clone, Default, Serialize, Deserialize)]
503pub struct CreatePostDTO {
504 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
507 pub account_ids: Vec<String>,
508 #[serde(default, skip_serializing_if = "Option::is_none")]
511 pub summary: Option<String>,
512 #[serde(default, skip_serializing_if = "Vec::is_empty")]
515 pub media: Vec<PostMediaSchema>,
516 #[serde(default, skip_serializing_if = "Option::is_none")]
519 pub status: Option<serde_json::Value>,
520 #[serde(
522 rename = "scheduleDate",
523 default,
524 skip_serializing_if = "Option::is_none"
525 )]
526 pub schedule_date: Option<String>,
527 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
529 pub created_by: Option<String>,
530 #[serde(
533 rename = "followUpComment",
534 default,
535 skip_serializing_if = "Option::is_none"
536 )]
537 pub follow_up_comment: Option<String>,
538 #[serde(
540 rename = "ogTagsDetails",
541 default,
542 skip_serializing_if = "Option::is_none"
543 )]
544 pub og_tags_details: Option<OgTagsSchema>,
545 #[serde(rename = "type")]
548 pub type_: serde_json::Value,
549 #[serde(
551 rename = "postApprovalDetails",
552 default,
553 skip_serializing_if = "Option::is_none"
554 )]
555 pub post_approval_details: Option<PostApprovalSchema>,
556 #[serde(
558 rename = "scheduleTimeUpdated",
559 default,
560 skip_serializing_if = "Option::is_none"
561 )]
562 pub schedule_time_updated: Option<bool>,
563 #[serde(default, skip_serializing_if = "Vec::is_empty")]
565 pub tags: Vec<String>,
566 #[serde(
568 rename = "categoryId",
569 default,
570 skip_serializing_if = "Option::is_none"
571 )]
572 pub category_id: Option<String>,
573 #[serde(
575 rename = "tiktokPostDetails",
576 default,
577 skip_serializing_if = "Option::is_none"
578 )]
579 pub tiktok_post_details: Option<TiktokPostSchema>,
580 #[serde(
582 rename = "gmbPostDetails",
583 default,
584 skip_serializing_if = "Option::is_none"
585 )]
586 pub gmb_post_details: Option<GMBPostSchema>,
587 #[serde(rename = "userId")]
590 pub user_id: String,
591}
592
593#[derive(Debug, Clone, Default, Serialize, Deserialize)]
595pub struct CreatePostSuccessfulResponseDTO {
596 #[serde(default, skip_serializing_if = "Option::is_none")]
600 pub success: Option<bool>,
601 #[serde(
605 rename = "statusCode",
606 default,
607 skip_serializing_if = "Option::is_none"
608 )]
609 pub status_code: Option<f64>,
610 #[serde(default, skip_serializing_if = "Option::is_none")]
614 pub message: Option<String>,
615 #[serde(default, skip_serializing_if = "Option::is_none")]
617 pub results: Option<CreatePostSuccessfulResponseSchema>,
618}
619
620#[derive(Debug, Clone, Default, Serialize, Deserialize)]
622pub struct CreatePostSuccessfulResponseSchema {
623 #[serde(default, skip_serializing_if = "Option::is_none")]
625 pub post: Option<GetPostFormattedSchema>,
626}
627
628#[derive(Debug, Clone, Default, Serialize, Deserialize)]
630pub struct CsvPostStatusResponseDTO {
631 #[serde(default, skip_serializing_if = "Option::is_none")]
635 pub success: Option<bool>,
636 #[serde(
640 rename = "statusCode",
641 default,
642 skip_serializing_if = "Option::is_none"
643 )]
644 pub status_code: Option<f64>,
645 #[serde(default, skip_serializing_if = "Option::is_none")]
649 pub message: Option<String>,
650}
651
652#[derive(Debug, Clone, Default, Serialize, Deserialize)]
654pub struct CsvResponse {
655 #[serde(
656 rename = "locationId",
657 default,
658 skip_serializing_if = "Option::is_none"
659 )]
660 pub location_id: Option<String>,
661 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
662 pub file_name: Option<String>,
663 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
665 pub account_ids: Vec<String>,
666 #[serde(default, skip_serializing_if = "Option::is_none")]
667 pub file: Option<String>,
668 #[serde(default, skip_serializing_if = "Option::is_none")]
671 pub status: Option<serde_json::Value>,
672 #[serde(default, skip_serializing_if = "Option::is_none")]
673 pub count: Option<f64>,
674 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
675 pub created_by: Option<String>,
676 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
677 pub trace_id: Option<String>,
678 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
679 pub origin_id: Option<String>,
680 #[serde(default, skip_serializing_if = "Option::is_none")]
681 pub approver: Option<String>,
682}
683
684#[derive(Debug, Clone, Default, Serialize, Deserialize)]
686pub struct DateSchema {
687 #[serde(default, skip_serializing_if = "Option::is_none")]
690 pub year: Option<f64>,
691 #[serde(default, skip_serializing_if = "Option::is_none")]
694 pub month: Option<f64>,
695 #[serde(default, skip_serializing_if = "Option::is_none")]
698 pub day: Option<f64>,
699}
700
701#[derive(Debug, Clone, Default, Serialize, Deserialize)]
703pub struct DeleteAccountResponseSchema {
704 #[serde(
706 rename = "locationId",
707 default,
708 skip_serializing_if = "Option::is_none"
709 )]
710 pub location_id: Option<String>,
711 #[serde(default, skip_serializing_if = "Option::is_none")]
713 pub id: Option<String>,
714}
715
716#[derive(Debug, Clone, Default, Serialize, Deserialize)]
718pub struct DeleteCsvResponseDTO {
719 #[serde(default, skip_serializing_if = "Option::is_none")]
723 pub success: Option<bool>,
724 #[serde(
728 rename = "statusCode",
729 default,
730 skip_serializing_if = "Option::is_none"
731 )]
732 pub status_code: Option<f64>,
733 #[serde(default, skip_serializing_if = "Option::is_none")]
737 pub message: Option<String>,
738 #[serde(default, skip_serializing_if = "Option::is_none")]
740 pub results: Option<CSVResponseSchema>,
741}
742
743#[derive(Debug, Clone, Default, Serialize, Deserialize)]
745pub struct DeletePostResponseDTO {
746 #[serde(default, skip_serializing_if = "Option::is_none")]
750 pub success: Option<bool>,
751 #[serde(
755 rename = "statusCode",
756 default,
757 skip_serializing_if = "Option::is_none"
758 )]
759 pub status_code: Option<f64>,
760 #[serde(default, skip_serializing_if = "Option::is_none")]
764 pub message: Option<String>,
765 #[serde(default, skip_serializing_if = "Option::is_none")]
767 pub results: Option<DeletePostResponseSchema>,
768}
769
770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
772pub struct DeletePostResponseSchema {
773 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
777 pub post_id: Option<String>,
778}
779
780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
782pub struct DeletePostSuccessfulResponseDTO {
783 #[serde(default, skip_serializing_if = "Option::is_none")]
787 pub success: Option<bool>,
788 #[serde(
792 rename = "statusCode",
793 default,
794 skip_serializing_if = "Option::is_none"
795 )]
796 pub status_code: Option<f64>,
797 #[serde(default, skip_serializing_if = "Option::is_none")]
801 pub message: Option<String>,
802 #[serde(default, skip_serializing_if = "Option::is_none")]
804 pub results: Option<DeletePostSuccessfulResponseSchema>,
805}
806
807#[derive(Debug, Clone, Default, Serialize, Deserialize)]
809pub struct DeletePostSuccessfulResponseSchema {
810 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
811 pub post_id: Option<String>,
812}
813
814#[derive(Debug, Clone, Default, Serialize, Deserialize)]
816pub struct DeletePostsDto {
817 #[serde(rename = "postIds", default, skip_serializing_if = "Vec::is_empty")]
819 pub post_ids: Vec<String>,
820}
821
822#[derive(Debug, Clone, Default, Serialize, Deserialize)]
824pub struct EndDateSchema {
825 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
827 pub end_date: Option<DateSchema>,
828 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
830 pub end_time: Option<TimeSchema>,
831}
832
833#[derive(Debug, Clone, Default, Serialize, Deserialize)]
835pub struct FacebookPageSchema {
836 #[serde(default, skip_serializing_if = "Option::is_none")]
837 pub id: Option<String>,
838 #[serde(default, skip_serializing_if = "Option::is_none")]
839 pub name: Option<String>,
840 #[serde(default, skip_serializing_if = "Option::is_none")]
841 pub avatar: Option<String>,
842 #[serde(rename = "isOwned", default, skip_serializing_if = "Option::is_none")]
843 pub is_owned: Option<bool>,
844 #[serde(
845 rename = "isConnected",
846 default,
847 skip_serializing_if = "Option::is_none"
848 )]
849 pub is_connected: Option<bool>,
850}
851
852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
854pub struct FormatedApprovalDetails {
855 #[serde(default, skip_serializing_if = "Option::is_none")]
857 pub approver: Option<String>,
858 #[serde(
860 rename = "requesterNote",
861 default,
862 skip_serializing_if = "Option::is_none"
863 )]
864 pub requester_note: Option<String>,
865 #[serde(
867 rename = "approverNote",
868 default,
869 skip_serializing_if = "Option::is_none"
870 )]
871 pub approver_note: Option<String>,
872 #[serde(
875 rename = "approvalStatus",
876 default,
877 skip_serializing_if = "Option::is_none"
878 )]
879 pub approval_status: Option<serde_json::Value>,
880 #[serde(
882 rename = "approverUser",
883 default,
884 skip_serializing_if = "Option::is_none"
885 )]
886 pub approver_user: Option<PostUserSchema>,
887}
888
889#[derive(Debug, Clone, Default, Serialize, Deserialize)]
891pub struct GMBPostSchema {
892 #[serde(
894 rename = "gmbEventType",
895 default,
896 skip_serializing_if = "Option::is_none"
897 )]
898 pub gmb_event_type: Option<String>,
899 #[serde(default, skip_serializing_if = "Option::is_none")]
901 pub title: Option<String>,
902 #[serde(
904 rename = "offerTitle",
905 default,
906 skip_serializing_if = "Option::is_none"
907 )]
908 pub offer_title: Option<String>,
909 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
911 pub start_date: Option<StartDateSchema>,
912 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
914 pub end_date: Option<EndDateSchema>,
915 #[serde(
917 rename = "termsConditions",
918 default,
919 skip_serializing_if = "Option::is_none"
920 )]
921 pub terms_conditions: Option<String>,
922 #[serde(default, skip_serializing_if = "Option::is_none")]
924 pub url: Option<String>,
925 #[serde(
927 rename = "couponCode",
928 default,
929 skip_serializing_if = "Option::is_none"
930 )]
931 pub coupon_code: Option<String>,
932 #[serde(
934 rename = "redeemOnlineUrl",
935 default,
936 skip_serializing_if = "Option::is_none"
937 )]
938 pub redeem_online_url: Option<String>,
939 #[serde(
942 rename = "actionType",
943 default,
944 skip_serializing_if = "Option::is_none"
945 )]
946 pub action_type: Option<serde_json::Value>,
947}
948
949#[derive(Debug, Clone, Default, Serialize, Deserialize)]
951pub struct GetAccountSchema {
952 #[serde(default, skip_serializing_if = "Option::is_none")]
953 pub id: Option<String>,
954 #[serde(rename = "oauthId", default, skip_serializing_if = "Option::is_none")]
955 pub oauth_id: Option<String>,
956 #[serde(rename = "profileId", default, skip_serializing_if = "Option::is_none")]
957 pub profile_id: Option<String>,
958 #[serde(default, skip_serializing_if = "Option::is_none")]
959 pub name: Option<String>,
960 #[serde(default, skip_serializing_if = "Option::is_none")]
963 pub platform: Option<String>,
964 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
965 pub type_: Option<String>,
966 #[serde(default, skip_serializing_if = "Option::is_none")]
967 pub expire: Option<String>,
968 #[serde(rename = "isExpired", default, skip_serializing_if = "Option::is_none")]
969 pub is_expired: Option<bool>,
970 #[serde(default, skip_serializing_if = "Option::is_none")]
971 pub meta: Option<serde_json::Value>,
972}
973
974#[derive(Debug, Clone, Default, Serialize, Deserialize)]
976pub struct GetByIdResponseDTO {
977 #[serde(default, skip_serializing_if = "Option::is_none")]
981 pub success: Option<bool>,
982 #[serde(
986 rename = "statusCode",
987 default,
988 skip_serializing_if = "Option::is_none"
989 )]
990 pub status_code: Option<f64>,
991 #[serde(default, skip_serializing_if = "Option::is_none")]
995 pub message: Option<String>,
996 #[serde(default, skip_serializing_if = "Option::is_none")]
998 pub results: Option<GetCategorySchema>,
999}
1000
1001#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1003pub struct GetByIdResponseSchema {
1004 #[serde(default, skip_serializing_if = "Option::is_none")]
1006 pub name: Option<String>,
1007 #[serde(
1009 rename = "primaryColor",
1010 default,
1011 skip_serializing_if = "Option::is_none"
1012 )]
1013 pub primary_color: Option<String>,
1014 #[serde(
1016 rename = "secondaryColor",
1017 default,
1018 skip_serializing_if = "Option::is_none"
1019 )]
1020 pub secondary_color: Option<String>,
1021 #[serde(
1023 rename = "locationId",
1024 default,
1025 skip_serializing_if = "Option::is_none"
1026 )]
1027 pub location_id: Option<String>,
1028 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1030 pub id: Option<String>,
1031 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1033 pub created_by: Option<String>,
1034 #[serde(default, skip_serializing_if = "Option::is_none")]
1038 pub deleted: Option<bool>,
1039 #[serde(default, skip_serializing_if = "Option::is_none")]
1041 pub message: Option<String>,
1042 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1044 pub created_at: Option<String>,
1045 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1047 pub updated_at: Option<String>,
1048}
1049
1050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1052pub struct GetByLocationIdResponseDTO {
1053 #[serde(default, skip_serializing_if = "Option::is_none")]
1057 pub success: Option<bool>,
1058 #[serde(
1062 rename = "statusCode",
1063 default,
1064 skip_serializing_if = "Option::is_none"
1065 )]
1066 pub status_code: Option<f64>,
1067 #[serde(default, skip_serializing_if = "Option::is_none")]
1071 pub message: Option<String>,
1072 #[serde(default, skip_serializing_if = "Option::is_none")]
1074 pub results: Option<GetByLocationIdResponseSchema>,
1075}
1076
1077#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1079pub struct GetByLocationIdResponseSchema {
1080 #[serde(default, skip_serializing_if = "Option::is_none")]
1084 pub count: Option<f64>,
1085 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1089 pub categories: Vec<CategorySchema>,
1090}
1091
1092#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1094pub struct GetCategorySchema {
1095 #[serde(default, skip_serializing_if = "Option::is_none")]
1097 pub category: Option<GetByIdResponseSchema>,
1098}
1099
1100#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1102pub struct GetCsvPostResponseDTO {
1103 #[serde(default, skip_serializing_if = "Option::is_none")]
1107 pub success: Option<bool>,
1108 #[serde(
1112 rename = "statusCode",
1113 default,
1114 skip_serializing_if = "Option::is_none"
1115 )]
1116 pub status_code: Option<f64>,
1117 #[serde(default, skip_serializing_if = "Option::is_none")]
1121 pub message: Option<String>,
1122 #[serde(default, skip_serializing_if = "Option::is_none")]
1124 pub results: Option<GetCsvPostResponseSchema>,
1125}
1126
1127#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1129pub struct GetCsvPostResponseSchema {
1130 #[serde(default, skip_serializing_if = "Option::is_none")]
1132 pub csv: Option<CSVImportSchema>,
1133 #[serde(default, skip_serializing_if = "Option::is_none")]
1134 pub count: Option<f64>,
1135 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1137 pub posts: Vec<CSVPostSchema>,
1138}
1139
1140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1142pub struct GetFacebookAccountsResponseDTO {
1143 #[serde(default, skip_serializing_if = "Option::is_none")]
1147 pub success: Option<bool>,
1148 #[serde(
1152 rename = "statusCode",
1153 default,
1154 skip_serializing_if = "Option::is_none"
1155 )]
1156 pub status_code: Option<f64>,
1157 #[serde(default, skip_serializing_if = "Option::is_none")]
1161 pub message: Option<String>,
1162 #[serde(default, skip_serializing_if = "Option::is_none")]
1164 pub results: Option<GetFacebookAccountsSchema>,
1165}
1166
1167#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1169pub struct GetFacebookAccountsSchema {
1170 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1172 pub pages: Vec<FacebookPageSchema>,
1173}
1174
1175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1177pub struct GetGoogleLocationAccountSchema {
1178 #[serde(default, skip_serializing_if = "Option::is_none")]
1180 pub locations: Option<GetGoogleLocationSchema>,
1181}
1182
1183#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1185pub struct GetGoogleLocationResponseDTO {
1186 #[serde(default, skip_serializing_if = "Option::is_none")]
1190 pub success: Option<bool>,
1191 #[serde(
1195 rename = "statusCode",
1196 default,
1197 skip_serializing_if = "Option::is_none"
1198 )]
1199 pub status_code: Option<f64>,
1200 #[serde(default, skip_serializing_if = "Option::is_none")]
1204 pub message: Option<String>,
1205 #[serde(default, skip_serializing_if = "Option::is_none")]
1207 pub results: Option<GetGoogleLocationAccountSchema>,
1208}
1209
1210#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1212pub struct GetGoogleLocationSchema {
1213 #[serde(default, skip_serializing_if = "Option::is_none")]
1215 pub location: Option<GoogleLocationSchema>,
1216 #[serde(default, skip_serializing_if = "Option::is_none")]
1218 pub account: Option<GoogleAccountsSchema>,
1219}
1220
1221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1223pub struct GetGroupSchema {
1224 #[serde(default, skip_serializing_if = "Option::is_none")]
1228 pub id: Option<String>,
1229 #[serde(default, skip_serializing_if = "Option::is_none")]
1233 pub name: Option<String>,
1234 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1237 pub account_ids: Vec<String>,
1238}
1239
1240#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1242pub struct GetInstagramAccountsResponseDTO {
1243 #[serde(default, skip_serializing_if = "Option::is_none")]
1247 pub success: Option<bool>,
1248 #[serde(
1252 rename = "statusCode",
1253 default,
1254 skip_serializing_if = "Option::is_none"
1255 )]
1256 pub status_code: Option<f64>,
1257 #[serde(default, skip_serializing_if = "Option::is_none")]
1261 pub message: Option<String>,
1262 #[serde(default, skip_serializing_if = "Option::is_none")]
1264 pub results: Option<GetInstagramAccountsSchema>,
1265}
1266
1267#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1269pub struct GetInstagramAccountsSchema {
1270 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1272 pub accounts: Vec<InstagramAccountSchema>,
1273}
1274
1275#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1277pub struct GetLinkedInAccountSchema {
1278 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1280 pub pages: Vec<LinkedInPageSchema>,
1281 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1283 pub profile: Vec<LinkedInProfileSchema>,
1284}
1285
1286#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1288pub struct GetLinkedInAccountsResponseDTO {
1289 #[serde(default, skip_serializing_if = "Option::is_none")]
1293 pub success: Option<bool>,
1294 #[serde(
1298 rename = "statusCode",
1299 default,
1300 skip_serializing_if = "Option::is_none"
1301 )]
1302 pub status_code: Option<f64>,
1303 #[serde(default, skip_serializing_if = "Option::is_none")]
1307 pub message: Option<String>,
1308 #[serde(default, skip_serializing_if = "Option::is_none")]
1310 pub results: Option<GetLinkedInAccountSchema>,
1311}
1312
1313#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1315pub struct GetPostFormattedSchema {
1316 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1317 pub id: Option<String>,
1318 #[serde(default, skip_serializing_if = "Option::is_none")]
1321 pub source: Option<String>,
1322 #[serde(
1326 rename = "locationId",
1327 default,
1328 skip_serializing_if = "Option::is_none"
1329 )]
1330 pub location_id: Option<String>,
1331 #[serde(default, skip_serializing_if = "Option::is_none")]
1334 pub platform: Option<String>,
1335 #[serde(
1337 rename = "displayDate",
1338 default,
1339 skip_serializing_if = "Option::is_none"
1340 )]
1341 pub display_date: Option<String>,
1342 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1344 pub created_at: Option<String>,
1345 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1347 pub updated_at: Option<String>,
1348 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
1350 pub account_id: Option<String>,
1351 #[serde(default, skip_serializing_if = "Option::is_none")]
1355 pub error: Option<String>,
1356 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
1357 pub post_id: Option<String>,
1358 #[serde(
1359 rename = "publishedAt",
1360 default,
1361 skip_serializing_if = "Option::is_none"
1362 )]
1363 pub published_at: Option<String>,
1364 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1366 pub account_ids: Vec<String>,
1367 #[serde(default, skip_serializing_if = "Option::is_none")]
1368 pub summary: Option<String>,
1369 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1372 pub media: Vec<PostMediaSchema>,
1373 #[serde(default, skip_serializing_if = "Option::is_none")]
1376 pub status: Option<serde_json::Value>,
1377 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1378 pub created_by: Option<String>,
1379 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1383 pub type_: Option<serde_json::Value>,
1384 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1386 pub tags: Vec<String>,
1387 #[serde(
1389 rename = "ogTagsDetails",
1390 default,
1391 skip_serializing_if = "Option::is_none"
1392 )]
1393 pub og_tags_details: Option<OgTagsSchema>,
1394 #[serde(
1396 rename = "postApprovalDetails",
1397 default,
1398 skip_serializing_if = "Option::is_none"
1399 )]
1400 pub post_approval_details: Option<FormatedApprovalDetails>,
1401 #[serde(
1403 rename = "tiktokPostDetails",
1404 default,
1405 skip_serializing_if = "Option::is_none"
1406 )]
1407 pub tiktok_post_details: Option<TiktokPostSchema>,
1408 #[serde(
1410 rename = "gmbPostDetails",
1411 default,
1412 skip_serializing_if = "Option::is_none"
1413 )]
1414 pub gmb_post_details: Option<GMBPostSchema>,
1415 #[serde(default, skip_serializing_if = "Option::is_none")]
1417 pub user: Option<PostUserSchema>,
1418}
1419
1420#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1422pub struct GetPostSuccessfulResponseDTO {
1423 #[serde(default, skip_serializing_if = "Option::is_none")]
1427 pub success: Option<bool>,
1428 #[serde(
1432 rename = "statusCode",
1433 default,
1434 skip_serializing_if = "Option::is_none"
1435 )]
1436 pub status_code: Option<f64>,
1437 #[serde(default, skip_serializing_if = "Option::is_none")]
1441 pub message: Option<String>,
1442 #[serde(default, skip_serializing_if = "Option::is_none")]
1444 pub results: Option<GetPostSuccessfulResponseSchema>,
1445}
1446
1447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1449pub struct GetPostSuccessfulResponseSchema {
1450 #[serde(default, skip_serializing_if = "Option::is_none")]
1452 pub post: Option<GetPostFormattedSchema>,
1453}
1454
1455#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1457pub struct GetTagsByIdResponseDTO {
1458 #[serde(default, skip_serializing_if = "Option::is_none")]
1462 pub success: Option<bool>,
1463 #[serde(
1467 rename = "statusCode",
1468 default,
1469 skip_serializing_if = "Option::is_none"
1470 )]
1471 pub status_code: Option<f64>,
1472 #[serde(default, skip_serializing_if = "Option::is_none")]
1476 pub message: Option<String>,
1477 #[serde(default, skip_serializing_if = "Option::is_none")]
1479 pub results: Option<GetTagsByIdResponseSchema>,
1480}
1481
1482#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1484pub struct GetTagsByIdResponseSchema {
1485 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1489 pub tags: Vec<SocialMediaTagSchema>,
1490 #[serde(default, skip_serializing_if = "Option::is_none")]
1492 pub count: Option<f64>,
1493}
1494
1495#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1497pub struct GetTagsByLocationIdResponseDTO {
1498 #[serde(default, skip_serializing_if = "Option::is_none")]
1502 pub success: Option<bool>,
1503 #[serde(
1507 rename = "statusCode",
1508 default,
1509 skip_serializing_if = "Option::is_none"
1510 )]
1511 pub status_code: Option<f64>,
1512 #[serde(default, skip_serializing_if = "Option::is_none")]
1516 pub message: Option<String>,
1517 #[serde(default, skip_serializing_if = "Option::is_none")]
1519 pub results: Option<GetTagsByLocationIdResponseSchema>,
1520}
1521
1522#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1524pub struct GetTagsByLocationIdResponseSchema {
1525 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1527 pub tags: Vec<SocialMediaTagSchema>,
1528 #[serde(default, skip_serializing_if = "Option::is_none")]
1530 pub count: Option<f64>,
1531}
1532
1533#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1535pub struct GetTiktokAccountResponseDTO {
1536 #[serde(default, skip_serializing_if = "Option::is_none")]
1540 pub success: Option<bool>,
1541 #[serde(
1545 rename = "statusCode",
1546 default,
1547 skip_serializing_if = "Option::is_none"
1548 )]
1549 pub status_code: Option<f64>,
1550 #[serde(default, skip_serializing_if = "Option::is_none")]
1554 pub message: Option<String>,
1555 #[serde(default, skip_serializing_if = "Option::is_none")]
1557 pub results: Option<GetTiktokAccountSchema>,
1558}
1559
1560#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1562pub struct GetTiktokAccountSchema {
1563 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1565 pub profile: Vec<TiktokProfileSchema>,
1566}
1567
1568#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1570pub struct GetTiktokBusinessAccountResponseDTO {
1571 #[serde(default, skip_serializing_if = "Option::is_none")]
1575 pub success: Option<bool>,
1576 #[serde(
1580 rename = "statusCode",
1581 default,
1582 skip_serializing_if = "Option::is_none"
1583 )]
1584 pub status_code: Option<f64>,
1585 #[serde(default, skip_serializing_if = "Option::is_none")]
1589 pub message: Option<String>,
1590 #[serde(default, skip_serializing_if = "Option::is_none")]
1592 pub results: Option<GetTiktokBusinessAccountSchema>,
1593}
1594
1595#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1597pub struct GetTiktokBusinessAccountSchema {
1598 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1600 pub profile: Vec<TiktokProfileSchema>,
1601}
1602
1603#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1605pub struct GetTwitterAccountsResponseDTO {
1606 #[serde(default, skip_serializing_if = "Option::is_none")]
1610 pub success: Option<bool>,
1611 #[serde(
1615 rename = "statusCode",
1616 default,
1617 skip_serializing_if = "Option::is_none"
1618 )]
1619 pub status_code: Option<f64>,
1620 #[serde(default, skip_serializing_if = "Option::is_none")]
1624 pub message: Option<String>,
1625 #[serde(default, skip_serializing_if = "Option::is_none")]
1627 pub results: Option<GetTwitterAccountsSchema>,
1628}
1629
1630#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1632pub struct GetTwitterAccountsSchema {
1633 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1635 pub profile: Vec<TwitterProfileSchema>,
1636}
1637
1638#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1640pub struct GetUploadStatusResponseDTO {
1641 #[serde(default, skip_serializing_if = "Option::is_none")]
1645 pub success: Option<bool>,
1646 #[serde(
1650 rename = "statusCode",
1651 default,
1652 skip_serializing_if = "Option::is_none"
1653 )]
1654 pub status_code: Option<f64>,
1655 #[serde(default, skip_serializing_if = "Option::is_none")]
1659 pub message: Option<String>,
1660 #[serde(default, skip_serializing_if = "Option::is_none")]
1662 pub results: Option<GetUploadStatusResponseSchema>,
1663}
1664
1665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1667pub struct GetUploadStatusResponseSchema {
1668 #[serde(default, skip_serializing_if = "Option::is_none")]
1672 pub csvs: Option<CSVImportSchema>,
1673 #[serde(default, skip_serializing_if = "Option::is_none")]
1676 pub count: Option<f64>,
1677}
1678
1679#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1681pub struct GoogleAccountsSchema {
1682 #[serde(default, skip_serializing_if = "Option::is_none")]
1683 pub name: Option<String>,
1684 #[serde(
1685 rename = "accountName",
1686 default,
1687 skip_serializing_if = "Option::is_none"
1688 )]
1689 pub account_name: Option<String>,
1690 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1691 pub type_: Option<String>,
1692 #[serde(
1693 rename = "verificationState",
1694 default,
1695 skip_serializing_if = "Option::is_none"
1696 )]
1697 pub verification_state: Option<String>,
1698 #[serde(
1699 rename = "vettedState",
1700 default,
1701 skip_serializing_if = "Option::is_none"
1702 )]
1703 pub vetted_state: Option<String>,
1704}
1705
1706#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1708pub struct GoogleLocationSchema {
1709 #[serde(default, skip_serializing_if = "Option::is_none")]
1710 pub name: Option<String>,
1711 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
1712 pub store_code: Option<String>,
1713 #[serde(default, skip_serializing_if = "Option::is_none")]
1714 pub title: Option<String>,
1715 #[serde(default, skip_serializing_if = "Option::is_none")]
1717 pub metadata: Option<serde_json::Value>,
1718 #[serde(
1720 rename = "storefrontAddress",
1721 default,
1722 skip_serializing_if = "Option::is_none"
1723 )]
1724 pub storefront_address: Option<serde_json::Value>,
1725 #[serde(
1727 rename = "relationshipData",
1728 default,
1729 skip_serializing_if = "Option::is_none"
1730 )]
1731 pub relationship_data: Option<serde_json::Value>,
1732 #[serde(
1733 rename = "maxLocation",
1734 default,
1735 skip_serializing_if = "Option::is_none"
1736 )]
1737 pub max_location: Option<bool>,
1738 #[serde(
1739 rename = "isVerified",
1740 default,
1741 skip_serializing_if = "Option::is_none"
1742 )]
1743 pub is_verified: Option<bool>,
1744 #[serde(
1745 rename = "isConnected",
1746 default,
1747 skip_serializing_if = "Option::is_none"
1748 )]
1749 pub is_connected: Option<bool>,
1750}
1751
1752#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1754pub struct IOgTagsSchema {
1755 #[serde(default, skip_serializing_if = "Option::is_none")]
1757 pub url: Option<String>,
1758 #[serde(
1760 rename = "ogDescription",
1761 default,
1762 skip_serializing_if = "Option::is_none"
1763 )]
1764 pub og_description: Option<String>,
1765 #[serde(rename = "ogImage", default, skip_serializing_if = "Option::is_none")]
1767 pub og_image: Option<OgImageSchema>,
1768 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
1770 pub og_title: Option<String>,
1771 #[serde(rename = "ogUrl", default, skip_serializing_if = "Option::is_none")]
1773 pub og_url: Option<String>,
1774 #[serde(
1776 rename = "ogSiteName",
1777 default,
1778 skip_serializing_if = "Option::is_none"
1779 )]
1780 pub og_site_name: Option<String>,
1781 #[serde(default, skip_serializing_if = "Option::is_none")]
1783 pub error: Option<String>,
1784}
1785
1786#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1788pub struct InstagramAccountSchema {
1789 #[serde(default, skip_serializing_if = "Option::is_none")]
1790 pub id: Option<String>,
1791 #[serde(default, skip_serializing_if = "Option::is_none")]
1792 pub name: Option<String>,
1793 #[serde(default, skip_serializing_if = "Option::is_none")]
1794 pub avatar: Option<String>,
1795 #[serde(rename = "pageId", default, skip_serializing_if = "Option::is_none")]
1796 pub page_id: Option<String>,
1797 #[serde(
1798 rename = "isConnected",
1799 default,
1800 skip_serializing_if = "Option::is_none"
1801 )]
1802 pub is_connected: Option<bool>,
1803}
1804
1805#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1807pub struct LinkedInPageSchema {
1808 #[serde(default, skip_serializing_if = "Option::is_none")]
1810 pub id: Option<String>,
1811 #[serde(default, skip_serializing_if = "Option::is_none")]
1813 pub name: Option<String>,
1814 #[serde(default, skip_serializing_if = "Option::is_none")]
1816 pub avatar: Option<String>,
1817 #[serde(default, skip_serializing_if = "Option::is_none")]
1819 pub urn: Option<String>,
1820 #[serde(
1822 rename = "isConnected",
1823 default,
1824 skip_serializing_if = "Option::is_none"
1825 )]
1826 pub is_connected: Option<bool>,
1827}
1828
1829#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1831pub struct LinkedInProfileSchema {
1832 #[serde(default, skip_serializing_if = "Option::is_none")]
1834 pub id: Option<String>,
1835 #[serde(default, skip_serializing_if = "Option::is_none")]
1837 pub name: Option<String>,
1838 #[serde(default, skip_serializing_if = "Option::is_none")]
1840 pub avatar: Option<String>,
1841 #[serde(default, skip_serializing_if = "Option::is_none")]
1843 pub urn: Option<String>,
1844 #[serde(
1846 rename = "isConnected",
1847 default,
1848 skip_serializing_if = "Option::is_none"
1849 )]
1850 pub is_connected: Option<bool>,
1851}
1852
1853#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1855pub struct LocationAndAccountDeleteResponseDTO {
1856 #[serde(default, skip_serializing_if = "Option::is_none")]
1860 pub success: Option<bool>,
1861 #[serde(
1865 rename = "statusCode",
1866 default,
1867 skip_serializing_if = "Option::is_none"
1868 )]
1869 pub status_code: Option<f64>,
1870 #[serde(default, skip_serializing_if = "Option::is_none")]
1874 pub message: Option<String>,
1875 #[serde(default, skip_serializing_if = "Option::is_none")]
1877 pub results: Option<DeleteAccountResponseSchema>,
1878}
1879
1880#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1882pub struct OgImageSchema {
1883 #[serde(default, skip_serializing_if = "Option::is_none")]
1885 pub url: Option<String>,
1886 #[serde(default, skip_serializing_if = "Option::is_none")]
1888 pub width: Option<f64>,
1889 #[serde(default, skip_serializing_if = "Option::is_none")]
1891 pub height: Option<f64>,
1892 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1894 pub type_: Option<String>,
1895}
1896
1897#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1899pub struct OgTagsSchema {
1900 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
1902 pub meta_image: Option<String>,
1903 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
1905 pub meta_link: Option<String>,
1906}
1907
1908#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1910pub struct PostApprovalSchema {
1911 #[serde(default, skip_serializing_if = "Option::is_none")]
1913 pub approver: Option<String>,
1914 #[serde(
1916 rename = "requesterNote",
1917 default,
1918 skip_serializing_if = "Option::is_none"
1919 )]
1920 pub requester_note: Option<String>,
1921 #[serde(
1923 rename = "approverNote",
1924 default,
1925 skip_serializing_if = "Option::is_none"
1926 )]
1927 pub approver_note: Option<String>,
1928 #[serde(
1931 rename = "approvalStatus",
1932 default,
1933 skip_serializing_if = "Option::is_none"
1934 )]
1935 pub approval_status: Option<serde_json::Value>,
1936}
1937
1938#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1940pub struct PostCreateRequest {
1941 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1943 pub account_ids: Vec<String>,
1944 #[serde(default, skip_serializing_if = "Option::is_none")]
1947 pub summary: Option<String>,
1948 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1951 pub media: Vec<PostMediaSchema>,
1952 #[serde(default, skip_serializing_if = "Option::is_none")]
1955 pub status: Option<serde_json::Value>,
1956 #[serde(
1958 rename = "scheduleDate",
1959 default,
1960 skip_serializing_if = "Option::is_none"
1961 )]
1962 pub schedule_date: Option<String>,
1963 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1965 pub created_by: Option<String>,
1966 #[serde(
1969 rename = "followUpComment",
1970 default,
1971 skip_serializing_if = "Option::is_none"
1972 )]
1973 pub follow_up_comment: Option<String>,
1974 #[serde(
1976 rename = "ogTagsDetails",
1977 default,
1978 skip_serializing_if = "Option::is_none"
1979 )]
1980 pub og_tags_details: Option<OgTagsSchema>,
1981 #[serde(rename = "type")]
1984 pub type_: serde_json::Value,
1985 #[serde(
1987 rename = "postApprovalDetails",
1988 default,
1989 skip_serializing_if = "Option::is_none"
1990 )]
1991 pub post_approval_details: Option<PostApprovalSchema>,
1992 #[serde(
1994 rename = "scheduleTimeUpdated",
1995 default,
1996 skip_serializing_if = "Option::is_none"
1997 )]
1998 pub schedule_time_updated: Option<bool>,
1999 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2001 pub tags: Vec<String>,
2002 #[serde(
2004 rename = "categoryId",
2005 default,
2006 skip_serializing_if = "Option::is_none"
2007 )]
2008 pub category_id: Option<String>,
2009 #[serde(
2011 rename = "tiktokPostDetails",
2012 default,
2013 skip_serializing_if = "Option::is_none"
2014 )]
2015 pub tiktok_post_details: Option<TiktokPostSchema>,
2016 #[serde(
2018 rename = "gmbPostDetails",
2019 default,
2020 skip_serializing_if = "Option::is_none"
2021 )]
2022 pub gmb_post_details: Option<GMBPostSchema>,
2023 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2025 pub user_id: Option<String>,
2026}
2027
2028#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2030pub struct PostMediaSchema {
2031 #[serde(default, skip_serializing_if = "Option::is_none")]
2034 pub url: Option<String>,
2035 #[serde(default, skip_serializing_if = "Option::is_none")]
2036 pub caption: Option<String>,
2037 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2038 pub type_: Option<String>,
2039 #[serde(default, skip_serializing_if = "Option::is_none")]
2040 pub thumbnail: Option<String>,
2041 #[serde(
2042 rename = "defaultThumb",
2043 default,
2044 skip_serializing_if = "Option::is_none"
2045 )]
2046 pub default_thumb: Option<String>,
2047 #[serde(default, skip_serializing_if = "Option::is_none")]
2048 pub id: Option<String>,
2049}
2050
2051#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2053pub struct PostSuccessfulResponseDTO {
2054 #[serde(default, skip_serializing_if = "Option::is_none")]
2058 pub success: Option<bool>,
2059 #[serde(
2063 rename = "statusCode",
2064 default,
2065 skip_serializing_if = "Option::is_none"
2066 )]
2067 pub status_code: Option<f64>,
2068 #[serde(default, skip_serializing_if = "Option::is_none")]
2072 pub message: Option<String>,
2073 #[serde(default, skip_serializing_if = "Option::is_none")]
2075 pub results: Option<PostSuccessfulResponseSchema>,
2076}
2077
2078#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2080pub struct PostSuccessfulResponseSchema {
2081 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2083 pub posts: Vec<GetPostFormattedSchema>,
2084 #[serde(default, skip_serializing_if = "Option::is_none")]
2085 pub count: Option<f64>,
2086}
2087
2088#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2090pub struct PostUserSchema {
2091 #[serde(default, skip_serializing_if = "Option::is_none")]
2095 pub id: Option<String>,
2096 #[serde(default, skip_serializing_if = "Option::is_none")]
2100 pub title: Option<String>,
2101 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
2105 pub first_name: Option<String>,
2106 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
2110 pub last_name: Option<String>,
2111 #[serde(
2115 rename = "profilePhoto",
2116 default,
2117 skip_serializing_if = "Option::is_none"
2118 )]
2119 pub profile_photo: Option<String>,
2120 #[serde(default, skip_serializing_if = "Option::is_none")]
2124 pub phone: Option<String>,
2125 #[serde(default, skip_serializing_if = "Option::is_none")]
2129 pub email: Option<String>,
2130}
2131
2132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2134pub struct SearchPostDTO {
2135 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2138 pub type_: Option<String>,
2139 #[serde(default, skip_serializing_if = "Option::is_none")]
2141 pub accounts: Option<String>,
2142 pub skip: String,
2144 pub limit: String,
2146 #[serde(rename = "fromDate")]
2149 pub from_date: String,
2150 #[serde(rename = "toDate")]
2153 pub to_date: String,
2154 #[serde(rename = "includeUsers")]
2157 pub include_users: String,
2158 #[serde(rename = "postType", default, skip_serializing_if = "Option::is_none")]
2160 pub post_type: Option<serde_json::Value>,
2161}
2162
2163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2165pub struct SetAccountsDTO {
2166 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2169 pub account_ids: Vec<String>,
2170 #[serde(rename = "filePath")]
2173 pub file_path: String,
2174 #[serde(rename = "rowsCount")]
2177 pub rows_count: f64,
2178 #[serde(rename = "fileName")]
2181 pub file_name: String,
2182 #[serde(default, skip_serializing_if = "Option::is_none")]
2183 pub approver: Option<String>,
2184 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
2186 pub user_id: Option<String>,
2187}
2188
2189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2191pub struct SetAccountsResponseDTO {
2192 #[serde(default, skip_serializing_if = "Option::is_none")]
2196 pub success: Option<bool>,
2197 #[serde(
2201 rename = "statusCode",
2202 default,
2203 skip_serializing_if = "Option::is_none"
2204 )]
2205 pub status_code: Option<f64>,
2206 #[serde(default, skip_serializing_if = "Option::is_none")]
2210 pub message: Option<String>,
2211}
2212
2213#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2215pub struct SocialGoogleMediaAccountSchema {
2216 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2217 pub id: Option<String>,
2218 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2219 pub o_auth_id: Option<String>,
2220 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2221 pub old_id: Option<String>,
2222 #[serde(
2223 rename = "locationId",
2224 default,
2225 skip_serializing_if = "Option::is_none"
2226 )]
2227 pub location_id: Option<String>,
2228 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2229 pub origin_id: Option<String>,
2230 #[serde(default, skip_serializing_if = "Option::is_none")]
2231 pub platform: Option<serde_json::Value>,
2232 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2233 pub type_: Option<serde_json::Value>,
2234 #[serde(default, skip_serializing_if = "Option::is_none")]
2235 pub name: Option<String>,
2236 #[serde(default, skip_serializing_if = "Option::is_none")]
2237 pub avatar: Option<String>,
2238 #[serde(default, skip_serializing_if = "Option::is_none")]
2239 pub meta: Option<serde_json::Value>,
2240 #[serde(default, skip_serializing_if = "Option::is_none")]
2241 pub active: Option<bool>,
2242 #[serde(default, skip_serializing_if = "Option::is_none")]
2243 pub deleted: Option<bool>,
2244 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2247 pub created_at: Option<String>,
2248 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2251 pub updated_at: Option<String>,
2252}
2253
2254#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2256pub struct SocialMediaFBAccountResponseDTO {
2257 #[serde(default, skip_serializing_if = "Option::is_none")]
2261 pub success: Option<bool>,
2262 #[serde(
2266 rename = "statusCode",
2267 default,
2268 skip_serializing_if = "Option::is_none"
2269 )]
2270 pub status_code: Option<f64>,
2271 #[serde(default, skip_serializing_if = "Option::is_none")]
2275 pub message: Option<String>,
2276 #[serde(default, skip_serializing_if = "Option::is_none")]
2278 pub results: Option<SocialMediaFacebookAccountSchema>,
2279}
2280
2281#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2283pub struct SocialMediaFacebookAccountSchema {
2284 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2285 pub id: Option<String>,
2286 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2287 pub o_auth_id: Option<String>,
2288 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2289 pub old_id: Option<String>,
2290 #[serde(
2291 rename = "locationId",
2292 default,
2293 skip_serializing_if = "Option::is_none"
2294 )]
2295 pub location_id: Option<String>,
2296 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2297 pub origin_id: Option<String>,
2298 #[serde(default, skip_serializing_if = "Option::is_none")]
2299 pub platform: Option<serde_json::Value>,
2300 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2302 pub type_: Option<serde_json::Value>,
2303 #[serde(default, skip_serializing_if = "Option::is_none")]
2304 pub name: Option<String>,
2305 #[serde(default, skip_serializing_if = "Option::is_none")]
2306 pub avatar: Option<String>,
2307 #[serde(default, skip_serializing_if = "Option::is_none")]
2308 pub meta: Option<serde_json::Value>,
2309 #[serde(default, skip_serializing_if = "Option::is_none")]
2310 pub active: Option<bool>,
2311 #[serde(default, skip_serializing_if = "Option::is_none")]
2312 pub deleted: Option<bool>,
2313 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2316 pub created_at: Option<String>,
2317 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2320 pub updated_at: Option<String>,
2321}
2322
2323#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2325pub struct SocialMediaGmbAccountResponseDTO {
2326 #[serde(default, skip_serializing_if = "Option::is_none")]
2330 pub success: Option<bool>,
2331 #[serde(
2335 rename = "statusCode",
2336 default,
2337 skip_serializing_if = "Option::is_none"
2338 )]
2339 pub status_code: Option<f64>,
2340 #[serde(default, skip_serializing_if = "Option::is_none")]
2344 pub message: Option<String>,
2345 #[serde(default, skip_serializing_if = "Option::is_none")]
2347 pub results: Option<SocialGoogleMediaAccountSchema>,
2348}
2349
2350#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2352pub struct SocialMediaInstagramAccountResponseDTO {
2353 #[serde(default, skip_serializing_if = "Option::is_none")]
2357 pub success: Option<bool>,
2358 #[serde(
2362 rename = "statusCode",
2363 default,
2364 skip_serializing_if = "Option::is_none"
2365 )]
2366 pub status_code: Option<f64>,
2367 #[serde(default, skip_serializing_if = "Option::is_none")]
2371 pub message: Option<String>,
2372 #[serde(default, skip_serializing_if = "Option::is_none")]
2374 pub results: Option<SocialMediaInstagramAccountSchema>,
2375}
2376
2377#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2379pub struct SocialMediaInstagramAccountSchema {
2380 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2381 pub id: Option<String>,
2382 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2383 pub o_auth_id: Option<String>,
2384 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2385 pub old_id: Option<String>,
2386 #[serde(
2387 rename = "locationId",
2388 default,
2389 skip_serializing_if = "Option::is_none"
2390 )]
2391 pub location_id: Option<String>,
2392 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2393 pub origin_id: Option<String>,
2394 #[serde(default, skip_serializing_if = "Option::is_none")]
2395 pub platform: Option<serde_json::Value>,
2396 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2397 pub type_: Option<serde_json::Value>,
2398 #[serde(default, skip_serializing_if = "Option::is_none")]
2399 pub name: Option<String>,
2400 #[serde(default, skip_serializing_if = "Option::is_none")]
2401 pub avatar: Option<String>,
2402 #[serde(default, skip_serializing_if = "Option::is_none")]
2403 pub meta: Option<serde_json::Value>,
2404 #[serde(default, skip_serializing_if = "Option::is_none")]
2405 pub active: Option<bool>,
2406 #[serde(default, skip_serializing_if = "Option::is_none")]
2407 pub deleted: Option<bool>,
2408 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2411 pub created_at: Option<String>,
2412 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2415 pub updated_at: Option<String>,
2416}
2417
2418#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2420pub struct SocialMediaLinkedInAccountResponseDTO {
2421 #[serde(default, skip_serializing_if = "Option::is_none")]
2425 pub success: Option<bool>,
2426 #[serde(
2430 rename = "statusCode",
2431 default,
2432 skip_serializing_if = "Option::is_none"
2433 )]
2434 pub status_code: Option<f64>,
2435 #[serde(default, skip_serializing_if = "Option::is_none")]
2439 pub message: Option<String>,
2440 #[serde(default, skip_serializing_if = "Option::is_none")]
2442 pub results: Option<SocialMediaLinkedInAccountSchema>,
2443}
2444
2445#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2447pub struct SocialMediaLinkedInAccountSchema {
2448 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2449 pub id: Option<String>,
2450 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2451 pub o_auth_id: Option<String>,
2452 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2453 pub old_id: Option<String>,
2454 #[serde(
2455 rename = "locationId",
2456 default,
2457 skip_serializing_if = "Option::is_none"
2458 )]
2459 pub location_id: Option<String>,
2460 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2461 pub origin_id: Option<String>,
2462 #[serde(default, skip_serializing_if = "Option::is_none")]
2463 pub platform: Option<serde_json::Value>,
2464 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2466 pub type_: Option<serde_json::Value>,
2467 #[serde(default, skip_serializing_if = "Option::is_none")]
2468 pub name: Option<String>,
2469 #[serde(default, skip_serializing_if = "Option::is_none")]
2470 pub avatar: Option<String>,
2471 #[serde(default, skip_serializing_if = "Option::is_none")]
2472 pub meta: Option<serde_json::Value>,
2473 #[serde(default, skip_serializing_if = "Option::is_none")]
2474 pub active: Option<bool>,
2475 #[serde(default, skip_serializing_if = "Option::is_none")]
2476 pub deleted: Option<bool>,
2477 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2480 pub created_at: Option<String>,
2481 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2484 pub updated_at: Option<String>,
2485}
2486
2487#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2489pub struct SocialMediaTagSchema {
2490 #[serde(default, skip_serializing_if = "Option::is_none")]
2492 pub tag: Option<String>,
2493 #[serde(
2495 rename = "locationId",
2496 default,
2497 skip_serializing_if = "Option::is_none"
2498 )]
2499 pub location_id: Option<String>,
2500 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2502 pub id: Option<String>,
2503 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2505 pub created_by: Option<String>,
2506 #[serde(default, skip_serializing_if = "Option::is_none")]
2508 pub deleted: Option<bool>,
2509 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2511 pub created_at: Option<String>,
2512 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2514 pub updated_at: Option<String>,
2515}
2516
2517#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2519pub struct SocialMediaTiktokAccountResponseDTO {
2520 #[serde(default, skip_serializing_if = "Option::is_none")]
2524 pub success: Option<bool>,
2525 #[serde(
2529 rename = "statusCode",
2530 default,
2531 skip_serializing_if = "Option::is_none"
2532 )]
2533 pub status_code: Option<f64>,
2534 #[serde(default, skip_serializing_if = "Option::is_none")]
2538 pub message: Option<String>,
2539 #[serde(default, skip_serializing_if = "Option::is_none")]
2541 pub results: Option<SocialMediaTiktokAccountSchema>,
2542}
2543
2544#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2546pub struct SocialMediaTiktokAccountSchema {
2547 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2548 pub id: Option<String>,
2549 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2550 pub o_auth_id: Option<String>,
2551 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2552 pub old_id: Option<String>,
2553 #[serde(
2554 rename = "locationId",
2555 default,
2556 skip_serializing_if = "Option::is_none"
2557 )]
2558 pub location_id: Option<String>,
2559 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2560 pub origin_id: Option<String>,
2561 #[serde(default, skip_serializing_if = "Option::is_none")]
2562 pub platform: Option<serde_json::Value>,
2563 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2565 pub type_: Option<serde_json::Value>,
2566 #[serde(default, skip_serializing_if = "Option::is_none")]
2567 pub name: Option<String>,
2568 #[serde(default, skip_serializing_if = "Option::is_none")]
2569 pub avatar: Option<String>,
2570 #[serde(default, skip_serializing_if = "Option::is_none")]
2571 pub meta: Option<serde_json::Value>,
2572 #[serde(default, skip_serializing_if = "Option::is_none")]
2573 pub active: Option<bool>,
2574 #[serde(default, skip_serializing_if = "Option::is_none")]
2575 pub deleted: Option<bool>,
2576 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2579 pub created_at: Option<String>,
2580 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2583 pub updated_at: Option<String>,
2584}
2585
2586#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2588pub struct SocialMediaTwitterAccountResponseDTO {
2589 #[serde(default, skip_serializing_if = "Option::is_none")]
2593 pub success: Option<bool>,
2594 #[serde(
2598 rename = "statusCode",
2599 default,
2600 skip_serializing_if = "Option::is_none"
2601 )]
2602 pub status_code: Option<f64>,
2603 #[serde(default, skip_serializing_if = "Option::is_none")]
2607 pub message: Option<String>,
2608 #[serde(default, skip_serializing_if = "Option::is_none")]
2610 pub results: Option<SocialMediaTwitterAccountSchema>,
2611}
2612
2613#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2615pub struct SocialMediaTwitterAccountSchema {
2616 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2617 pub id: Option<String>,
2618 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
2619 pub o_auth_id: Option<String>,
2620 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
2621 pub old_id: Option<String>,
2622 #[serde(
2623 rename = "locationId",
2624 default,
2625 skip_serializing_if = "Option::is_none"
2626 )]
2627 pub location_id: Option<String>,
2628 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2629 pub origin_id: Option<String>,
2630 #[serde(default, skip_serializing_if = "Option::is_none")]
2631 pub platform: Option<serde_json::Value>,
2632 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2633 pub type_: Option<serde_json::Value>,
2634 #[serde(default, skip_serializing_if = "Option::is_none")]
2635 pub name: Option<String>,
2636 #[serde(default, skip_serializing_if = "Option::is_none")]
2637 pub avatar: Option<String>,
2638 #[serde(default, skip_serializing_if = "Option::is_none")]
2639 pub meta: Option<serde_json::Value>,
2640 #[serde(default, skip_serializing_if = "Option::is_none")]
2641 pub active: Option<bool>,
2642 #[serde(default, skip_serializing_if = "Option::is_none")]
2643 pub deleted: Option<bool>,
2644 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2647 pub created_at: Option<String>,
2648 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2651 pub updated_at: Option<String>,
2652}
2653
2654#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2656pub struct StartDateSchema {
2657 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2659 pub start_date: Option<DateSchema>,
2660 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
2662 pub start_time: Option<TimeSchema>,
2663}
2664
2665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2667pub struct TiktokPostSchema {
2668 #[serde(
2671 rename = "privacyLevel",
2672 default,
2673 skip_serializing_if = "Option::is_none"
2674 )]
2675 pub privacy_level: Option<serde_json::Value>,
2676 #[serde(
2678 rename = "promoteOtherBrand",
2679 default,
2680 skip_serializing_if = "Option::is_none"
2681 )]
2682 pub promote_other_brand: Option<bool>,
2683 #[serde(
2685 rename = "enableComment",
2686 default,
2687 skip_serializing_if = "Option::is_none"
2688 )]
2689 pub enable_comment: Option<bool>,
2690 #[serde(
2692 rename = "enableDuet",
2693 default,
2694 skip_serializing_if = "Option::is_none"
2695 )]
2696 pub enable_duet: Option<bool>,
2697 #[serde(
2699 rename = "enableStitch",
2700 default,
2701 skip_serializing_if = "Option::is_none"
2702 )]
2703 pub enable_stitch: Option<bool>,
2704 #[serde(
2706 rename = "videoDisclosure",
2707 default,
2708 skip_serializing_if = "Option::is_none"
2709 )]
2710 pub video_disclosure: Option<bool>,
2711 #[serde(
2713 rename = "promoteYourBrand",
2714 default,
2715 skip_serializing_if = "Option::is_none"
2716 )]
2717 pub promote_your_brand: Option<bool>,
2718}
2719
2720#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2722pub struct TiktokProfileSchema {
2723 #[serde(default, skip_serializing_if = "Option::is_none")]
2725 pub id: Option<String>,
2726 #[serde(default, skip_serializing_if = "Option::is_none")]
2728 pub name: Option<String>,
2729 #[serde(default, skip_serializing_if = "Option::is_none")]
2731 pub username: Option<String>,
2732 #[serde(default, skip_serializing_if = "Option::is_none")]
2734 pub avatar: Option<String>,
2735 #[serde(default, skip_serializing_if = "Option::is_none")]
2737 pub verified: Option<bool>,
2738 #[serde(
2740 rename = "isConnected",
2741 default,
2742 skip_serializing_if = "Option::is_none"
2743 )]
2744 pub is_connected: Option<bool>,
2745 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2747 pub type_: Option<serde_json::Value>,
2748}
2749
2750#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2752pub struct TimeSchema {
2753 #[serde(default, skip_serializing_if = "Option::is_none")]
2756 pub hours: Option<f64>,
2757 #[serde(default, skip_serializing_if = "Option::is_none")]
2760 pub minutes: Option<f64>,
2761 #[serde(default, skip_serializing_if = "Option::is_none")]
2764 pub seconds: Option<f64>,
2765}
2766
2767#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2769pub struct TwitterProfileSchema {
2770 #[serde(default, skip_serializing_if = "Option::is_none")]
2772 pub id: Option<String>,
2773 #[serde(default, skip_serializing_if = "Option::is_none")]
2775 pub name: Option<String>,
2776 #[serde(default, skip_serializing_if = "Option::is_none")]
2778 pub username: Option<String>,
2779 #[serde(default, skip_serializing_if = "Option::is_none")]
2781 pub avatar: Option<String>,
2782 #[serde(default, skip_serializing_if = "Option::is_none")]
2784 pub protected: Option<bool>,
2785 #[serde(default, skip_serializing_if = "Option::is_none")]
2787 pub verified: Option<bool>,
2788 #[serde(
2790 rename = "isConnected",
2791 default,
2792 skip_serializing_if = "Option::is_none"
2793 )]
2794 pub is_connected: Option<bool>,
2795}
2796
2797#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2799pub struct UpdatePostSuccessfulResponseDTO {
2800 #[serde(default, skip_serializing_if = "Option::is_none")]
2804 pub success: Option<bool>,
2805 #[serde(
2809 rename = "statusCode",
2810 default,
2811 skip_serializing_if = "Option::is_none"
2812 )]
2813 pub status_code: Option<f64>,
2814 #[serde(default, skip_serializing_if = "Option::is_none")]
2818 pub message: Option<String>,
2819}
2820
2821#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2823pub struct UpdateTagDTO {
2824 #[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
2827 pub tag_ids: Vec<String>,
2828}
2829
2830#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2832pub struct UploadCSVDTO {
2833 #[serde(default, skip_serializing_if = "Option::is_none")]
2834 pub file: Option<String>,
2835}
2836
2837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2839pub struct UploadFileResponseDTO {
2840 #[serde(default, skip_serializing_if = "Option::is_none")]
2844 pub success: Option<bool>,
2845 #[serde(
2849 rename = "statusCode",
2850 default,
2851 skip_serializing_if = "Option::is_none"
2852 )]
2853 pub status_code: Option<f64>,
2854 #[serde(default, skip_serializing_if = "Option::is_none")]
2858 pub message: Option<String>,
2859 #[serde(default, skip_serializing_if = "Option::is_none")]
2861 pub results: Option<UploadFileResponseSchema>,
2862}
2863
2864#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2866pub struct UploadFileResponseSchema {
2867 #[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
2868 pub file_path: Option<String>,
2869 #[serde(rename = "rowsCount", default, skip_serializing_if = "Option::is_none")]
2870 pub rows_count: Option<f64>,
2871 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
2872 pub file_name: Option<String>,
2873}