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 AccountsListResponseDTO {
16 pub success: bool,
19 #[serde(rename = "statusCode")]
22 pub status_code: f64,
23 pub message: String,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub results: Option<AccountsListResponseSchema>,
29}
30
31#[derive(Debug, Clone, Default, Serialize, Deserialize)]
33pub struct AccountsListResponseSchema {
34 #[serde(default, skip_serializing_if = "Vec::is_empty")]
36 pub accounts: Vec<GetAccountSchema>,
37 #[serde(default, skip_serializing_if = "Vec::is_empty")]
39 pub groups: Vec<GetGroupSchema>,
40}
41
42#[derive(Debug, Clone, Default, Serialize, Deserialize)]
44pub struct AttachFBAccountDTO {
45 #[serde(rename = "type")]
49 pub type_: String,
50 #[serde(rename = "originId")]
53 pub origin_id: String,
54 pub name: String,
57 pub avatar: String,
60}
61
62#[derive(Debug, Clone, Default, Serialize, Deserialize)]
64pub struct AttachGMBLocationAccountDTO {
65 pub name: String,
68 #[serde(rename = "accountName")]
71 pub account_name: String,
72 #[serde(rename = "type")]
75 pub type_: String,
76 #[serde(rename = "verificationState")]
79 pub verification_state: String,
80 #[serde(rename = "vettedState")]
83 pub vetted_state: String,
84}
85
86#[derive(Debug, Clone, Default, Serialize, Deserialize)]
88pub struct AttachGMBLocationDTO {
89 pub location: AttachGMBLocationLocationDTO,
91 pub account: AttachGMBLocationAccountDTO,
93}
94
95#[derive(Debug, Clone, Default, Serialize, Deserialize)]
97pub struct AttachGMBLocationLocationDTO {
98 pub name: String,
101 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
103 pub store_code: Option<String>,
104 pub title: String,
107 #[serde(
109 rename = "storefrontAddress",
110 default,
111 skip_serializing_if = "Option::is_none"
112 )]
113 pub storefront_address: Option<serde_json::Value>,
114 #[serde(default, skip_serializing_if = "Option::is_none")]
116 pub metadata: Option<serde_json::Value>,
117 #[serde(
119 rename = "maxLocation",
120 default,
121 skip_serializing_if = "Option::is_none"
122 )]
123 pub max_location: Option<bool>,
124 #[serde(
126 rename = "isVerified",
127 default,
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub is_verified: Option<bool>,
131 #[serde(
133 rename = "isConnected",
134 default,
135 skip_serializing_if = "Option::is_none"
136 )]
137 pub is_connected: Option<bool>,
138}
139
140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
142pub struct AttachIGAccountDTO {
143 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
145 pub origin_id: Option<String>,
146 #[serde(default, skip_serializing_if = "Option::is_none")]
148 pub name: Option<String>,
149 #[serde(default, skip_serializing_if = "Option::is_none")]
151 pub avatar: Option<String>,
152 #[serde(rename = "pageId")]
155 pub page_id: String,
156}
157
158#[derive(Debug, Clone, Default, Serialize, Deserialize)]
160pub struct AttachLinkedinAccountDTO {
161 #[serde(rename = "type")]
165 pub type_: String,
166 #[serde(rename = "originId")]
169 pub origin_id: String,
170 pub name: String,
173 pub avatar: String,
176 pub urn: String,
179}
180
181#[derive(Debug, Clone, Default, Serialize, Deserialize)]
183pub struct AttachPinterestAccountDTO {
184 #[serde(rename = "originId")]
187 pub origin_id: String,
188 #[serde(default, skip_serializing_if = "Option::is_none")]
190 pub name: Option<String>,
191 #[serde(default, skip_serializing_if = "Option::is_none")]
193 pub avatar: Option<String>,
194 #[serde(default, skip_serializing_if = "Option::is_none")]
196 pub verified: Option<bool>,
197 #[serde(default, skip_serializing_if = "Option::is_none")]
199 pub username: Option<String>,
200 #[serde(
202 rename = "websiteUrl",
203 default,
204 skip_serializing_if = "Option::is_none"
205 )]
206 pub website_url: Option<String>,
207 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
209 pub company_id: Option<String>,
210 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
213 pub type_: Option<String>,
214 #[serde(
216 rename = "originAccountType",
217 default,
218 skip_serializing_if = "Option::is_none"
219 )]
220 pub origin_account_type: Option<String>,
221}
222
223#[derive(Debug, Clone, Default, Serialize, Deserialize)]
225pub struct AttachThreadsAccountDTO {
226 #[serde(rename = "type")]
230 pub type_: String,
231 #[serde(rename = "originId")]
234 pub origin_id: String,
235 pub name: String,
238 pub avatar: String,
241}
242
243#[derive(Debug, Clone, Default, Serialize, Deserialize)]
245pub struct AttachTiktokAccountDTO {
246 #[serde(rename = "type")]
250 pub type_: String,
251 #[serde(rename = "originId")]
254 pub origin_id: String,
255 pub name: String,
258 pub avatar: String,
261 #[serde(default, skip_serializing_if = "Option::is_none")]
263 pub verified: Option<bool>,
264 #[serde(default, skip_serializing_if = "Option::is_none")]
266 pub username: Option<String>,
267}
268
269#[derive(Debug, Clone, Default, Serialize, Deserialize)]
271pub struct AttachTwitterAccountDTO {
272 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
274 pub origin_id: Option<String>,
275 #[serde(default, skip_serializing_if = "Option::is_none")]
277 pub name: Option<String>,
278 #[serde(default, skip_serializing_if = "Option::is_none")]
280 pub username: Option<String>,
281 #[serde(default, skip_serializing_if = "Option::is_none")]
283 pub avatar: Option<String>,
284 #[serde(default, skip_serializing_if = "Option::is_none")]
286 pub protected: Option<bool>,
287 #[serde(default, skip_serializing_if = "Option::is_none")]
289 pub verified: Option<bool>,
290 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
292 pub company_id: Option<String>,
293}
294
295#[derive(Debug, Clone, Default, Serialize, Deserialize)]
297pub struct AttachYoutubeAccountResponseDTO {
298 #[serde(rename = "type")]
302 pub type_: String,
303 #[serde(rename = "originId")]
306 pub origin_id: String,
307 pub name: String,
310 pub avatar: String,
313 #[serde(default, skip_serializing_if = "Option::is_none")]
315 pub verified: Option<bool>,
316 #[serde(default, skip_serializing_if = "Option::is_none")]
318 pub username: Option<String>,
319}
320
321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
323pub struct AttachmentDTO {
324 pub url: String,
327 #[serde(rename = "type")]
331 pub type_: String,
332}
333
334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
336pub struct AvailableCategoryDTO {
337 #[serde(default, skip_serializing_if = "Option::is_none")]
339 pub deleted: Option<bool>,
340 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
342 pub id: Option<String>,
343 #[serde(default, skip_serializing_if = "Option::is_none")]
345 pub name: Option<String>,
346 #[serde(
348 rename = "locationId",
349 default,
350 skip_serializing_if = "Option::is_none"
351 )]
352 pub location_id: Option<String>,
353 #[serde(
355 rename = "primaryColor",
356 default,
357 skip_serializing_if = "Option::is_none"
358 )]
359 pub primary_color: Option<String>,
360 #[serde(
362 rename = "secondaryColor",
363 default,
364 skip_serializing_if = "Option::is_none"
365 )]
366 pub secondary_color: Option<String>,
367 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
369 pub created_by: Option<String>,
370 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
372 pub created_at: Option<String>,
373 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
375 pub updated_at: Option<String>,
376 #[serde(
378 rename = "publishedPostsCount",
379 default,
380 skip_serializing_if = "Option::is_none"
381 )]
382 pub published_posts_count: Option<f64>,
383 #[serde(default, skip_serializing_if = "Option::is_none")]
386 pub status: Option<String>,
387 #[serde(
389 rename = "queueDetails",
390 default,
391 skip_serializing_if = "Option::is_none"
392 )]
393 pub queue_details: Option<AvailableCategoryQueueDetailsDTO>,
394}
395
396#[derive(Debug, Clone, Default, Serialize, Deserialize)]
398pub struct AvailableCategoryQueueDetailsDTO {
399 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
401 pub queue_id: Option<String>,
402 #[serde(
404 rename = "prioritizeNewContent",
405 default,
406 skip_serializing_if = "Option::is_none"
407 )]
408 pub prioritize_new_content: Option<bool>,
409 #[serde(
411 rename = "enableFuturePosts",
412 default,
413 skip_serializing_if = "Option::is_none"
414 )]
415 pub enable_future_posts: Option<bool>,
416}
417
418#[derive(Debug, Clone, Default, Serialize, Deserialize)]
420pub struct BaseOAuthAccountSchema {
421 pub name: String,
424 #[serde(rename = "originId")]
427 pub origin_id: String,
428 #[serde(default, skip_serializing_if = "Option::is_none")]
430 pub avatar: Option<String>,
431}
432
433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
435pub struct BlueskyPostSchema {
436 #[serde(
438 rename = "shortenedLinks",
439 default,
440 skip_serializing_if = "Vec::is_empty"
441 )]
442 pub shortened_links: Vec<String>,
443 #[serde(rename = "replyTo", default, skip_serializing_if = "Option::is_none")]
447 pub reply_to: Option<String>,
448 #[serde(rename = "quotePost", default, skip_serializing_if = "Option::is_none")]
452 pub quote_post: Option<String>,
453 #[serde(default, skip_serializing_if = "Option::is_none")]
456 pub language: Option<String>,
457 #[serde(
459 rename = "externalLink",
460 default,
461 skip_serializing_if = "Option::is_none"
462 )]
463 pub external_link: Option<String>,
464 #[serde(
466 rename = "externalLinkTitle",
467 default,
468 skip_serializing_if = "Option::is_none"
469 )]
470 pub external_link_title: Option<String>,
471 #[serde(
473 rename = "externalLinkDescription",
474 default,
475 skip_serializing_if = "Option::is_none"
476 )]
477 pub external_link_description: Option<String>,
478}
479
480#[derive(Debug, Clone, Default, Serialize, Deserialize)]
482pub struct BulkDeletePostSuccessfulResponseSchema {
483 #[serde(
485 rename = "deletedCount",
486 default,
487 skip_serializing_if = "Option::is_none"
488 )]
489 pub deleted_count: Option<f64>,
490}
491
492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
494pub struct BulkDeleteResponseDto {
495 pub success: bool,
498 #[serde(rename = "statusCode")]
501 pub status_code: f64,
502 pub message: String,
505 pub results: serde_json::Value,
508}
509
510#[derive(Debug, Clone, Default, Serialize, Deserialize)]
512pub struct CSVDefaultDTO {
513 #[serde(rename = "userId")]
516 pub user_id: String,
517}
518
519#[derive(Debug, Clone, Default, Serialize, Deserialize)]
521pub struct CSVErrorResponseDTO {
522 pub code: String,
528 pub message: String,
531 #[serde(rename = "fileType", default, skip_serializing_if = "Option::is_none")]
534 pub file_type: Option<String>,
535 #[serde(
538 rename = "csvFileType",
539 default,
540 skip_serializing_if = "Option::is_none"
541 )]
542 pub csv_file_type: Option<String>,
543 #[serde(
545 rename = "missingHeaders",
546 default,
547 skip_serializing_if = "Option::is_none"
548 )]
549 pub missing_headers: Option<String>,
550}
551
552#[derive(Debug, Clone, Default, Serialize, Deserialize)]
554pub struct CSVFileRequiredBadRequestDTO {
555 pub status: f64,
558 #[serde(default, skip_serializing_if = "Option::is_none")]
560 pub options: Option<serde_json::Value>,
561 pub message: String,
564 pub name: String,
567 pub error: String,
570 #[serde(rename = "statusCode")]
573 pub status_code: f64,
574 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
576 pub trace_id: Option<String>,
577}
578
579#[derive(Debug, Clone, Default, Serialize, Deserialize)]
581pub struct CSVImportSchema {
582 #[serde(default, skip_serializing_if = "Option::is_none")]
584 pub id: Option<String>,
585 #[serde(
587 rename = "locationId",
588 default,
589 skip_serializing_if = "Option::is_none"
590 )]
591 pub location_id: Option<String>,
592 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
594 pub file_name: Option<String>,
595 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
597 pub account_ids: Vec<String>,
598 #[serde(default, skip_serializing_if = "Option::is_none")]
600 pub file: Option<String>,
601 #[serde(default, skip_serializing_if = "Option::is_none")]
605 pub status: Option<String>,
606 #[serde(default, skip_serializing_if = "Option::is_none")]
608 pub count: Option<f64>,
609 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
611 pub created_by: Option<String>,
612 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
614 pub trace_id: Option<String>,
615 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
617 pub origin_id: Option<String>,
618 #[serde(default, skip_serializing_if = "Option::is_none")]
620 pub approver: Option<String>,
621 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
624 pub created_at: Option<String>,
625 #[serde(
628 rename = "csvFileType",
629 default,
630 skip_serializing_if = "Option::is_none"
631 )]
632 pub csv_file_type: Option<String>,
633 #[serde(
635 rename = "mediaOptimization",
636 default,
637 skip_serializing_if = "Option::is_none"
638 )]
639 pub media_optimization: Option<bool>,
640 #[serde(
642 rename = "applyWatermark",
643 default,
644 skip_serializing_if = "Option::is_none"
645 )]
646 pub apply_watermark: Option<bool>,
647 #[serde(default, skip_serializing_if = "Option::is_none")]
649 pub channel: Option<String>,
650 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
653 pub updated_at: Option<String>,
654}
655
656#[derive(Debug, Clone, Default, Serialize, Deserialize)]
658pub struct CSVMediaResponseSchema {
659 #[serde(default, skip_serializing_if = "Option::is_none")]
661 pub url: Option<String>,
662 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
664 pub type_: Option<String>,
665 #[serde(default, skip_serializing_if = "Option::is_none")]
667 pub size: Option<f64>,
668 #[serde(default, skip_serializing_if = "Option::is_none")]
670 pub width: Option<f64>,
671 #[serde(default, skip_serializing_if = "Option::is_none")]
673 pub height: Option<f64>,
674 #[serde(
676 rename = "aspectRatio",
677 default,
678 skip_serializing_if = "Option::is_none"
679 )]
680 pub aspect_ratio: Option<f64>,
681 #[serde(default, skip_serializing_if = "Option::is_none")]
683 pub duration: Option<f64>,
684 #[serde(default, skip_serializing_if = "Option::is_none")]
686 pub format: Option<String>,
687 #[serde(
689 rename = "videoCodecName",
690 default,
691 skip_serializing_if = "Option::is_none"
692 )]
693 pub video_codec_name: Option<String>,
694 #[serde(rename = "frameRate", default, skip_serializing_if = "Option::is_none")]
696 pub frame_rate: Option<f64>,
697 #[serde(
699 rename = "audioCodecName",
700 default,
701 skip_serializing_if = "Option::is_none"
702 )]
703 pub audio_codec_name: Option<String>,
704 #[serde(
706 rename = "audioChannels",
707 default,
708 skip_serializing_if = "Option::is_none"
709 )]
710 pub audio_channels: Option<f64>,
711 #[serde(
713 rename = "displayAspectRatio",
714 default,
715 skip_serializing_if = "Option::is_none"
716 )]
717 pub display_aspect_ratio: Option<String>,
718 #[serde(default, skip_serializing_if = "Vec::is_empty")]
720 pub frames: Vec<String>,
721 #[serde(
723 rename = "selectedPoster",
724 default,
725 skip_serializing_if = "Option::is_none"
726 )]
727 pub selected_poster: Option<f64>,
728 #[serde(default, skip_serializing_if = "Option::is_none")]
730 pub error: Option<String>,
731 #[serde(
735 rename = "instagramError",
736 default,
737 skip_serializing_if = "Option::is_none"
738 )]
739 pub instagram_error: Option<String>,
740 #[serde(rename = "gmbError", default, skip_serializing_if = "Option::is_none")]
743 pub gmb_error: Option<String>,
744 #[serde(
747 rename = "facebookError",
748 default,
749 skip_serializing_if = "Option::is_none"
750 )]
751 pub facebook_error: Option<String>,
752 #[serde(
755 rename = "linkedinError",
756 default,
757 skip_serializing_if = "Option::is_none"
758 )]
759 pub linkedin_error: Option<String>,
760 #[serde(
763 rename = "twitterError",
764 default,
765 skip_serializing_if = "Option::is_none"
766 )]
767 pub twitter_error: Option<String>,
768 #[serde(
771 rename = "tiktokError",
772 default,
773 skip_serializing_if = "Option::is_none"
774 )]
775 pub tiktok_error: Option<String>,
776 #[serde(
779 rename = "tiktokBusinessError",
780 default,
781 skip_serializing_if = "Option::is_none"
782 )]
783 pub tiktok_business_error: Option<String>,
784 #[serde(
786 rename = "invalidError",
787 default,
788 skip_serializing_if = "Option::is_none"
789 )]
790 pub invalid_error: Option<String>,
791}
792
793#[derive(Debug, Clone, Default, Serialize, Deserialize)]
795pub struct CSVPostSchema {
796 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
798 pub account_ids: Vec<String>,
799 #[serde(default, skip_serializing_if = "Option::is_none")]
801 pub link: Option<IOgTagsSchema>,
802 #[serde(default, skip_serializing_if = "Vec::is_empty")]
804 pub medias: Vec<CSVMediaResponseSchema>,
805 #[serde(
807 rename = "scheduleDate",
808 default,
809 skip_serializing_if = "Option::is_none"
810 )]
811 pub schedule_date: Option<String>,
812 #[serde(default, skip_serializing_if = "Option::is_none")]
814 pub summary: Option<String>,
815 #[serde(
822 rename = "followUpComment",
823 default,
824 skip_serializing_if = "Option::is_none"
825 )]
826 pub follow_up_comment: Option<String>,
827 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
829 pub type_: Option<String>,
830 #[serde(
832 rename = "tiktokPostDetails",
833 default,
834 skip_serializing_if = "Option::is_none"
835 )]
836 pub tiktok_post_details: Option<TiktokPostSchema>,
837 #[serde(
839 rename = "gmbPostDetails",
840 default,
841 skip_serializing_if = "Option::is_none"
842 )]
843 pub gmb_post_details: Option<GMBPostSchema>,
844 #[serde(
846 rename = "errorMessage",
847 default,
848 skip_serializing_if = "Option::is_none"
849 )]
850 pub error_message: Option<String>,
851 #[serde(
854 rename = "csvFileType",
855 default,
856 skip_serializing_if = "Option::is_none"
857 )]
858 pub csv_file_type: Option<String>,
859 #[serde(
861 rename = "mediaOptimization",
862 default,
863 skip_serializing_if = "Option::is_none"
864 )]
865 pub media_optimization: Option<bool>,
866 #[serde(
868 rename = "applyWatermark",
869 default,
870 skip_serializing_if = "Option::is_none"
871 )]
872 pub apply_watermark: Option<bool>,
873 #[serde(default, skip_serializing_if = "Option::is_none")]
876 pub status: Option<String>,
877 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
880 pub updated_at: Option<String>,
881}
882
883#[derive(Debug, Clone, Default, Serialize, Deserialize)]
885pub struct CSVResponseSchema {
886 #[serde(default, skip_serializing_if = "Option::is_none")]
888 pub csv: Option<CsvResponse>,
889}
890
891#[derive(Debug, Clone, Default, Serialize, Deserialize)]
893pub struct CalendarListDTO {
894 #[serde(rename = "locationId")]
897 pub location_id: String,
898 #[serde(rename = "startDate")]
901 pub start_date: String,
902 #[serde(rename = "endDate")]
905 pub end_date: String,
906 #[serde(rename = "categoryIds", default, skip_serializing_if = "Vec::is_empty")]
908 pub category_ids: Vec<String>,
909 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
911 pub account_ids: Vec<String>,
912}
913
914#[derive(Debug, Clone, Default, Serialize, Deserialize)]
916pub struct CategoryInfoDTO {
917 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
919 pub id: Option<String>,
920 #[serde(default, skip_serializing_if = "Option::is_none")]
922 pub name: Option<String>,
923 #[serde(
925 rename = "primaryColor",
926 default,
927 skip_serializing_if = "Option::is_none"
928 )]
929 pub primary_color: Option<String>,
930 #[serde(
932 rename = "secondaryColor",
933 default,
934 skip_serializing_if = "Option::is_none"
935 )]
936 pub secondary_color: Option<String>,
937 #[serde(default, skip_serializing_if = "Option::is_none")]
939 pub deleted: Option<bool>,
940 #[serde(
942 rename = "locationId",
943 default,
944 skip_serializing_if = "Option::is_none"
945 )]
946 pub location_id: Option<String>,
947 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
949 pub created_by: Option<String>,
950 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
952 pub created_at: Option<String>,
953 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
955 pub updated_at: Option<String>,
956}
957
958#[derive(Debug, Clone, Default, Serialize, Deserialize)]
960pub struct CategoryQueueDTO {
961 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
963 pub id: Option<String>,
964 #[serde(
966 rename = "locationId",
967 default,
968 skip_serializing_if = "Option::is_none"
969 )]
970 pub location_id: Option<String>,
971 #[serde(
973 rename = "categoryId",
974 default,
975 skip_serializing_if = "Option::is_none"
976 )]
977 pub category_id: Option<String>,
978 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
980 pub time_slots: Vec<TimeSlotDTO>,
981 #[serde(
983 rename = "enableFuturePosts",
984 default,
985 skip_serializing_if = "Option::is_none"
986 )]
987 pub enable_future_posts: Option<bool>,
988 #[serde(
990 rename = "prioritizeNewContent",
991 default,
992 skip_serializing_if = "Option::is_none"
993 )]
994 pub prioritize_new_content: Option<bool>,
995 #[serde(
997 rename = "currentOrder",
998 default,
999 skip_serializing_if = "Option::is_none"
1000 )]
1001 pub current_order: Option<f64>,
1002 #[serde(default, skip_serializing_if = "Option::is_none")]
1005 pub status: Option<String>,
1006 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1009 pub start_date: Option<String>,
1010 #[serde(
1013 rename = "skipDateTime",
1014 default,
1015 skip_serializing_if = "Vec::is_empty"
1016 )]
1017 pub skip_date_time: Vec<String>,
1018 #[serde(
1020 rename = "currentPostId",
1021 default,
1022 skip_serializing_if = "Option::is_none"
1023 )]
1024 pub current_post_id: Option<String>,
1025 #[serde(
1027 rename = "totalPosts",
1028 default,
1029 skip_serializing_if = "Option::is_none"
1030 )]
1031 pub total_posts: Option<f64>,
1032 #[serde(
1035 rename = "lastScheduledTime",
1036 default,
1037 skip_serializing_if = "Option::is_none"
1038 )]
1039 pub last_scheduled_time: Option<String>,
1040 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1042 pub created_by: Option<String>,
1043 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1046 pub created_at: Option<String>,
1047 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1050 pub updated_at: Option<String>,
1051}
1052
1053#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1055pub struct CategoryQueueWithCategoryDTO {
1056 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1058 pub id: Option<String>,
1059 #[serde(
1061 rename = "locationId",
1062 default,
1063 skip_serializing_if = "Option::is_none"
1064 )]
1065 pub location_id: Option<String>,
1066 #[serde(
1068 rename = "categoryId",
1069 default,
1070 skip_serializing_if = "Option::is_none"
1071 )]
1072 pub category_id: Option<String>,
1073 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1075 pub time_slots: Vec<TimeSlotDTO>,
1076 #[serde(
1078 rename = "enableFuturePosts",
1079 default,
1080 skip_serializing_if = "Option::is_none"
1081 )]
1082 pub enable_future_posts: Option<bool>,
1083 #[serde(
1085 rename = "prioritizeNewContent",
1086 default,
1087 skip_serializing_if = "Option::is_none"
1088 )]
1089 pub prioritize_new_content: Option<bool>,
1090 #[serde(
1092 rename = "currentOrder",
1093 default,
1094 skip_serializing_if = "Option::is_none"
1095 )]
1096 pub current_order: Option<f64>,
1097 #[serde(default, skip_serializing_if = "Option::is_none")]
1100 pub status: Option<String>,
1101 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1104 pub start_date: Option<String>,
1105 #[serde(
1108 rename = "skipDateTime",
1109 default,
1110 skip_serializing_if = "Vec::is_empty"
1111 )]
1112 pub skip_date_time: Vec<String>,
1113 #[serde(
1115 rename = "currentPostId",
1116 default,
1117 skip_serializing_if = "Option::is_none"
1118 )]
1119 pub current_post_id: Option<String>,
1120 #[serde(
1122 rename = "totalPosts",
1123 default,
1124 skip_serializing_if = "Option::is_none"
1125 )]
1126 pub total_posts: Option<f64>,
1127 #[serde(
1130 rename = "lastScheduledTime",
1131 default,
1132 skip_serializing_if = "Option::is_none"
1133 )]
1134 pub last_scheduled_time: Option<String>,
1135 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1137 pub created_by: Option<String>,
1138 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1141 pub created_at: Option<String>,
1142 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1145 pub updated_at: Option<String>,
1146 #[serde(default, skip_serializing_if = "Option::is_none")]
1148 pub category: Option<CategoryInfoDTO>,
1149}
1150
1151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1153pub struct CategorySchema {
1154 #[serde(default, skip_serializing_if = "Option::is_none")]
1156 pub name: Option<String>,
1157 #[serde(
1159 rename = "primaryColor",
1160 default,
1161 skip_serializing_if = "Option::is_none"
1162 )]
1163 pub primary_color: Option<String>,
1164 #[serde(
1166 rename = "secondaryColor",
1167 default,
1168 skip_serializing_if = "Option::is_none"
1169 )]
1170 pub secondary_color: Option<String>,
1171 #[serde(
1173 rename = "locationId",
1174 default,
1175 skip_serializing_if = "Option::is_none"
1176 )]
1177 pub location_id: Option<String>,
1178 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1180 pub id: Option<String>,
1181 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1183 pub created_by: Option<String>,
1184 pub deleted: bool,
1187 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1189 pub created_at: Option<String>,
1190 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1192 pub updated_at: Option<String>,
1193}
1194
1195#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1197pub struct CloneQueueItemDTO {
1198 #[serde(rename = "locationId")]
1201 pub location_id: String,
1202 #[serde(rename = "sessionId")]
1205 pub session_id: String,
1206 pub order: f64,
1209}
1210
1211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1213pub struct CloneQueueItemResponseDTO {
1214 #[serde(default, skip_serializing_if = "Option::is_none")]
1216 pub message: Option<String>,
1217 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
1219 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
1220}
1221
1222#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1224pub struct CommentAttachmentDTO {
1225 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1227 pub type_: Option<String>,
1228 #[serde(default, skip_serializing_if = "Option::is_none")]
1230 pub url: Option<String>,
1231 #[serde(default, skip_serializing_if = "Option::is_none")]
1233 pub thumbnail: Option<String>,
1234 #[serde(rename = "videoUrl", default, skip_serializing_if = "Option::is_none")]
1236 pub video_url: Option<String>,
1237}
1238
1239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1241pub struct CommentAuthorDTO {
1242 #[serde(default, skip_serializing_if = "Option::is_none")]
1244 pub id: Option<String>,
1245 #[serde(default, skip_serializing_if = "Option::is_none")]
1247 pub name: Option<String>,
1248 #[serde(
1250 rename = "profilePic",
1251 default,
1252 skip_serializing_if = "Option::is_none"
1253 )]
1254 pub profile_pic: Option<String>,
1255}
1256
1257#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1259pub struct CommentItemDTO {
1260 #[serde(rename = "_id")]
1263 pub id: String,
1264 pub platform: String,
1267 #[serde(
1269 rename = "platformCommentId",
1270 default,
1271 skip_serializing_if = "Option::is_none"
1272 )]
1273 pub platform_comment_id: Option<String>,
1274 #[serde(
1276 rename = "platformParentId",
1277 default,
1278 skip_serializing_if = "Option::is_none"
1279 )]
1280 pub platform_parent_id: Option<String>,
1281 #[serde(
1283 rename = "platformPostId",
1284 default,
1285 skip_serializing_if = "Option::is_none"
1286 )]
1287 pub platform_post_id: Option<String>,
1288 #[serde(rename = "postId")]
1291 pub post_id: String,
1292 #[serde(rename = "originId")]
1295 pub origin_id: String,
1296 #[serde(
1299 rename = "isParentThread",
1300 default,
1301 skip_serializing_if = "Option::is_none"
1302 )]
1303 pub is_parent_thread: Option<bool>,
1304 #[serde(rename = "isPost")]
1307 pub is_post: bool,
1308 #[serde(default, skip_serializing_if = "Option::is_none")]
1310 pub content: Option<String>,
1311 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1313 pub attachments: Vec<CommentAttachmentDTO>,
1314 #[serde(default, skip_serializing_if = "Option::is_none")]
1316 pub author: Option<CommentAuthorDTO>,
1317 #[serde(default, skip_serializing_if = "Option::is_none")]
1319 pub level: Option<f64>,
1320 #[serde(rename = "likeCount")]
1323 pub like_count: f64,
1324 #[serde(rename = "reactionCount")]
1327 pub reaction_count: f64,
1328 #[serde(rename = "replyCount")]
1331 pub reply_count: f64,
1332 #[serde(rename = "shareCount")]
1335 pub share_count: f64,
1336 #[serde(rename = "repostCount")]
1339 pub repost_count: f64,
1340 #[serde(rename = "quoteCount")]
1343 pub quote_count: f64,
1344 #[serde(
1346 rename = "previewLink",
1347 default,
1348 skip_serializing_if = "Option::is_none"
1349 )]
1350 pub preview_link: Option<String>,
1351 #[serde(rename = "isRead")]
1354 pub is_read: bool,
1355 #[serde(rename = "isDeleted")]
1358 pub is_deleted: bool,
1359 #[serde(rename = "isEdited")]
1362 pub is_edited: bool,
1363 #[serde(
1367 rename = "publishedAt",
1368 default,
1369 skip_serializing_if = "Option::is_none"
1370 )]
1371 pub published_at: Option<String>,
1372 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1375 pub created_at: Option<String>,
1376 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1379 pub updated_at: Option<String>,
1380}
1381
1382#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1384pub struct CommentsCreateBodyDTO {
1385 #[serde(rename = "parentId")]
1391 pub parent_id: String,
1392 #[serde(rename = "isParentThread")]
1396 pub is_parent_thread: bool,
1397 pub content: String,
1401 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1406 pub attachments: Vec<AttachmentDTO>,
1407 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1411 pub mentions: Vec<MentionsDTO>,
1412 #[serde(
1421 rename = "notifyAllGroupMembers",
1422 default,
1423 skip_serializing_if = "Option::is_none"
1424 )]
1425 pub notify_all_group_members: Option<bool>,
1426}
1427
1428#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1430pub struct CommentsCreateResponseDTO {
1431 pub success: bool,
1434 #[serde(rename = "statusCode")]
1437 pub status_code: f64,
1438 pub message: String,
1441 pub results: CommentItemDTO,
1444}
1445
1446#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1448pub struct CommentsGetListBodyDTO {
1449 #[serde(rename = "fromDate", default, skip_serializing_if = "Option::is_none")]
1452 pub from_date: Option<String>,
1453 #[serde(rename = "toDate", default, skip_serializing_if = "Option::is_none")]
1455 pub to_date: Option<String>,
1456 #[serde(rename = "originIds", default, skip_serializing_if = "Vec::is_empty")]
1459 pub origin_ids: Vec<String>,
1460 #[serde(rename = "sortBy", default, skip_serializing_if = "Option::is_none")]
1463 pub sort_by: Option<String>,
1464 #[serde(default, skip_serializing_if = "Option::is_none")]
1466 pub search: Option<String>,
1467 #[serde(default, skip_serializing_if = "Option::is_none")]
1469 pub skip: Option<f64>,
1470 #[serde(default, skip_serializing_if = "Option::is_none")]
1472 pub limit: Option<f64>,
1473 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
1478 pub parent_id: Option<String>,
1479}
1480
1481#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1483pub struct CommentsGetListResponseDTO {
1484 pub success: bool,
1487 #[serde(rename = "statusCode")]
1490 pub status_code: f64,
1491 pub message: String,
1494 pub results: CommentsGetListResultsDTO,
1497}
1498
1499#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1501pub struct CommentsGetListResultsDTO {
1502 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1505 pub comments: Vec<CommentItemDTO>,
1506 pub meta: CommentsListMetaDTO,
1509}
1510
1511#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1513pub struct CommentsLikeResponseDTO {
1514 pub success: bool,
1517 #[serde(rename = "statusCode")]
1520 pub status_code: f64,
1521 pub message: String,
1524}
1525
1526#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1528pub struct CommentsListMetaDTO {
1529 pub total: f64,
1532 #[serde(
1534 rename = "totalUnread",
1535 default,
1536 skip_serializing_if = "Option::is_none"
1537 )]
1538 pub total_unread: Option<f64>,
1539 pub skip: f64,
1542 pub limit: f64,
1545 #[serde(rename = "hasMore")]
1548 pub has_more: bool,
1549}
1550
1551#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1553pub struct CreateCategoryQueueDTO {
1554 #[serde(rename = "locationId")]
1557 pub location_id: String,
1558 #[serde(rename = "categoryId")]
1561 pub category_id: String,
1562 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1564 pub time_slots: Vec<TimeSlotDTO>,
1565 #[serde(
1567 rename = "enableFuturePosts",
1568 default,
1569 skip_serializing_if = "Option::is_none"
1570 )]
1571 pub enable_future_posts: Option<bool>,
1572 #[serde(
1574 rename = "prioritizeNewContent",
1575 default,
1576 skip_serializing_if = "Option::is_none"
1577 )]
1578 pub prioritize_new_content: Option<bool>,
1579 #[serde(rename = "userId")]
1582 pub user_id: String,
1583}
1584
1585#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1587pub struct CreateCategoryQueueResponseDTO {
1588 #[serde(default, skip_serializing_if = "Option::is_none")]
1590 pub message: Option<String>,
1591 #[serde(default, skip_serializing_if = "Option::is_none")]
1593 pub queue: Option<CreatedCategoryQueueDTO>,
1594}
1595
1596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1598pub struct CreatePostDTO {
1599 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1605 pub account_ids: Vec<String>,
1606 #[serde(default, skip_serializing_if = "Option::is_none")]
1615 pub summary: Option<String>,
1616 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1619 pub media: Vec<PostMediaSchema>,
1620 #[serde(default, skip_serializing_if = "Option::is_none")]
1633 pub status: Option<String>,
1634 #[serde(
1636 rename = "scheduleDate",
1637 default,
1638 skip_serializing_if = "Option::is_none"
1639 )]
1640 pub schedule_date: Option<String>,
1641 #[serde(
1643 rename = "selectedBestTime",
1644 default,
1645 skip_serializing_if = "Option::is_none"
1646 )]
1647 pub selected_best_time: Option<String>,
1648 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1652 pub created_by: Option<String>,
1653 #[serde(
1660 rename = "followUpComment",
1661 default,
1662 skip_serializing_if = "Option::is_none"
1663 )]
1664 pub follow_up_comment: Option<String>,
1665 #[serde(
1667 rename = "ogTagsDetails",
1668 default,
1669 skip_serializing_if = "Option::is_none"
1670 )]
1671 pub og_tags_details: Option<OgTagsSchema>,
1672 #[serde(rename = "type")]
1682 pub type_: String,
1683 #[serde(
1685 rename = "postApprovalDetails",
1686 default,
1687 skip_serializing_if = "Option::is_none"
1688 )]
1689 pub post_approval_details: Option<PostApprovalSchema>,
1690 #[serde(
1693 rename = "scheduleTimeUpdated",
1694 default,
1695 skip_serializing_if = "Option::is_none"
1696 )]
1697 pub schedule_time_updated: Option<bool>,
1698 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1702 pub tags: Vec<String>,
1703 #[serde(
1707 rename = "categoryId",
1708 default,
1709 skip_serializing_if = "Option::is_none"
1710 )]
1711 pub category_id: Option<String>,
1712 #[serde(
1715 rename = "applyWatermark",
1716 default,
1717 skip_serializing_if = "Option::is_none"
1718 )]
1719 pub apply_watermark: Option<bool>,
1720 #[serde(
1722 rename = "tiktokPostDetails",
1723 default,
1724 skip_serializing_if = "Option::is_none"
1725 )]
1726 pub tiktok_post_details: Option<TiktokPostSchema>,
1727 #[serde(
1729 rename = "gmbPostDetails",
1730 default,
1731 skip_serializing_if = "Option::is_none"
1732 )]
1733 pub gmb_post_details: Option<GMBPostSchema>,
1734 #[serde(rename = "userId")]
1738 pub user_id: String,
1739 #[serde(
1745 rename = "linkedinPostDetails",
1746 default,
1747 skip_serializing_if = "Option::is_none"
1748 )]
1749 pub linkedin_post_details: Option<LinkedinPostSchema>,
1750 #[serde(
1758 rename = "pinterestPostDetails",
1759 default,
1760 skip_serializing_if = "Option::is_none"
1761 )]
1762 pub pinterest_post_details: Option<PinterestPostSchema>,
1763 #[serde(
1769 rename = "facebookPostDetails",
1770 default,
1771 skip_serializing_if = "Option::is_none"
1772 )]
1773 pub facebook_post_details: Option<FacebookPostSchema>,
1774 #[serde(
1785 rename = "instagramPostDetails",
1786 default,
1787 skip_serializing_if = "Option::is_none"
1788 )]
1789 pub instagram_post_details: Option<InstagramPostSchema>,
1790 #[serde(
1796 rename = "youtubePostDetails",
1797 default,
1798 skip_serializing_if = "Option::is_none"
1799 )]
1800 pub youtube_post_details: Option<YoutubePostSchema>,
1801}
1802
1803#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1805pub struct CreatePostSuccessfulResponseDTO {
1806 pub success: bool,
1809 #[serde(rename = "statusCode")]
1812 pub status_code: f64,
1813 pub message: String,
1816 #[serde(default, skip_serializing_if = "Option::is_none")]
1818 pub results: Option<CreatePostSuccessfulResponseSchema>,
1819}
1820
1821#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1823pub struct CreatePostSuccessfulResponseSchema {
1824 #[serde(default, skip_serializing_if = "Option::is_none")]
1826 pub post: Option<GetPostFormattedSchema>,
1827}
1828
1829#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1831pub struct CreateQueueItemDTO {
1832 #[serde(rename = "locationId")]
1835 pub location_id: String,
1836 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
1838 pub session_id: Option<String>,
1839 #[serde(
1841 rename = "modifiedPostPayload",
1842 default,
1843 skip_serializing_if = "Option::is_none"
1844 )]
1845 pub modified_post_payload: Option<QueueModifiedPostDTO>,
1846 #[serde(default, skip_serializing_if = "Option::is_none")]
1855 pub order: Option<serde_json::Value>,
1856 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1858 pub variations: Vec<VariationInputDTO>,
1859 #[serde(
1862 rename = "primaryImage",
1863 default,
1864 skip_serializing_if = "Option::is_none"
1865 )]
1866 pub primary_image: Option<String>,
1867 #[serde(
1872 rename = "directToQueue",
1873 default,
1874 skip_serializing_if = "Option::is_none"
1875 )]
1876 pub direct_to_queue: Option<bool>,
1877}
1878
1879#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1881pub struct CreateQueueItemResponseDTO {
1882 #[serde(default, skip_serializing_if = "Option::is_none")]
1884 pub message: Option<String>,
1885 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
1887 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
1888}
1889
1890#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1892pub struct CreatedCategoryQueueDTO {
1893 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1895 pub id: Option<String>,
1896 #[serde(
1898 rename = "locationId",
1899 default,
1900 skip_serializing_if = "Option::is_none"
1901 )]
1902 pub location_id: Option<String>,
1903 #[serde(
1905 rename = "categoryId",
1906 default,
1907 skip_serializing_if = "Option::is_none"
1908 )]
1909 pub category_id: Option<String>,
1910 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1912 pub time_slots: Vec<CreatedTimeSlotDTO>,
1913 #[serde(
1915 rename = "enableFuturePosts",
1916 default,
1917 skip_serializing_if = "Option::is_none"
1918 )]
1919 pub enable_future_posts: Option<bool>,
1920 #[serde(
1922 rename = "prioritizeNewContent",
1923 default,
1924 skip_serializing_if = "Option::is_none"
1925 )]
1926 pub prioritize_new_content: Option<bool>,
1927 #[serde(default, skip_serializing_if = "Option::is_none")]
1930 pub status: Option<String>,
1931 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1934 pub start_date: Option<String>,
1935 #[serde(
1938 rename = "skipDateTime",
1939 default,
1940 skip_serializing_if = "Vec::is_empty"
1941 )]
1942 pub skip_date_time: Vec<String>,
1943 #[serde(
1945 rename = "totalPosts",
1946 default,
1947 skip_serializing_if = "Option::is_none"
1948 )]
1949 pub total_posts: Option<f64>,
1950 #[serde(
1953 rename = "lastScheduledTime",
1954 default,
1955 skip_serializing_if = "Option::is_none"
1956 )]
1957 pub last_scheduled_time: Option<String>,
1958 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1960 pub created_by: Option<String>,
1961 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1964 pub created_at: Option<String>,
1965 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1968 pub updated_at: Option<String>,
1969}
1970
1971#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1973pub struct CreatedQueueItemWithVariationsDTO {
1974 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1976 pub id: Option<String>,
1977 #[serde(default, skip_serializing_if = "Option::is_none")]
1979 pub order: Option<f64>,
1980 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1982 pub variations: Vec<VariationDTO>,
1983 #[serde(
1985 rename = "primaryImage",
1986 default,
1987 skip_serializing_if = "Option::is_none"
1988 )]
1989 pub primary_image: Option<String>,
1990 #[serde(
1993 rename = "lastScheduledTime",
1994 default,
1995 skip_serializing_if = "Option::is_none"
1996 )]
1997 pub last_scheduled_time: Option<String>,
1998 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2000 pub queue_id: Option<String>,
2001 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2003 pub post_id: Option<String>,
2004 #[serde(
2006 rename = "modifiedPostPayload",
2007 default,
2008 skip_serializing_if = "Option::is_none"
2009 )]
2010 pub modified_post_payload: Option<GetModifiedPayloadFormattedSchema>,
2011 #[serde(
2013 rename = "parentPostId",
2014 default,
2015 skip_serializing_if = "Option::is_none"
2016 )]
2017 pub parent_post_id: Option<String>,
2018 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2021 pub errors: Vec<String>,
2022 #[serde(
2024 rename = "currentVariation",
2025 default,
2026 skip_serializing_if = "Option::is_none"
2027 )]
2028 pub current_variation: Option<f64>,
2029 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2031 pub created_at: Option<String>,
2032 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2034 pub updated_at: Option<String>,
2035 #[serde(default, skip_serializing_if = "Option::is_none")]
2037 pub deleted: Option<bool>,
2038 #[serde(
2040 rename = "locationId",
2041 default,
2042 skip_serializing_if = "Option::is_none"
2043 )]
2044 pub location_id: Option<String>,
2045}
2046
2047#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2049pub struct CreatedTimeSlotDTO {
2050 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2052 pub id: Option<String>,
2053 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
2055 pub day_of_week: Option<f64>,
2056 #[serde(default, skip_serializing_if = "Option::is_none")]
2058 pub time: Option<String>,
2059}
2060
2061#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2063pub struct CsvPostStatusResponseDTO {
2064 pub success: bool,
2067 #[serde(rename = "statusCode")]
2070 pub status_code: f64,
2071 pub message: String,
2074}
2075
2076#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2078pub struct CsvResponse {
2079 #[serde(
2081 rename = "locationId",
2082 default,
2083 skip_serializing_if = "Option::is_none"
2084 )]
2085 pub location_id: Option<String>,
2086 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
2088 pub file_name: Option<String>,
2089 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2091 pub account_ids: Vec<String>,
2092 #[serde(default, skip_serializing_if = "Option::is_none")]
2094 pub file: Option<String>,
2095 #[serde(default, skip_serializing_if = "Option::is_none")]
2099 pub status: Option<String>,
2100 #[serde(default, skip_serializing_if = "Option::is_none")]
2102 pub count: Option<f64>,
2103 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2105 pub created_by: Option<String>,
2106 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
2108 pub trace_id: Option<String>,
2109 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2111 pub origin_id: Option<String>,
2112 #[serde(default, skip_serializing_if = "Option::is_none")]
2114 pub approver: Option<String>,
2115 #[serde(
2118 rename = "csvFileType",
2119 default,
2120 skip_serializing_if = "Option::is_none"
2121 )]
2122 pub csv_file_type: Option<String>,
2123 #[serde(
2125 rename = "mediaOptimization",
2126 default,
2127 skip_serializing_if = "Option::is_none"
2128 )]
2129 pub media_optimization: Option<bool>,
2130 #[serde(
2132 rename = "applyWatermark",
2133 default,
2134 skip_serializing_if = "Option::is_none"
2135 )]
2136 pub apply_watermark: Option<bool>,
2137 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2140 pub updated_at: Option<String>,
2141}
2142
2143#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2145pub struct DateSchema {
2146 pub year: f64,
2149 pub month: f64,
2152 pub day: f64,
2155}
2156
2157#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2159pub struct DeleteAccountResponseSchema {
2160 #[serde(
2162 rename = "locationId",
2163 default,
2164 skip_serializing_if = "Option::is_none"
2165 )]
2166 pub location_id: Option<String>,
2167 #[serde(default, skip_serializing_if = "Option::is_none")]
2169 pub id: Option<String>,
2170}
2171
2172#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2174pub struct DeleteActivePostResponseDTO {
2175 #[serde(default, skip_serializing_if = "Option::is_none")]
2177 pub message: Option<String>,
2178}
2179
2180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2182pub struct DeleteCsvResponseDTO {
2183 pub success: bool,
2186 #[serde(rename = "statusCode")]
2189 pub status_code: f64,
2190 pub message: String,
2193 #[serde(default, skip_serializing_if = "Option::is_none")]
2195 pub results: Option<CSVResponseSchema>,
2196}
2197
2198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2200pub struct DeleteLikeResponseDTO {
2201 pub success: bool,
2204 #[serde(rename = "statusCode")]
2207 pub status_code: f64,
2208 pub message: String,
2211}
2212
2213#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2215pub struct DeletePostCsvSchema {
2216 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2218 pub id: Option<String>,
2219 #[serde(
2222 rename = "csvFileType",
2223 default,
2224 skip_serializing_if = "Option::is_none"
2225 )]
2226 pub csv_file_type: Option<String>,
2227 #[serde(
2229 rename = "mediaOptimization",
2230 default,
2231 skip_serializing_if = "Option::is_none"
2232 )]
2233 pub media_optimization: Option<bool>,
2234 #[serde(
2236 rename = "applyWatermark",
2237 default,
2238 skip_serializing_if = "Option::is_none"
2239 )]
2240 pub apply_watermark: Option<bool>,
2241 #[serde(default, skip_serializing_if = "Option::is_none")]
2245 pub status: Option<String>,
2246 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2249 pub updated_at: Option<String>,
2250}
2251
2252#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2254pub struct DeletePostResponseDTO {
2255 pub success: bool,
2258 #[serde(rename = "statusCode")]
2261 pub status_code: f64,
2262 pub message: String,
2265 #[serde(default, skip_serializing_if = "Option::is_none")]
2267 pub results: Option<DeletePostResponseSchema>,
2268}
2269
2270#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2272pub struct DeletePostResponseSchema {
2273 #[serde(rename = "postId")]
2276 pub post_id: String,
2277 #[serde(default, skip_serializing_if = "Option::is_none")]
2279 pub csv: Option<DeletePostCsvSchema>,
2280}
2281
2282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2284pub struct DeletePostSuccessfulResponseDTO {
2285 pub success: bool,
2288 #[serde(rename = "statusCode")]
2291 pub status_code: f64,
2292 pub message: String,
2295 #[serde(default, skip_serializing_if = "Option::is_none")]
2297 pub results: Option<DeletePostSuccessfulResponseSchema>,
2298}
2299
2300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2302pub struct DeletePostSuccessfulResponseSchema {
2303 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2305 pub post_id: Option<String>,
2306}
2307
2308#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2310pub struct DeletePostsDto {
2311 #[serde(rename = "postIds", default, skip_serializing_if = "Vec::is_empty")]
2313 pub post_ids: Vec<String>,
2314}
2315
2316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2318pub struct DiscardEditSessionDTO {
2319 #[serde(rename = "locationId")]
2322 pub location_id: String,
2323 #[serde(rename = "sessionId")]
2326 pub session_id: String,
2327 #[serde(
2330 rename = "keepInDraft",
2331 default,
2332 skip_serializing_if = "Option::is_none"
2333 )]
2334 pub keep_in_draft: Option<bool>,
2335}
2336
2337#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2339pub struct DiscardEditSessionResponseDTO {
2340 #[serde(default, skip_serializing_if = "Option::is_none")]
2342 pub message: Option<String>,
2343}
2344
2345#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2347pub struct EditSessionCalendarDTO {
2348 #[serde(rename = "locationId")]
2351 pub location_id: String,
2352 #[serde(rename = "sessionId")]
2355 pub session_id: String,
2356 #[serde(rename = "startDate")]
2359 pub start_date: String,
2360 #[serde(rename = "endDate")]
2363 pub end_date: String,
2364 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2366 pub account_ids: Vec<String>,
2367}
2368
2369#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2371pub struct EditSessionCalendarResponseDTO {
2372 #[serde(default, skip_serializing_if = "Option::is_none")]
2373 pub message: Option<String>,
2374 #[serde(
2375 rename = "scheduledPosts",
2376 default,
2377 skip_serializing_if = "Vec::is_empty"
2378 )]
2379 pub scheduled_posts: Vec<EditSessionScheduledPostDTO>,
2380 #[serde(default, skip_serializing_if = "Option::is_none")]
2382 pub total: Option<f64>,
2383 #[serde(default, skip_serializing_if = "Option::is_none")]
2385 pub timezone: Option<String>,
2386}
2387
2388#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2390pub struct EditSessionScheduledPostDTO {
2391 #[serde(
2394 rename = "scheduledDateTime",
2395 default,
2396 skip_serializing_if = "Option::is_none"
2397 )]
2398 pub scheduled_date_time: Option<String>,
2399 #[serde(default, skip_serializing_if = "Option::is_none")]
2401 pub post: Option<GetPostFormattedSchema>,
2402 #[serde(
2404 rename = "queueItemId",
2405 default,
2406 skip_serializing_if = "Option::is_none"
2407 )]
2408 pub queue_item_id: Option<String>,
2409 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2411 pub queue_id: Option<String>,
2412 #[serde(default, skip_serializing_if = "Option::is_none")]
2414 pub order: Option<f64>,
2415 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2417 pub variations: Vec<VariationDTO>,
2418 #[serde(
2420 rename = "primaryImage",
2421 default,
2422 skip_serializing_if = "Option::is_none"
2423 )]
2424 pub primary_image: Option<String>,
2425 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2428 pub errors: Vec<String>,
2429 #[serde(default, skip_serializing_if = "Option::is_none")]
2431 pub category: Option<CategoryInfoDTO>,
2432 #[serde(
2434 rename = "currentVariation",
2435 default,
2436 skip_serializing_if = "Option::is_none"
2437 )]
2438 pub current_variation: Option<f64>,
2439 #[serde(default, skip_serializing_if = "Option::is_none")]
2441 pub timezone: Option<String>,
2442 #[serde(rename = "isDraft", default, skip_serializing_if = "Option::is_none")]
2444 pub is_draft: Option<bool>,
2445 #[serde(
2447 rename = "originalItemId",
2448 default,
2449 skip_serializing_if = "Option::is_none"
2450 )]
2451 pub original_item_id: Option<String>,
2452}
2453
2454#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2456pub struct EndDateSchema {
2457 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2459 pub end_date: Option<DateSchema>,
2460 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
2462 pub end_time: Option<TimeSchema>,
2463}
2464
2465#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2467pub struct FacebookPageSchema {
2468 #[serde(default, skip_serializing_if = "Option::is_none")]
2470 pub id: Option<String>,
2471 #[serde(default, skip_serializing_if = "Option::is_none")]
2473 pub name: Option<String>,
2474 #[serde(default, skip_serializing_if = "Option::is_none")]
2476 pub avatar: Option<String>,
2477 #[serde(rename = "isOwned", default, skip_serializing_if = "Option::is_none")]
2479 pub is_owned: Option<bool>,
2480 #[serde(
2482 rename = "isConnected",
2483 default,
2484 skip_serializing_if = "Option::is_none"
2485 )]
2486 pub is_connected: Option<bool>,
2487}
2488
2489#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2491pub struct FacebookPostSchema {
2492 #[serde(rename = "type")]
2499 pub type_: String,
2500 #[serde(
2508 rename = "textFormatPresetId",
2509 default,
2510 skip_serializing_if = "Option::is_none"
2511 )]
2512 pub text_format_preset_id: Option<String>,
2513}
2514
2515#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2517pub struct FetchAvailableCategoriesResponseDTO {
2518 #[serde(default, skip_serializing_if = "Option::is_none")]
2519 pub message: Option<String>,
2520 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2522 pub categories: Vec<AvailableCategoryDTO>,
2523 #[serde(default, skip_serializing_if = "Option::is_none")]
2524 pub meta: Option<MetaDTO>,
2525}
2526
2527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2529pub struct FetchCalendarListResponseDTO {
2530 #[serde(default, skip_serializing_if = "Option::is_none")]
2531 pub message: Option<String>,
2532 #[serde(
2533 rename = "scheduledPosts",
2534 default,
2535 skip_serializing_if = "Vec::is_empty"
2536 )]
2537 pub scheduled_posts: Vec<ScheduledPostDTO>,
2538 #[serde(default, skip_serializing_if = "Option::is_none")]
2540 pub total: Option<f64>,
2541 #[serde(default, skip_serializing_if = "Option::is_none")]
2543 pub timezone: Option<String>,
2544}
2545
2546#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2548pub struct FetchCategoryQueuesDTO {
2549 #[serde(rename = "locationId")]
2552 pub location_id: String,
2553 #[serde(default, skip_serializing_if = "Option::is_none")]
2555 pub skip: Option<f64>,
2556 #[serde(default, skip_serializing_if = "Option::is_none")]
2558 pub limit: Option<f64>,
2559}
2560
2561#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2563pub struct FetchCategoryQueuesResponseDTO {
2564 #[serde(default, skip_serializing_if = "Option::is_none")]
2565 pub message: Option<String>,
2566 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2567 pub queues: Vec<CategoryQueueWithCategoryDTO>,
2568 #[serde(default, skip_serializing_if = "Option::is_none")]
2569 pub meta: Option<MetaDTO>,
2570}
2571
2572#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2574pub struct FetchQueueByIdResponseDTO {
2575 #[serde(default, skip_serializing_if = "Option::is_none")]
2577 pub message: Option<String>,
2578 #[serde(default, skip_serializing_if = "Option::is_none")]
2580 pub queue: Option<CategoryQueueWithCategoryDTO>,
2581}
2582
2583#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2585pub struct FetchQueueItemsDTO {
2586 #[serde(rename = "locationId")]
2589 pub location_id: String,
2590 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2592 pub session_id: Option<String>,
2593 #[serde(default, skip_serializing_if = "Option::is_none")]
2595 pub skip: Option<f64>,
2596 #[serde(default, skip_serializing_if = "Option::is_none")]
2598 pub limit: Option<f64>,
2599 #[serde(
2601 rename = "errorFilter",
2602 default,
2603 skip_serializing_if = "Option::is_none"
2604 )]
2605 pub error_filter: Option<bool>,
2606 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
2610 pub item_id: Option<String>,
2611}
2612
2613#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2615pub struct FetchQueueItemsMetaDTO {
2616 #[serde(default, skip_serializing_if = "Option::is_none")]
2618 pub count: Option<String>,
2619 #[serde(default, skip_serializing_if = "Option::is_none")]
2621 pub skip: Option<f64>,
2622 #[serde(default, skip_serializing_if = "Option::is_none")]
2624 pub limit: Option<f64>,
2625}
2626
2627#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2629pub struct FetchQueueItemsResponseDTO {
2630 #[serde(default, skip_serializing_if = "Option::is_none")]
2631 pub message: Option<String>,
2632 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2633 pub items: Vec<QueueItemDTO>,
2634 #[serde(default, skip_serializing_if = "Option::is_none")]
2635 pub meta: Option<FetchQueueItemsMetaDTO>,
2636}
2637
2638#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2640pub struct FetchSlotsDTO {
2641 #[serde(rename = "locationId")]
2644 pub location_id: String,
2645 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2647 pub session_id: Option<String>,
2648 #[serde(default, skip_serializing_if = "Option::is_none")]
2650 pub skip: Option<f64>,
2651 #[serde(default, skip_serializing_if = "Option::is_none")]
2653 pub limit: Option<f64>,
2654}
2655
2656#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2658pub struct FetchSlotsResponseDTO {
2659 #[serde(default, skip_serializing_if = "Option::is_none")]
2660 pub message: Option<String>,
2661 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2663 pub slots: Vec<UpdatedSlotInfoDTO>,
2664 #[serde(default, skip_serializing_if = "Option::is_none")]
2666 pub total: Option<f64>,
2667 #[serde(default, skip_serializing_if = "Option::is_none")]
2669 pub skip: Option<f64>,
2670 #[serde(default, skip_serializing_if = "Option::is_none")]
2672 pub limit: Option<f64>,
2673 #[serde(default, skip_serializing_if = "Option::is_none")]
2675 pub timezone: Option<String>,
2676}
2677
2678#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2680pub struct FormatedApprovalDetails {
2681 #[serde(default, skip_serializing_if = "Option::is_none")]
2684 pub approver: Option<String>,
2685 #[serde(
2688 rename = "requesterNote",
2689 default,
2690 skip_serializing_if = "Option::is_none"
2691 )]
2692 pub requester_note: Option<String>,
2693 #[serde(
2695 rename = "approverNote",
2696 default,
2697 skip_serializing_if = "Option::is_none"
2698 )]
2699 pub approver_note: Option<String>,
2700 #[serde(
2705 rename = "approvalStatus",
2706 default,
2707 skip_serializing_if = "Option::is_none"
2708 )]
2709 pub approval_status: Option<String>,
2710 #[serde(
2712 rename = "approverUser",
2713 default,
2714 skip_serializing_if = "Option::is_none"
2715 )]
2716 pub approver_user: Option<PostUserSchema>,
2717}
2718
2719#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2721pub struct GMBPostSchema {
2722 #[serde(rename = "gmbEventType")]
2730 pub gmb_event_type: String,
2731 #[serde(default, skip_serializing_if = "Option::is_none")]
2733 pub title: Option<String>,
2734 #[serde(
2736 rename = "offerTitle",
2737 default,
2738 skip_serializing_if = "Option::is_none"
2739 )]
2740 pub offer_title: Option<String>,
2741 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2745 pub start_date: Option<StartDateSchema>,
2746 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2750 pub end_date: Option<EndDateSchema>,
2751 #[serde(
2753 rename = "termsConditions",
2754 default,
2755 skip_serializing_if = "Option::is_none"
2756 )]
2757 pub terms_conditions: Option<String>,
2758 #[serde(default, skip_serializing_if = "Option::is_none")]
2761 pub url: Option<String>,
2762 #[serde(
2764 rename = "couponCode",
2765 default,
2766 skip_serializing_if = "Option::is_none"
2767 )]
2768 pub coupon_code: Option<String>,
2769 #[serde(
2771 rename = "redeemOnlineUrl",
2772 default,
2773 skip_serializing_if = "Option::is_none"
2774 )]
2775 pub redeem_online_url: Option<String>,
2776 #[serde(
2782 rename = "actionType",
2783 default,
2784 skip_serializing_if = "Option::is_none"
2785 )]
2786 pub action_type: Option<String>,
2787}
2788
2789#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2791pub struct GeneralSuccessResponseDTO {
2792 #[serde(default, skip_serializing_if = "Option::is_none")]
2794 pub message: Option<String>,
2795 #[serde(
2797 rename = "updatedSlots",
2798 default,
2799 skip_serializing_if = "Vec::is_empty"
2800 )]
2801 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
2802 #[serde(
2804 rename = "totalPostsChanged",
2805 default,
2806 skip_serializing_if = "Option::is_none"
2807 )]
2808 pub total_posts_changed: Option<f64>,
2809}
2810
2811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2813pub struct GetAccountSchema {
2814 #[serde(default, skip_serializing_if = "Option::is_none")]
2816 pub id: Option<String>,
2817 #[serde(rename = "oauthId", default, skip_serializing_if = "Option::is_none")]
2819 pub oauth_id: Option<String>,
2820 #[serde(rename = "profileId", default, skip_serializing_if = "Option::is_none")]
2822 pub profile_id: Option<String>,
2823 #[serde(default, skip_serializing_if = "Option::is_none")]
2825 pub name: Option<String>,
2826 #[serde(default, skip_serializing_if = "Option::is_none")]
2829 pub platform: Option<String>,
2830 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2832 pub type_: Option<String>,
2833 #[serde(default, skip_serializing_if = "Option::is_none")]
2835 pub expire: Option<String>,
2836 #[serde(rename = "isExpired", default, skip_serializing_if = "Option::is_none")]
2838 pub is_expired: Option<bool>,
2839 #[serde(default, skip_serializing_if = "Option::is_none")]
2841 pub meta: Option<serde_json::Value>,
2842}
2843
2844#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2846pub struct GetByIdResponseDTO {
2847 pub success: bool,
2850 #[serde(rename = "statusCode")]
2853 pub status_code: f64,
2854 pub message: String,
2857 #[serde(default, skip_serializing_if = "Option::is_none")]
2859 pub results: Option<GetCategorySchema>,
2860}
2861
2862#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2864pub struct GetByIdResponseSchema {
2865 #[serde(default, skip_serializing_if = "Option::is_none")]
2867 pub name: Option<String>,
2868 #[serde(
2870 rename = "primaryColor",
2871 default,
2872 skip_serializing_if = "Option::is_none"
2873 )]
2874 pub primary_color: Option<String>,
2875 #[serde(
2877 rename = "secondaryColor",
2878 default,
2879 skip_serializing_if = "Option::is_none"
2880 )]
2881 pub secondary_color: Option<String>,
2882 #[serde(
2884 rename = "locationId",
2885 default,
2886 skip_serializing_if = "Option::is_none"
2887 )]
2888 pub location_id: Option<String>,
2889 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2891 pub id: Option<String>,
2892 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2894 pub created_by: Option<String>,
2895 pub deleted: bool,
2898 #[serde(default, skip_serializing_if = "Option::is_none")]
2900 pub message: Option<String>,
2901 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2903 pub created_at: Option<String>,
2904 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2906 pub updated_at: Option<String>,
2907}
2908
2909#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2911pub struct GetByLocationIdResponseDTO {
2912 pub success: bool,
2915 #[serde(rename = "statusCode")]
2918 pub status_code: f64,
2919 pub message: String,
2922 #[serde(default, skip_serializing_if = "Option::is_none")]
2924 pub results: Option<GetByLocationIdResponseSchema>,
2925}
2926
2927#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2929pub struct GetByLocationIdResponseSchema {
2930 pub count: f64,
2933 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2936 pub categories: Vec<CategorySchema>,
2937}
2938
2939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2941pub struct GetCategorySchema {
2942 #[serde(default, skip_serializing_if = "Option::is_none")]
2944 pub category: Option<GetByIdResponseSchema>,
2945}
2946
2947#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2949pub struct GetCsvPostResponseDTO {
2950 pub success: bool,
2953 #[serde(rename = "statusCode")]
2956 pub status_code: f64,
2957 pub message: String,
2960 #[serde(default, skip_serializing_if = "Option::is_none")]
2962 pub results: Option<GetCsvPostResponseSchema>,
2963}
2964
2965#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2967pub struct GetCsvPostResponseSchema {
2968 #[serde(default, skip_serializing_if = "Option::is_none")]
2970 pub csv: Option<CSVImportSchema>,
2971 #[serde(default, skip_serializing_if = "Option::is_none")]
2973 pub count: Option<f64>,
2974 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2976 pub posts: Vec<CSVPostSchema>,
2977}
2978
2979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2981pub struct GetFacebookAccountsResponseDTO {
2982 pub success: bool,
2985 #[serde(rename = "statusCode")]
2988 pub status_code: f64,
2989 pub message: String,
2992 #[serde(default, skip_serializing_if = "Option::is_none")]
2994 pub results: Option<GetFacebookAccountsSchema>,
2995}
2996
2997#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2999pub struct GetFacebookAccountsSchema {
3000 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3002 pub pages: Vec<FacebookPageSchema>,
3003}
3004
3005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3007pub struct GetGoogleLocationAccountSchema {
3008 #[serde(default, skip_serializing_if = "Option::is_none")]
3010 pub locations: Option<GetGoogleLocationSchema>,
3011}
3012
3013#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3015pub struct GetGoogleLocationResponseDTO {
3016 pub success: bool,
3019 #[serde(rename = "statusCode")]
3022 pub status_code: f64,
3023 pub message: String,
3026 #[serde(default, skip_serializing_if = "Option::is_none")]
3028 pub results: Option<GetGoogleLocationAccountSchema>,
3029}
3030
3031#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3033pub struct GetGoogleLocationSchema {
3034 #[serde(default, skip_serializing_if = "Option::is_none")]
3036 pub location: Option<GoogleLocationSchema>,
3037 #[serde(default, skip_serializing_if = "Option::is_none")]
3039 pub account: Option<GoogleAccountsSchema>,
3040}
3041
3042#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3044pub struct GetGroupSchema {
3045 pub id: String,
3048 pub name: String,
3051 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3054 pub account_ids: Vec<String>,
3055}
3056
3057#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3059pub struct GetInstagramAccountsResponseDTO {
3060 pub success: bool,
3063 #[serde(rename = "statusCode")]
3066 pub status_code: f64,
3067 pub message: String,
3070 #[serde(default, skip_serializing_if = "Option::is_none")]
3072 pub results: Option<GetInstagramAccountsSchema>,
3073}
3074
3075#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3077pub struct GetInstagramAccountsSchema {
3078 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3080 pub accounts: Vec<InstagramAccountSchema>,
3081}
3082
3083#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3085pub struct GetLinkedInAccountSchema {
3086 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3088 pub pages: Vec<LinkedInPageSchema>,
3089 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3091 pub profile: Vec<LinkedInProfileSchema>,
3092}
3093
3094#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3096pub struct GetLinkedInAccountsResponseDTO {
3097 pub success: bool,
3100 #[serde(rename = "statusCode")]
3103 pub status_code: f64,
3104 pub message: String,
3107 #[serde(default, skip_serializing_if = "Option::is_none")]
3109 pub results: Option<GetLinkedInAccountSchema>,
3110}
3111
3112#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3114pub struct GetModifiedPayloadFormattedSchema {
3115 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3117 pub id: Option<String>,
3118 #[serde(default, skip_serializing_if = "Option::is_none")]
3122 pub source: Option<String>,
3123 #[serde(rename = "locationId")]
3126 pub location_id: String,
3127 #[serde(
3130 rename = "displayDate",
3131 default,
3132 skip_serializing_if = "Option::is_none"
3133 )]
3134 pub display_date: Option<String>,
3135 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3138 pub created_at: Option<String>,
3139 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3142 pub updated_at: Option<String>,
3143 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3145 pub account_id: Option<String>,
3146 pub error: String,
3149 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3151 pub post_id: Option<String>,
3152 #[serde(
3154 rename = "publishedAt",
3155 default,
3156 skip_serializing_if = "Option::is_none"
3157 )]
3158 pub published_at: Option<String>,
3159 #[serde(default, skip_serializing_if = "Option::is_none")]
3166 pub thumbnail: Option<String>,
3167 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3169 pub account_ids: Vec<String>,
3170 #[serde(default, skip_serializing_if = "Option::is_none")]
3172 pub summary: Option<String>,
3173 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3176 pub media: Vec<PostMediaSchema>,
3177 #[serde(default, skip_serializing_if = "Option::is_none")]
3180 pub status: Option<serde_json::Value>,
3181 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3183 pub created_by: Option<String>,
3184 #[serde(rename = "type")]
3187 pub type_: serde_json::Value,
3188 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3190 pub tags: Vec<String>,
3191 #[serde(
3193 rename = "ogTagsDetails",
3194 default,
3195 skip_serializing_if = "Option::is_none"
3196 )]
3197 pub og_tags_details: Option<OgTagsSchema>,
3198 #[serde(
3200 rename = "postApprovalDetails",
3201 default,
3202 skip_serializing_if = "Option::is_none"
3203 )]
3204 pub post_approval_details: Option<FormatedApprovalDetails>,
3205 #[serde(
3207 rename = "tiktokPostDetails",
3208 default,
3209 skip_serializing_if = "Option::is_none"
3210 )]
3211 pub tiktok_post_details: Option<TiktokPostSchema>,
3212 #[serde(
3214 rename = "gmbPostDetails",
3215 default,
3216 skip_serializing_if = "Option::is_none"
3217 )]
3218 pub gmb_post_details: Option<GMBPostSchema>,
3219 #[serde(default, skip_serializing_if = "Option::is_none")]
3221 pub user: Option<PostUserSchema>,
3222 #[serde(
3224 rename = "linkedinPostDetails",
3225 default,
3226 skip_serializing_if = "Option::is_none"
3227 )]
3228 pub linkedin_post_details: Option<LinkedinPostSchema>,
3229 #[serde(
3231 rename = "pinterestPostDetails",
3232 default,
3233 skip_serializing_if = "Option::is_none"
3234 )]
3235 pub pinterest_post_details: Option<PinterestPostSchema>,
3236 #[serde(
3238 rename = "facebookPostDetails",
3239 default,
3240 skip_serializing_if = "Option::is_none"
3241 )]
3242 pub facebook_post_details: Option<FacebookPostSchema>,
3243 #[serde(
3245 rename = "instagramPostDetails",
3246 default,
3247 skip_serializing_if = "Option::is_none"
3248 )]
3249 pub instagram_post_details: Option<InstagramPostSchema>,
3250 #[serde(
3252 rename = "youtubePostDetails",
3253 default,
3254 skip_serializing_if = "Option::is_none"
3255 )]
3256 pub youtube_post_details: Option<YoutubePostSchema>,
3257 #[serde(
3259 rename = "mediaOptimization",
3260 default,
3261 skip_serializing_if = "Option::is_none"
3262 )]
3263 pub media_optimization: Option<bool>,
3264}
3265
3266#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3268pub struct GetPinterestAccountSchema {
3269 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3271 pub profile: Vec<PinterestProfileSchema>,
3272}
3273
3274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3276pub struct GetPinterestAccountsResponseDTO {
3277 pub success: bool,
3280 #[serde(rename = "statusCode")]
3283 pub status_code: f64,
3284 pub message: String,
3287 #[serde(default, skip_serializing_if = "Option::is_none")]
3289 pub results: Option<GetPinterestAccountSchema>,
3290}
3291
3292#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3294pub struct GetPostFormattedSchema {
3295 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3297 pub id: Option<String>,
3298 #[serde(default, skip_serializing_if = "Option::is_none")]
3301 pub source: Option<String>,
3302 #[serde(rename = "locationId")]
3305 pub location_id: String,
3306 #[serde(default, skip_serializing_if = "Option::is_none")]
3309 pub platform: Option<String>,
3310 #[serde(default, skip_serializing_if = "Option::is_none")]
3317 pub thumbnail: Option<String>,
3318 #[serde(
3321 rename = "displayDate",
3322 default,
3323 skip_serializing_if = "Option::is_none"
3324 )]
3325 pub display_date: Option<String>,
3326 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3329 pub created_at: Option<String>,
3330 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3333 pub updated_at: Option<String>,
3334 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3336 pub account_id: Option<String>,
3337 pub error: String,
3340 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3342 pub post_id: Option<String>,
3343 #[serde(
3345 rename = "publishedAt",
3346 default,
3347 skip_serializing_if = "Option::is_none"
3348 )]
3349 pub published_at: Option<String>,
3350 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3352 pub account_ids: Vec<String>,
3353 #[serde(default, skip_serializing_if = "Option::is_none")]
3355 pub summary: Option<String>,
3356 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3359 pub media: Vec<PostMediaSchema>,
3360 #[serde(default, skip_serializing_if = "Option::is_none")]
3363 pub status: Option<serde_json::Value>,
3364 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3366 pub created_by: Option<String>,
3367 #[serde(rename = "type")]
3370 pub type_: serde_json::Value,
3371 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3373 pub tags: Vec<String>,
3374 #[serde(
3376 rename = "ogTagsDetails",
3377 default,
3378 skip_serializing_if = "Option::is_none"
3379 )]
3380 pub og_tags_details: Option<OgTagsSchema>,
3381 #[serde(
3383 rename = "postApprovalDetails",
3384 default,
3385 skip_serializing_if = "Option::is_none"
3386 )]
3387 pub post_approval_details: Option<FormatedApprovalDetails>,
3388 #[serde(
3390 rename = "tiktokPostDetails",
3391 default,
3392 skip_serializing_if = "Option::is_none"
3393 )]
3394 pub tiktok_post_details: Option<TiktokPostSchema>,
3395 #[serde(
3397 rename = "gmbPostDetails",
3398 default,
3399 skip_serializing_if = "Option::is_none"
3400 )]
3401 pub gmb_post_details: Option<GMBPostSchema>,
3402 #[serde(
3404 rename = "blueskyPostDetails",
3405 default,
3406 skip_serializing_if = "Option::is_none"
3407 )]
3408 pub bluesky_post_details: Option<BlueskyPostSchema>,
3409 #[serde(default, skip_serializing_if = "Option::is_none")]
3411 pub user: Option<PostUserSchema>,
3412 #[serde(
3414 rename = "linkedinPostDetails",
3415 default,
3416 skip_serializing_if = "Option::is_none"
3417 )]
3418 pub linkedin_post_details: Option<LinkedinPostSchema>,
3419 #[serde(
3421 rename = "pinterestPostDetails",
3422 default,
3423 skip_serializing_if = "Option::is_none"
3424 )]
3425 pub pinterest_post_details: Option<PinterestPostSchema>,
3426 #[serde(
3428 rename = "facebookPostDetails",
3429 default,
3430 skip_serializing_if = "Option::is_none"
3431 )]
3432 pub facebook_post_details: Option<FacebookPostSchema>,
3433 #[serde(
3435 rename = "instagramPostDetails",
3436 default,
3437 skip_serializing_if = "Option::is_none"
3438 )]
3439 pub instagram_post_details: Option<InstagramPostSchema>,
3440 #[serde(
3442 rename = "youtubePostDetails",
3443 default,
3444 skip_serializing_if = "Option::is_none"
3445 )]
3446 pub youtube_post_details: Option<YoutubePostSchema>,
3447 #[serde(
3449 rename = "mediaOptimization",
3450 default,
3451 skip_serializing_if = "Option::is_none"
3452 )]
3453 pub media_optimization: Option<bool>,
3454 #[serde(default, skip_serializing_if = "Option::is_none")]
3459 pub insights: Option<PostInsightsSchema>,
3460}
3461
3462#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3464pub struct GetPostSuccessfulResponseDTO {
3465 pub success: bool,
3468 #[serde(rename = "statusCode")]
3471 pub status_code: f64,
3472 pub message: String,
3475 #[serde(default, skip_serializing_if = "Option::is_none")]
3477 pub results: Option<GetPostSuccessfulResponseSchema>,
3478}
3479
3480#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3482pub struct GetPostSuccessfulResponseSchema {
3483 #[serde(default, skip_serializing_if = "Option::is_none")]
3485 pub post: Option<GetPostFormattedSchema>,
3486}
3487
3488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3490pub struct GetTagsByIdResponseDTO {
3491 pub success: bool,
3494 #[serde(rename = "statusCode")]
3497 pub status_code: f64,
3498 pub message: String,
3501 #[serde(default, skip_serializing_if = "Option::is_none")]
3503 pub results: Option<GetTagsByIdResponseSchema>,
3504}
3505
3506#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3508pub struct GetTagsByIdResponseSchema {
3509 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3512 pub tags: Vec<SocialMediaTagSchema>,
3513 #[serde(default, skip_serializing_if = "Option::is_none")]
3515 pub count: Option<f64>,
3516}
3517
3518#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3520pub struct GetTagsByLocationIdResponseDTO {
3521 pub success: bool,
3524 #[serde(rename = "statusCode")]
3527 pub status_code: f64,
3528 pub message: String,
3531 #[serde(default, skip_serializing_if = "Option::is_none")]
3533 pub results: Option<GetTagsByLocationIdResponseSchema>,
3534}
3535
3536#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3538pub struct GetTagsByLocationIdResponseSchema {
3539 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3541 pub tags: Vec<SocialMediaTagSchema>,
3542 #[serde(default, skip_serializing_if = "Option::is_none")]
3544 pub count: Option<f64>,
3545}
3546
3547#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3549pub struct GetTiktokAccountResponseDTO {
3550 pub success: bool,
3553 #[serde(rename = "statusCode")]
3556 pub status_code: f64,
3557 pub message: String,
3560 #[serde(default, skip_serializing_if = "Option::is_none")]
3562 pub results: Option<GetTiktokAccountSchema>,
3563}
3564
3565#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3567pub struct GetTiktokAccountSchema {
3568 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3570 pub profile: Vec<TiktokProfileSchema>,
3571}
3572
3573#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3575pub struct GetTiktokBusinessAccountResponseDTO {
3576 pub success: bool,
3579 #[serde(rename = "statusCode")]
3582 pub status_code: f64,
3583 pub message: String,
3586 #[serde(default, skip_serializing_if = "Option::is_none")]
3588 pub results: Option<GetTiktokBusinessAccountSchema>,
3589}
3590
3591#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3593pub struct GetTiktokBusinessAccountSchema {
3594 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3596 pub profile: Vec<TiktokProfileSchema>,
3597}
3598
3599#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3601pub struct GetTwitterAccountsResponseDTO {
3602 pub success: bool,
3605 #[serde(rename = "statusCode")]
3608 pub status_code: f64,
3609 pub message: String,
3612 #[serde(default, skip_serializing_if = "Option::is_none")]
3614 pub results: Option<GetTwitterAccountsSchema>,
3615}
3616
3617#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3619pub struct GetTwitterAccountsSchema {
3620 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3622 pub profile: Vec<TwitterProfileSchema>,
3623}
3624
3625#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3627pub struct GetUploadStatusResponseDTO {
3628 pub success: bool,
3631 #[serde(rename = "statusCode")]
3634 pub status_code: f64,
3635 pub message: String,
3638 #[serde(default, skip_serializing_if = "Option::is_none")]
3640 pub results: Option<GetUploadStatusResponseSchema>,
3641}
3642
3643#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3645pub struct GetUploadStatusResponseSchema {
3646 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3649 pub csvs: Vec<CSVImportSchema>,
3650 pub count: f64,
3653}
3654
3655#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3657pub struct GetYouTubeAccountsResponseDTO {
3658 pub success: bool,
3661 #[serde(rename = "statusCode")]
3664 pub status_code: f64,
3665 pub message: String,
3668 #[serde(default, skip_serializing_if = "Option::is_none")]
3670 pub results: Option<GetYoutubeAccountSchema>,
3671}
3672
3673#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3675pub struct GetYoutubeAccountSchema {
3676 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3678 pub profile: Vec<YoutubeProfileSchema>,
3679}
3680
3681#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3683pub struct GoogleAccountsSchema {
3684 #[serde(default, skip_serializing_if = "Option::is_none")]
3686 pub name: Option<String>,
3687 #[serde(
3689 rename = "accountName",
3690 default,
3691 skip_serializing_if = "Option::is_none"
3692 )]
3693 pub account_name: Option<String>,
3694 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
3696 pub type_: Option<String>,
3697 #[serde(
3699 rename = "verificationState",
3700 default,
3701 skip_serializing_if = "Option::is_none"
3702 )]
3703 pub verification_state: Option<String>,
3704 #[serde(
3706 rename = "vettedState",
3707 default,
3708 skip_serializing_if = "Option::is_none"
3709 )]
3710 pub vetted_state: Option<String>,
3711}
3712
3713#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3715pub struct GoogleLocationSchema {
3716 #[serde(default, skip_serializing_if = "Option::is_none")]
3718 pub name: Option<String>,
3719 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
3721 pub store_code: Option<String>,
3722 #[serde(default, skip_serializing_if = "Option::is_none")]
3724 pub title: Option<String>,
3725 #[serde(default, skip_serializing_if = "Option::is_none")]
3727 pub metadata: Option<serde_json::Value>,
3728 #[serde(
3730 rename = "storefrontAddress",
3731 default,
3732 skip_serializing_if = "Option::is_none"
3733 )]
3734 pub storefront_address: Option<serde_json::Value>,
3735 #[serde(
3737 rename = "relationshipData",
3738 default,
3739 skip_serializing_if = "Option::is_none"
3740 )]
3741 pub relationship_data: Option<serde_json::Value>,
3742 #[serde(
3744 rename = "maxLocation",
3745 default,
3746 skip_serializing_if = "Option::is_none"
3747 )]
3748 pub max_location: Option<bool>,
3749 #[serde(
3751 rename = "isVerified",
3752 default,
3753 skip_serializing_if = "Option::is_none"
3754 )]
3755 pub is_verified: Option<bool>,
3756 #[serde(
3758 rename = "isConnected",
3759 default,
3760 skip_serializing_if = "Option::is_none"
3761 )]
3762 pub is_connected: Option<bool>,
3763}
3764
3765#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3767pub struct IOgTagsSchema {
3768 #[serde(default, skip_serializing_if = "Option::is_none")]
3770 pub url: Option<String>,
3771 #[serde(
3773 rename = "ogDescription",
3774 default,
3775 skip_serializing_if = "Option::is_none"
3776 )]
3777 pub og_description: Option<String>,
3778 #[serde(rename = "ogImage", default, skip_serializing_if = "Option::is_none")]
3780 pub og_image: Option<OgImageSchema>,
3781 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
3783 pub og_title: Option<String>,
3784 #[serde(rename = "ogUrl", default, skip_serializing_if = "Option::is_none")]
3786 pub og_url: Option<String>,
3787 #[serde(
3789 rename = "ogSiteName",
3790 default,
3791 skip_serializing_if = "Option::is_none"
3792 )]
3793 pub og_site_name: Option<String>,
3794 #[serde(default, skip_serializing_if = "Option::is_none")]
3796 pub error: Option<String>,
3797}
3798
3799#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3801pub struct InstagramAccountSchema {
3802 #[serde(default, skip_serializing_if = "Option::is_none")]
3804 pub id: Option<String>,
3805 #[serde(default, skip_serializing_if = "Option::is_none")]
3807 pub name: Option<String>,
3808 #[serde(default, skip_serializing_if = "Option::is_none")]
3810 pub avatar: Option<String>,
3811 #[serde(rename = "pageId", default, skip_serializing_if = "Option::is_none")]
3813 pub page_id: Option<String>,
3814 #[serde(
3816 rename = "isConnected",
3817 default,
3818 skip_serializing_if = "Option::is_none"
3819 )]
3820 pub is_connected: Option<bool>,
3821}
3822
3823#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3825pub struct InstagramPostSchema {
3826 #[serde(rename = "type")]
3833 pub type_: String,
3834 #[serde(default, skip_serializing_if = "Option::is_none")]
3837 pub collaborators: Option<serde_json::Value>,
3838 #[serde(
3841 rename = "showOnFeed",
3842 default,
3843 skip_serializing_if = "Option::is_none"
3844 )]
3845 pub show_on_feed: Option<bool>,
3846 #[serde(
3849 rename = "publishViaPushNotification",
3850 default,
3851 skip_serializing_if = "Option::is_none"
3852 )]
3853 pub publish_via_push_notification: Option<bool>,
3854 #[serde(
3857 rename = "publisherNote",
3858 default,
3859 skip_serializing_if = "Option::is_none"
3860 )]
3861 pub publisher_note: Option<String>,
3862}
3863
3864#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3866pub struct LinkedInPageSchema {
3867 #[serde(default, skip_serializing_if = "Option::is_none")]
3869 pub id: Option<String>,
3870 #[serde(default, skip_serializing_if = "Option::is_none")]
3872 pub name: Option<String>,
3873 #[serde(default, skip_serializing_if = "Option::is_none")]
3875 pub avatar: Option<String>,
3876 #[serde(default, skip_serializing_if = "Option::is_none")]
3878 pub urn: Option<String>,
3879 #[serde(
3881 rename = "isConnected",
3882 default,
3883 skip_serializing_if = "Option::is_none"
3884 )]
3885 pub is_connected: Option<bool>,
3886}
3887
3888#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3890pub struct LinkedInProfileSchema {
3891 #[serde(default, skip_serializing_if = "Option::is_none")]
3893 pub id: Option<String>,
3894 #[serde(default, skip_serializing_if = "Option::is_none")]
3896 pub name: Option<String>,
3897 #[serde(default, skip_serializing_if = "Option::is_none")]
3899 pub avatar: Option<String>,
3900 #[serde(default, skip_serializing_if = "Option::is_none")]
3902 pub urn: Option<String>,
3903 #[serde(
3905 rename = "isConnected",
3906 default,
3907 skip_serializing_if = "Option::is_none"
3908 )]
3909 pub is_connected: Option<bool>,
3910}
3911
3912#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3914pub struct LinkedinPollDto {
3915 pub question: String,
3918 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3922 pub options: Vec<LinkedinPollOptionDto>,
3923 pub settings: LinkedinPollSettingsDto,
3926}
3927
3928#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3930pub struct LinkedinPollOptionDto {
3931 pub text: String,
3934}
3935
3936#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3938pub struct LinkedinPollSettingsDto {
3939 pub duration: String,
3943}
3944
3945#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3947pub struct LinkedinPostSchema {
3948 #[serde(rename = "pdfTitle")]
3953 pub pdf_title: String,
3954 #[serde(rename = "postAsPdf")]
3958 pub post_as_pdf: bool,
3959 #[serde(default, skip_serializing_if = "Option::is_none")]
3965 pub poll: Option<LinkedinPollDto>,
3966}
3967
3968#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3970pub struct LocationAndAccountDeleteResponseDTO {
3971 pub success: bool,
3974 #[serde(rename = "statusCode")]
3977 pub status_code: f64,
3978 pub message: String,
3981 #[serde(default, skip_serializing_if = "Option::is_none")]
3983 pub results: Option<DeleteAccountResponseSchema>,
3984}
3985
3986#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3988pub struct MentionsDTO {
3989 pub name: String,
3992 pub id: String,
3995 pub offset: f64,
3998 pub length: f64,
4001 #[serde(default, skip_serializing_if = "Option::is_none")]
4003 pub slug: Option<String>,
4004}
4005
4006#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4008pub struct MetaDTO {
4009 #[serde(default, skip_serializing_if = "Option::is_none")]
4011 pub count: Option<String>,
4012}
4013
4014#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4016pub struct OgImageSchema {
4017 #[serde(default, skip_serializing_if = "Option::is_none")]
4019 pub url: Option<String>,
4020 #[serde(default, skip_serializing_if = "Option::is_none")]
4022 pub width: Option<f64>,
4023 #[serde(default, skip_serializing_if = "Option::is_none")]
4025 pub height: Option<f64>,
4026 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4028 pub type_: Option<String>,
4029}
4030
4031#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4033pub struct OgTagsDTO {
4034 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4036 pub meta_link: Option<serde_json::Value>,
4037 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4039 pub meta_image: Option<serde_json::Value>,
4040 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4042 pub og_title: Option<serde_json::Value>,
4043}
4044
4045#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4047pub struct OgTagsInputDTO {
4048 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4050 pub meta_link: Option<serde_json::Value>,
4051 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4053 pub meta_image: Option<serde_json::Value>,
4054 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4056 pub og_title: Option<serde_json::Value>,
4057}
4058
4059#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4061pub struct OgTagsSchema {
4062 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4066 pub meta_image: Option<String>,
4067 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4070 pub meta_link: Option<String>,
4071 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4074 pub og_title: Option<String>,
4075 #[serde(
4078 rename = "ogDescription",
4079 default,
4080 skip_serializing_if = "Option::is_none"
4081 )]
4082 pub og_description: Option<String>,
4083}
4084
4085#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4089pub struct PinterestBoardSelection {
4090 #[serde(rename = "accountId")]
4094 pub account_id: String,
4095 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4099 pub boards: Vec<String>,
4100}
4101
4102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4104pub struct PinterestOAuthAccountSchema {
4105 #[serde(flatten)]
4107 pub extra: serde_json::Map<String, serde_json::Value>,
4108}
4109
4110#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4112pub struct PinterestPostSchema {
4113 #[serde(default, skip_serializing_if = "Option::is_none")]
4116 pub title: Option<String>,
4117 #[serde(default, skip_serializing_if = "Option::is_none")]
4121 pub link: Option<String>,
4122 #[serde(rename = "boardIds", default, skip_serializing_if = "Option::is_none")]
4126 pub board_ids: Option<serde_json::Value>,
4127 #[serde(
4132 rename = "pinterestBoards",
4133 default,
4134 skip_serializing_if = "Vec::is_empty"
4135 )]
4136 pub pinterest_boards: Vec<PinterestBoardSelection>,
4137 #[serde(
4139 rename = "shortenedLinks",
4140 default,
4141 skip_serializing_if = "Vec::is_empty"
4142 )]
4143 pub shortened_links: Vec<String>,
4144}
4145
4146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4148pub struct PinterestProfileSchema {
4149 #[serde(default, skip_serializing_if = "Option::is_none")]
4151 pub id: Option<String>,
4152 #[serde(default, skip_serializing_if = "Option::is_none")]
4154 pub name: Option<String>,
4155 #[serde(default, skip_serializing_if = "Option::is_none")]
4157 pub username: Option<String>,
4158 #[serde(default, skip_serializing_if = "Option::is_none")]
4160 pub avatar: Option<String>,
4161 #[serde(
4163 rename = "isConnected",
4164 default,
4165 skip_serializing_if = "Option::is_none"
4166 )]
4167 pub is_connected: Option<bool>,
4168 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4170 pub type_: Option<String>,
4171 #[serde(
4173 rename = "websiteUrl",
4174 default,
4175 skip_serializing_if = "Option::is_none"
4176 )]
4177 pub website_url: Option<String>,
4178}
4179
4180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4182pub struct PostApprovalSchema {
4183 #[serde(default, skip_serializing_if = "Option::is_none")]
4186 pub approver: Option<String>,
4187 #[serde(
4190 rename = "requesterNote",
4191 default,
4192 skip_serializing_if = "Option::is_none"
4193 )]
4194 pub requester_note: Option<String>,
4195 #[serde(
4197 rename = "approverNote",
4198 default,
4199 skip_serializing_if = "Option::is_none"
4200 )]
4201 pub approver_note: Option<String>,
4202 #[serde(
4207 rename = "approvalStatus",
4208 default,
4209 skip_serializing_if = "Option::is_none"
4210 )]
4211 pub approval_status: Option<String>,
4212}
4213
4214#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4216pub struct PostCreateRequest {
4217 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4219 pub account_ids: Vec<String>,
4220 #[serde(default, skip_serializing_if = "Option::is_none")]
4223 pub summary: Option<String>,
4224 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4227 pub media: Vec<PostMediaSchema>,
4228 #[serde(default, skip_serializing_if = "Option::is_none")]
4231 pub status: Option<serde_json::Value>,
4232 #[serde(
4234 rename = "scheduleDate",
4235 default,
4236 skip_serializing_if = "Option::is_none"
4237 )]
4238 pub schedule_date: Option<String>,
4239 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
4243 pub created_by: Option<String>,
4244 #[serde(
4251 rename = "followUpComment",
4252 default,
4253 skip_serializing_if = "Option::is_none"
4254 )]
4255 pub follow_up_comment: Option<String>,
4256 #[serde(
4258 rename = "ogTagsDetails",
4259 default,
4260 skip_serializing_if = "Option::is_none"
4261 )]
4262 pub og_tags_details: Option<OgTagsSchema>,
4263 #[serde(rename = "type")]
4266 pub type_: serde_json::Value,
4267 #[serde(
4269 rename = "postApprovalDetails",
4270 default,
4271 skip_serializing_if = "Option::is_none"
4272 )]
4273 pub post_approval_details: Option<PostApprovalSchema>,
4274 #[serde(
4276 rename = "scheduleTimeUpdated",
4277 default,
4278 skip_serializing_if = "Option::is_none"
4279 )]
4280 pub schedule_time_updated: Option<bool>,
4281 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4283 pub tags: Vec<String>,
4284 #[serde(
4286 rename = "categoryId",
4287 default,
4288 skip_serializing_if = "Option::is_none"
4289 )]
4290 pub category_id: Option<String>,
4291 #[serde(
4293 rename = "tiktokPostDetails",
4294 default,
4295 skip_serializing_if = "Option::is_none"
4296 )]
4297 pub tiktok_post_details: Option<TiktokPostSchema>,
4298 #[serde(
4300 rename = "gmbPostDetails",
4301 default,
4302 skip_serializing_if = "Option::is_none"
4303 )]
4304 pub gmb_post_details: Option<GMBPostSchema>,
4305 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
4307 pub user_id: Option<String>,
4308}
4309
4310#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4312pub struct PostInsightsSchema {
4313 #[serde(default, skip_serializing_if = "Option::is_none")]
4315 pub like: Option<f64>,
4316 #[serde(default, skip_serializing_if = "Option::is_none")]
4318 pub share: Option<f64>,
4319 #[serde(default, skip_serializing_if = "Option::is_none")]
4321 pub comment: Option<f64>,
4322}
4323
4324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4326pub struct PostMediaSchema {
4327 pub url: String,
4330 #[serde(default, skip_serializing_if = "Option::is_none")]
4332 pub caption: Option<String>,
4333 #[serde(
4336 rename = "originalUrl",
4337 default,
4338 skip_serializing_if = "Option::is_none"
4339 )]
4340 pub original_url: Option<String>,
4341 #[serde(
4343 rename = "watermarkedUrl",
4344 default,
4345 skip_serializing_if = "Option::is_none"
4346 )]
4347 pub watermarked_url: Option<String>,
4348 #[serde(rename = "type")]
4354 pub type_: String,
4355 #[serde(default, skip_serializing_if = "Option::is_none")]
4367 pub thumbnail: Option<String>,
4368 #[serde(default, skip_serializing_if = "Option::is_none")]
4370 pub id: Option<String>,
4371 #[serde(
4374 rename = "optimizedUrl",
4375 default,
4376 skip_serializing_if = "Option::is_none"
4377 )]
4378 pub optimized_url: Option<String>,
4379 #[serde(
4382 rename = "optimizedType",
4383 default,
4384 skip_serializing_if = "Option::is_none"
4385 )]
4386 pub optimized_type: Option<String>,
4387 #[serde(
4389 rename = "isModified",
4390 default,
4391 skip_serializing_if = "Option::is_none"
4392 )]
4393 pub is_modified: Option<bool>,
4394 #[serde(rename = "altText", default, skip_serializing_if = "Option::is_none")]
4398 pub alt_text: Option<String>,
4399}
4400
4401#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4403pub struct PostSuccessfulResponseDTO {
4404 pub success: bool,
4407 #[serde(rename = "statusCode")]
4410 pub status_code: f64,
4411 pub message: String,
4414 #[serde(default, skip_serializing_if = "Option::is_none")]
4416 pub results: Option<PostSuccessfulResponseSchema>,
4417}
4418
4419#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4421pub struct PostSuccessfulResponseSchema {
4422 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4424 pub posts: Vec<GetPostFormattedSchema>,
4425 #[serde(default, skip_serializing_if = "Option::is_none")]
4427 pub count: Option<f64>,
4428}
4429
4430#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4432pub struct PostUserSchema {
4433 pub id: String,
4436 pub title: String,
4439 #[serde(rename = "firstName")]
4442 pub first_name: String,
4443 #[serde(rename = "lastName")]
4446 pub last_name: String,
4447 #[serde(rename = "profilePhoto")]
4450 pub profile_photo: String,
4451 pub phone: String,
4454 pub email: String,
4457}
4458
4459#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4461pub struct QueueItemDTO {
4462 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4464 pub id: Option<String>,
4465 #[serde(default, skip_serializing_if = "Option::is_none")]
4467 pub order: Option<f64>,
4468 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4470 pub variations: Vec<VariationDTO>,
4471 #[serde(
4473 rename = "primaryImage",
4474 default,
4475 skip_serializing_if = "Option::is_none"
4476 )]
4477 pub primary_image: Option<String>,
4478 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4480 pub post_id: Option<String>,
4481 #[serde(default, skip_serializing_if = "Option::is_none")]
4483 pub post: Option<GetPostFormattedSchema>,
4484 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4487 pub errors: Vec<String>,
4488 #[serde(
4491 rename = "scheduledDateTime",
4492 default,
4493 skip_serializing_if = "Option::is_none"
4494 )]
4495 pub scheduled_date_time: Option<String>,
4496 #[serde(
4498 rename = "scheduledVariationIndex",
4499 default,
4500 skip_serializing_if = "Option::is_none"
4501 )]
4502 pub scheduled_variation_index: Option<f64>,
4503 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4505 pub is_skipped: Option<bool>,
4506}
4507
4508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4510pub struct QueueItemWithVariationsDTO {
4511 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4513 pub id: Option<String>,
4514 #[serde(default, skip_serializing_if = "Option::is_none")]
4516 pub order: Option<f64>,
4517 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4519 pub variations: Vec<VariationDTO>,
4520 #[serde(
4522 rename = "primaryImage",
4523 default,
4524 skip_serializing_if = "Option::is_none"
4525 )]
4526 pub primary_image: Option<String>,
4527 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4529 pub post_id: Option<String>,
4530 #[serde(default, skip_serializing_if = "Option::is_none")]
4532 pub post: Option<GetPostFormattedSchema>,
4533 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4536 pub errors: Vec<String>,
4537 #[serde(
4540 rename = "scheduledDateTime",
4541 default,
4542 skip_serializing_if = "Option::is_none"
4543 )]
4544 pub scheduled_date_time: Option<String>,
4545 #[serde(
4547 rename = "scheduledVariationIndex",
4548 default,
4549 skip_serializing_if = "Option::is_none"
4550 )]
4551 pub scheduled_variation_index: Option<f64>,
4552 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4554 pub is_skipped: Option<bool>,
4555 #[serde(
4557 rename = "currentVariation",
4558 default,
4559 skip_serializing_if = "Option::is_none"
4560 )]
4561 pub current_variation: Option<f64>,
4562}
4563
4564#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4566pub struct QueueModifiedPostDTO {
4567 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4569 pub account_ids: Vec<String>,
4570 #[serde(default, skip_serializing_if = "Option::is_none")]
4572 pub summary: Option<String>,
4573 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4575 pub media: Vec<PostMediaSchema>,
4576 #[serde(default, skip_serializing_if = "Option::is_none")]
4587 pub status: Option<serde_json::Value>,
4588 #[serde(
4590 rename = "scheduleDate",
4591 default,
4592 skip_serializing_if = "Option::is_none"
4593 )]
4594 pub schedule_date: Option<String>,
4595 #[serde(
4597 rename = "selectedBestTime",
4598 default,
4599 skip_serializing_if = "Option::is_none"
4600 )]
4601 pub selected_best_time: Option<String>,
4602 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
4604 pub created_by: Option<String>,
4605 #[serde(
4612 rename = "followUpComment",
4613 default,
4614 skip_serializing_if = "Option::is_none"
4615 )]
4616 pub follow_up_comment: Option<String>,
4617 #[serde(
4619 rename = "ogTagsDetails",
4620 default,
4621 skip_serializing_if = "Option::is_none"
4622 )]
4623 pub og_tags_details: Option<OgTagsSchema>,
4624 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4626 pub type_: Option<serde_json::Value>,
4627 #[serde(
4629 rename = "postApprovalDetails",
4630 default,
4631 skip_serializing_if = "Option::is_none"
4632 )]
4633 pub post_approval_details: Option<PostApprovalSchema>,
4634 #[serde(
4637 rename = "scheduleTimeUpdated",
4638 default,
4639 skip_serializing_if = "Option::is_none"
4640 )]
4641 pub schedule_time_updated: Option<bool>,
4642 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4646 pub tags: Vec<String>,
4647 #[serde(
4651 rename = "categoryId",
4652 default,
4653 skip_serializing_if = "Option::is_none"
4654 )]
4655 pub category_id: Option<String>,
4656 #[serde(
4659 rename = "applyWatermark",
4660 default,
4661 skip_serializing_if = "Option::is_none"
4662 )]
4663 pub apply_watermark: Option<bool>,
4664 #[serde(
4666 rename = "tiktokPostDetails",
4667 default,
4668 skip_serializing_if = "Option::is_none"
4669 )]
4670 pub tiktok_post_details: Option<TiktokPostSchema>,
4671 #[serde(
4673 rename = "gmbPostDetails",
4674 default,
4675 skip_serializing_if = "Option::is_none"
4676 )]
4677 pub gmb_post_details: Option<GMBPostSchema>,
4678 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
4680 pub user_id: Option<String>,
4681 #[serde(
4683 rename = "linkedinPostDetails",
4684 default,
4685 skip_serializing_if = "Option::is_none"
4686 )]
4687 pub linkedin_post_details: Option<LinkedinPostSchema>,
4688 #[serde(
4690 rename = "pinterestPostDetails",
4691 default,
4692 skip_serializing_if = "Option::is_none"
4693 )]
4694 pub pinterest_post_details: Option<PinterestPostSchema>,
4695 #[serde(
4697 rename = "facebookPostDetails",
4698 default,
4699 skip_serializing_if = "Option::is_none"
4700 )]
4701 pub facebook_post_details: Option<FacebookPostSchema>,
4702 #[serde(
4704 rename = "instagramPostDetails",
4705 default,
4706 skip_serializing_if = "Option::is_none"
4707 )]
4708 pub instagram_post_details: Option<InstagramPostSchema>,
4709 #[serde(
4711 rename = "youtubePostDetails",
4712 default,
4713 skip_serializing_if = "Option::is_none"
4714 )]
4715 pub youtube_post_details: Option<YoutubePostSchema>,
4716 #[serde(
4718 rename = "locationId",
4719 default,
4720 skip_serializing_if = "Option::is_none"
4721 )]
4722 pub location_id: Option<String>,
4723}
4724
4725#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4727pub struct ResetQueueItemDTO {
4728 #[serde(rename = "locationId")]
4731 pub location_id: String,
4732 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
4734 pub session_id: Option<String>,
4735}
4736
4737#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4739pub struct ResetQueueItemResponseDTO {
4740 #[serde(default, skip_serializing_if = "Option::is_none")]
4743 pub message: Option<String>,
4744 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
4746 pub queue_item: Option<QueueItemWithVariationsDTO>,
4747}
4748
4749#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4751pub struct SaveEditSessionDTO {
4752 #[serde(rename = "locationId")]
4755 pub location_id: String,
4756 #[serde(rename = "sessionId")]
4759 pub session_id: String,
4760 #[serde(
4763 rename = "keepInDraft",
4764 default,
4765 skip_serializing_if = "Option::is_none"
4766 )]
4767 pub keep_in_draft: Option<bool>,
4768}
4769
4770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4772pub struct SaveEditSessionResponseDTO {
4773 #[serde(default, skip_serializing_if = "Option::is_none")]
4775 pub message: Option<String>,
4776 #[serde(
4778 rename = "updatedSlots",
4779 default,
4780 skip_serializing_if = "Vec::is_empty"
4781 )]
4782 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
4783 #[serde(
4785 rename = "totalPostsChanged",
4786 default,
4787 skip_serializing_if = "Option::is_none"
4788 )]
4789 pub total_posts_changed: Option<f64>,
4790}
4791
4792#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4794pub struct ScheduledPostDTO {
4795 #[serde(
4798 rename = "scheduledDateTime",
4799 default,
4800 skip_serializing_if = "Option::is_none"
4801 )]
4802 pub scheduled_date_time: Option<String>,
4803 #[serde(default, skip_serializing_if = "Option::is_none")]
4805 pub post: Option<GetPostFormattedSchema>,
4806 #[serde(
4808 rename = "queueItemId",
4809 default,
4810 skip_serializing_if = "Option::is_none"
4811 )]
4812 pub queue_item_id: Option<String>,
4813 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
4815 pub queue_id: Option<String>,
4816 #[serde(default, skip_serializing_if = "Option::is_none")]
4818 pub order: Option<f64>,
4819 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4821 pub variations: Vec<VariationDTO>,
4822 #[serde(
4824 rename = "primaryImage",
4825 default,
4826 skip_serializing_if = "Option::is_none"
4827 )]
4828 pub primary_image: Option<String>,
4829 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4832 pub errors: Vec<String>,
4833 #[serde(default, skip_serializing_if = "Option::is_none")]
4835 pub category: Option<CategoryInfoDTO>,
4836 #[serde(
4838 rename = "currentVariation",
4839 default,
4840 skip_serializing_if = "Option::is_none"
4841 )]
4842 pub current_variation: Option<f64>,
4843 #[serde(default, skip_serializing_if = "Option::is_none")]
4845 pub timezone: Option<String>,
4846}
4847
4848#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4850pub struct SearchPostDTO {
4851 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4854 pub type_: Option<String>,
4855 #[serde(default, skip_serializing_if = "Option::is_none")]
4857 pub accounts: Option<String>,
4858 pub skip: String,
4861 pub limit: String,
4864 #[serde(rename = "fromDate")]
4867 pub from_date: String,
4868 #[serde(rename = "toDate")]
4871 pub to_date: String,
4872 #[serde(rename = "includeUsers")]
4875 pub include_users: String,
4876 #[serde(rename = "postType", default, skip_serializing_if = "Option::is_none")]
4878 pub post_type: Option<serde_json::Value>,
4879}
4880
4881#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4883pub struct SetAccountsDTO {
4884 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4887 pub account_ids: Vec<String>,
4888 #[serde(rename = "filePath")]
4891 pub file_path: String,
4892 #[serde(rename = "rowsCount")]
4895 pub rows_count: f64,
4896 #[serde(rename = "fileName")]
4899 pub file_name: String,
4900 #[serde(default, skip_serializing_if = "Option::is_none")]
4902 pub approver: Option<String>,
4903 #[serde(rename = "userId")]
4906 pub user_id: String,
4907 #[serde(
4910 rename = "csvFileType",
4911 default,
4912 skip_serializing_if = "Option::is_none"
4913 )]
4914 pub csv_file_type: Option<String>,
4915}
4916
4917#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4919pub struct SetAccountsResponseDTO {
4920 pub success: bool,
4923 #[serde(rename = "statusCode")]
4926 pub status_code: f64,
4927 pub message: String,
4930 #[serde(default, skip_serializing_if = "Option::is_none")]
4932 pub results: Option<SetAccountsResultSchema>,
4933}
4934
4935#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4937pub struct SetAccountsResultSchema {
4938 #[serde(rename = "csvId")]
4941 pub csv_id: String,
4942}
4943
4944#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4946pub struct SetAccountsUnprocessableDTO {
4947 pub status: f64,
4950 #[serde(default, skip_serializing_if = "Option::is_none")]
4952 pub options: Option<serde_json::Value>,
4953 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4956 pub message: Vec<String>,
4957 pub name: String,
4960 pub error: String,
4963 #[serde(rename = "statusCode")]
4966 pub status_code: f64,
4967 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
4969 pub trace_id: Option<String>,
4970}
4971
4972#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4974pub struct SocialGoogleMediaAccountSchema {
4975 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4977 pub id: Option<String>,
4978 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
4980 pub o_auth_id: Option<String>,
4981 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
4983 pub old_id: Option<String>,
4984 #[serde(
4986 rename = "locationId",
4987 default,
4988 skip_serializing_if = "Option::is_none"
4989 )]
4990 pub location_id: Option<String>,
4991 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
4993 pub origin_id: Option<String>,
4994 #[serde(default, skip_serializing_if = "Option::is_none")]
4996 pub platform: Option<serde_json::Value>,
4997 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4999 pub type_: Option<serde_json::Value>,
5000 #[serde(default, skip_serializing_if = "Option::is_none")]
5002 pub name: Option<String>,
5003 #[serde(default, skip_serializing_if = "Option::is_none")]
5005 pub avatar: Option<String>,
5006 #[serde(default, skip_serializing_if = "Option::is_none")]
5008 pub meta: Option<serde_json::Value>,
5009 #[serde(default, skip_serializing_if = "Option::is_none")]
5011 pub active: Option<bool>,
5012 #[serde(default, skip_serializing_if = "Option::is_none")]
5014 pub deleted: Option<bool>,
5015 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5018 pub created_at: Option<String>,
5019 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5022 pub updated_at: Option<String>,
5023}
5024
5025#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5027pub struct SocialMediaFBAccountResponseDTO {
5028 pub success: bool,
5031 #[serde(rename = "statusCode")]
5034 pub status_code: f64,
5035 pub message: String,
5038 #[serde(default, skip_serializing_if = "Option::is_none")]
5040 pub results: Option<SocialMediaFacebookAccountSchema>,
5041}
5042
5043#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5045pub struct SocialMediaFacebookAccountSchema {
5046 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5048 pub id: Option<String>,
5049 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5051 pub o_auth_id: Option<String>,
5052 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5054 pub old_id: Option<String>,
5055 #[serde(
5057 rename = "locationId",
5058 default,
5059 skip_serializing_if = "Option::is_none"
5060 )]
5061 pub location_id: Option<String>,
5062 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5064 pub origin_id: Option<String>,
5065 #[serde(default, skip_serializing_if = "Option::is_none")]
5067 pub platform: Option<serde_json::Value>,
5068 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5070 pub type_: Option<serde_json::Value>,
5071 #[serde(default, skip_serializing_if = "Option::is_none")]
5073 pub name: Option<String>,
5074 #[serde(default, skip_serializing_if = "Option::is_none")]
5076 pub avatar: Option<String>,
5077 #[serde(default, skip_serializing_if = "Option::is_none")]
5079 pub meta: Option<serde_json::Value>,
5080 #[serde(default, skip_serializing_if = "Option::is_none")]
5082 pub active: Option<bool>,
5083 #[serde(default, skip_serializing_if = "Option::is_none")]
5085 pub deleted: Option<bool>,
5086 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5089 pub created_at: Option<String>,
5090 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5093 pub updated_at: Option<String>,
5094}
5095
5096#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5098pub struct SocialMediaGmbAccountResponseDTO {
5099 pub success: bool,
5102 #[serde(rename = "statusCode")]
5105 pub status_code: f64,
5106 pub message: String,
5109 #[serde(default, skip_serializing_if = "Option::is_none")]
5111 pub results: Option<SocialGoogleMediaAccountSchema>,
5112}
5113
5114#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5116pub struct SocialMediaInstagramAccountResponseDTO {
5117 pub success: bool,
5120 #[serde(rename = "statusCode")]
5123 pub status_code: f64,
5124 pub message: String,
5127 #[serde(default, skip_serializing_if = "Option::is_none")]
5129 pub results: Option<SocialMediaInstagramAccountSchema>,
5130}
5131
5132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5134pub struct SocialMediaInstagramAccountSchema {
5135 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5137 pub id: Option<String>,
5138 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5140 pub o_auth_id: Option<String>,
5141 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5143 pub old_id: Option<String>,
5144 #[serde(
5146 rename = "locationId",
5147 default,
5148 skip_serializing_if = "Option::is_none"
5149 )]
5150 pub location_id: Option<String>,
5151 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5153 pub origin_id: Option<String>,
5154 #[serde(default, skip_serializing_if = "Option::is_none")]
5156 pub platform: Option<serde_json::Value>,
5157 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5159 pub type_: Option<serde_json::Value>,
5160 #[serde(default, skip_serializing_if = "Option::is_none")]
5162 pub name: Option<String>,
5163 #[serde(default, skip_serializing_if = "Option::is_none")]
5165 pub avatar: Option<String>,
5166 #[serde(default, skip_serializing_if = "Option::is_none")]
5168 pub meta: Option<serde_json::Value>,
5169 #[serde(default, skip_serializing_if = "Option::is_none")]
5171 pub active: Option<bool>,
5172 #[serde(default, skip_serializing_if = "Option::is_none")]
5174 pub deleted: Option<bool>,
5175 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5178 pub created_at: Option<String>,
5179 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5182 pub updated_at: Option<String>,
5183}
5184
5185#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5187pub struct SocialMediaLinkedInAccountResponseDTO {
5188 pub success: bool,
5191 #[serde(rename = "statusCode")]
5194 pub status_code: f64,
5195 pub message: String,
5198 #[serde(default, skip_serializing_if = "Option::is_none")]
5200 pub results: Option<SocialMediaLinkedInAccountSchema>,
5201}
5202
5203#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5205pub struct SocialMediaLinkedInAccountSchema {
5206 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5208 pub id: Option<String>,
5209 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5211 pub o_auth_id: Option<String>,
5212 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5214 pub old_id: Option<String>,
5215 #[serde(
5217 rename = "locationId",
5218 default,
5219 skip_serializing_if = "Option::is_none"
5220 )]
5221 pub location_id: Option<String>,
5222 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5224 pub origin_id: Option<String>,
5225 #[serde(default, skip_serializing_if = "Option::is_none")]
5227 pub platform: Option<serde_json::Value>,
5228 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5230 pub type_: Option<serde_json::Value>,
5231 #[serde(default, skip_serializing_if = "Option::is_none")]
5233 pub name: Option<String>,
5234 #[serde(default, skip_serializing_if = "Option::is_none")]
5236 pub avatar: Option<String>,
5237 #[serde(default, skip_serializing_if = "Option::is_none")]
5239 pub meta: Option<serde_json::Value>,
5240 #[serde(default, skip_serializing_if = "Option::is_none")]
5242 pub active: Option<bool>,
5243 #[serde(default, skip_serializing_if = "Option::is_none")]
5245 pub deleted: Option<bool>,
5246 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5249 pub created_at: Option<String>,
5250 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5253 pub updated_at: Option<String>,
5254}
5255
5256#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5258pub struct SocialMediaPinterestAccountResponseDTO {
5259 pub success: bool,
5262 #[serde(rename = "statusCode")]
5265 pub status_code: f64,
5266 pub message: String,
5269 #[serde(default, skip_serializing_if = "Option::is_none")]
5271 pub results: Option<PinterestOAuthAccountSchema>,
5272}
5273
5274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5276pub struct SocialMediaTagSchema {
5277 #[serde(default, skip_serializing_if = "Option::is_none")]
5279 pub tag: Option<String>,
5280 #[serde(
5282 rename = "locationId",
5283 default,
5284 skip_serializing_if = "Option::is_none"
5285 )]
5286 pub location_id: Option<String>,
5287 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5289 pub id: Option<String>,
5290 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
5292 pub created_by: Option<String>,
5293 #[serde(default, skip_serializing_if = "Option::is_none")]
5295 pub deleted: Option<bool>,
5296 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5299 pub created_at: Option<String>,
5300 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5303 pub updated_at: Option<String>,
5304}
5305
5306#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5308pub struct SocialMediaThreadsAccountResponseDTO {
5309 pub success: bool,
5312 #[serde(rename = "statusCode")]
5315 pub status_code: f64,
5316 pub message: String,
5319 #[serde(default, skip_serializing_if = "Option::is_none")]
5321 pub results: Option<SocialMediaThreadsAccountSchema>,
5322}
5323
5324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5326pub struct SocialMediaThreadsAccountSchema {
5327 #[serde(flatten)]
5329 pub extra: serde_json::Map<String, serde_json::Value>,
5330}
5331
5332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5334pub struct SocialMediaTiktokAccountResponseDTO {
5335 pub success: bool,
5338 #[serde(rename = "statusCode")]
5341 pub status_code: f64,
5342 pub message: String,
5345 #[serde(default, skip_serializing_if = "Option::is_none")]
5347 pub results: Option<SocialMediaTiktokAccountSchema>,
5348}
5349
5350#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5352pub struct SocialMediaTiktokAccountSchema {
5353 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5355 pub id: Option<String>,
5356 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5358 pub o_auth_id: Option<String>,
5359 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5361 pub old_id: Option<String>,
5362 #[serde(
5364 rename = "locationId",
5365 default,
5366 skip_serializing_if = "Option::is_none"
5367 )]
5368 pub location_id: Option<String>,
5369 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5371 pub origin_id: Option<String>,
5372 #[serde(default, skip_serializing_if = "Option::is_none")]
5374 pub platform: Option<serde_json::Value>,
5375 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5377 pub type_: Option<serde_json::Value>,
5378 #[serde(default, skip_serializing_if = "Option::is_none")]
5380 pub name: Option<String>,
5381 #[serde(default, skip_serializing_if = "Option::is_none")]
5383 pub avatar: Option<String>,
5384 #[serde(default, skip_serializing_if = "Option::is_none")]
5386 pub meta: Option<serde_json::Value>,
5387 #[serde(default, skip_serializing_if = "Option::is_none")]
5389 pub active: Option<bool>,
5390 #[serde(default, skip_serializing_if = "Option::is_none")]
5392 pub deleted: Option<bool>,
5393 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5396 pub created_at: Option<String>,
5397 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5400 pub updated_at: Option<String>,
5401}
5402
5403#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5405pub struct SocialMediaTiktokBusinessAccountResponseDTO {
5406 pub success: bool,
5409 #[serde(rename = "statusCode")]
5412 pub status_code: f64,
5413 pub message: String,
5416 #[serde(default, skip_serializing_if = "Option::is_none")]
5418 pub results: Option<TikTokOAuthAccountSchema>,
5419}
5420
5421#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5423pub struct SocialMediaTwitterAccountResponseDTO {
5424 pub success: bool,
5427 #[serde(rename = "statusCode")]
5430 pub status_code: f64,
5431 pub message: String,
5434 #[serde(default, skip_serializing_if = "Option::is_none")]
5436 pub results: Option<SocialMediaTwitterAccountSchema>,
5437}
5438
5439#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5441pub struct SocialMediaTwitterAccountSchema {
5442 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5444 pub id: Option<String>,
5445 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5447 pub o_auth_id: Option<String>,
5448 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5450 pub old_id: Option<String>,
5451 #[serde(
5453 rename = "locationId",
5454 default,
5455 skip_serializing_if = "Option::is_none"
5456 )]
5457 pub location_id: Option<String>,
5458 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5460 pub origin_id: Option<String>,
5461 #[serde(default, skip_serializing_if = "Option::is_none")]
5463 pub platform: Option<serde_json::Value>,
5464 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5466 pub type_: Option<serde_json::Value>,
5467 #[serde(default, skip_serializing_if = "Option::is_none")]
5469 pub name: Option<String>,
5470 #[serde(default, skip_serializing_if = "Option::is_none")]
5472 pub avatar: Option<String>,
5473 #[serde(default, skip_serializing_if = "Option::is_none")]
5475 pub meta: Option<serde_json::Value>,
5476 #[serde(default, skip_serializing_if = "Option::is_none")]
5478 pub active: Option<bool>,
5479 #[serde(default, skip_serializing_if = "Option::is_none")]
5481 pub deleted: Option<bool>,
5482 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5485 pub created_at: Option<String>,
5486 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5489 pub updated_at: Option<String>,
5490}
5491
5492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5494pub struct SocialMediaYouTubeAccountResponseDTO {
5495 pub success: bool,
5498 #[serde(rename = "statusCode")]
5501 pub status_code: f64,
5502 pub message: String,
5505 #[serde(default, skip_serializing_if = "Option::is_none")]
5507 pub results: Option<YouTubeOAuthAccountSchema>,
5508}
5509
5510#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5512pub struct StartDateSchema {
5513 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
5515 pub start_date: Option<DateSchema>,
5516 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
5518 pub start_time: Option<TimeSchema>,
5519}
5520
5521#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5523pub struct StartEditSessionDTO {
5524 #[serde(rename = "locationId")]
5527 pub location_id: String,
5528}
5529
5530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5532pub struct StartEditSessionResponseDTO {
5533 #[serde(default, skip_serializing_if = "Option::is_none")]
5535 pub message: Option<String>,
5536 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
5538 pub session_id: Option<String>,
5539 #[serde(rename = "itemCount", default, skip_serializing_if = "Option::is_none")]
5541 pub item_count: Option<f64>,
5542}
5543
5544#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5546pub struct TikTokOAuthAccountSchema {
5547 #[serde(flatten)]
5549 pub extra: serde_json::Map<String, serde_json::Value>,
5550}
5551
5552#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5554pub struct TiktokPostSchema {
5555 #[serde(rename = "privacyLevel")]
5562 pub privacy_level: String,
5563 #[serde(
5566 rename = "promoteOtherBrand",
5567 default,
5568 skip_serializing_if = "Option::is_none"
5569 )]
5570 pub promote_other_brand: Option<bool>,
5571 #[serde(
5573 rename = "enableComment",
5574 default,
5575 skip_serializing_if = "Option::is_none"
5576 )]
5577 pub enable_comment: Option<bool>,
5578 #[serde(
5581 rename = "enableDuet",
5582 default,
5583 skip_serializing_if = "Option::is_none"
5584 )]
5585 pub enable_duet: Option<bool>,
5586 #[serde(
5589 rename = "enableStitch",
5590 default,
5591 skip_serializing_if = "Option::is_none"
5592 )]
5593 pub enable_stitch: Option<bool>,
5594 #[serde(
5598 rename = "videoDisclosure",
5599 default,
5600 skip_serializing_if = "Option::is_none"
5601 )]
5602 pub video_disclosure: Option<bool>,
5603 #[serde(
5606 rename = "promoteYourBrand",
5607 default,
5608 skip_serializing_if = "Option::is_none"
5609 )]
5610 pub promote_your_brand: Option<bool>,
5611}
5612
5613#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5615pub struct TiktokProfileSchema {
5616 #[serde(default, skip_serializing_if = "Option::is_none")]
5618 pub id: Option<String>,
5619 #[serde(default, skip_serializing_if = "Option::is_none")]
5621 pub name: Option<String>,
5622 #[serde(default, skip_serializing_if = "Option::is_none")]
5624 pub username: Option<String>,
5625 #[serde(default, skip_serializing_if = "Option::is_none")]
5627 pub avatar: Option<String>,
5628 #[serde(default, skip_serializing_if = "Option::is_none")]
5630 pub verified: Option<bool>,
5631 #[serde(
5633 rename = "isConnected",
5634 default,
5635 skip_serializing_if = "Option::is_none"
5636 )]
5637 pub is_connected: Option<bool>,
5638 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5640 pub type_: Option<serde_json::Value>,
5641}
5642
5643#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5645pub struct TimeSchema {
5646 pub hours: f64,
5649 pub minutes: f64,
5652 pub seconds: f64,
5655}
5656
5657#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5659pub struct TimeSlotDTO {
5660 #[serde(rename = "dayOfWeek")]
5663 pub day_of_week: f64,
5664 pub time: String,
5667}
5668
5669#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5671pub struct TwitterProfileSchema {
5672 #[serde(default, skip_serializing_if = "Option::is_none")]
5674 pub id: Option<String>,
5675 #[serde(default, skip_serializing_if = "Option::is_none")]
5677 pub name: Option<String>,
5678 #[serde(default, skip_serializing_if = "Option::is_none")]
5680 pub username: Option<String>,
5681 #[serde(default, skip_serializing_if = "Option::is_none")]
5683 pub avatar: Option<String>,
5684 #[serde(default, skip_serializing_if = "Option::is_none")]
5686 pub protected: Option<bool>,
5687 #[serde(default, skip_serializing_if = "Option::is_none")]
5689 pub verified: Option<bool>,
5690 #[serde(
5692 rename = "isConnected",
5693 default,
5694 skip_serializing_if = "Option::is_none"
5695 )]
5696 pub is_connected: Option<bool>,
5697}
5698
5699#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5701pub struct UpdateCategoryQueueDTO {
5702 #[serde(rename = "locationId")]
5705 pub location_id: String,
5706 #[serde(
5708 rename = "skipLegacyWatermark",
5709 default,
5710 skip_serializing_if = "Option::is_none"
5711 )]
5712 pub skip_legacy_watermark: Option<bool>,
5713 #[serde(default, skip_serializing_if = "Option::is_none")]
5715 pub status: Option<serde_json::Value>,
5716 #[serde(
5718 rename = "skipDateTime",
5719 default,
5720 skip_serializing_if = "Option::is_none"
5721 )]
5722 pub skip_date_time: Option<String>,
5723 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
5724 pub time_slots: Vec<TimeSlotDTO>,
5725 #[serde(
5728 rename = "enableFuturePosts",
5729 default,
5730 skip_serializing_if = "Option::is_none"
5731 )]
5732 pub enable_future_posts: Option<bool>,
5733 #[serde(
5736 rename = "prioritizeNewContent",
5737 default,
5738 skip_serializing_if = "Option::is_none"
5739 )]
5740 pub prioritize_new_content: Option<bool>,
5741}
5742
5743#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5745pub struct UpdateCategoryQueueResponseDTO {
5746 #[serde(default, skip_serializing_if = "Option::is_none")]
5750 pub message: Option<String>,
5751 #[serde(default, skip_serializing_if = "Option::is_none")]
5753 pub queue: Option<CategoryQueueDTO>,
5754}
5755
5756#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5758pub struct UpdatePostSuccessfulResponseDTO {
5759 pub success: bool,
5762 #[serde(rename = "statusCode")]
5765 pub status_code: f64,
5766 pub message: String,
5769}
5770
5771#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5773pub struct UpdateQueueItemDTO {
5774 #[serde(rename = "locationId")]
5777 pub location_id: String,
5778 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
5780 pub session_id: Option<String>,
5781 #[serde(
5783 rename = "modifiedPostPayload",
5784 default,
5785 skip_serializing_if = "Option::is_none"
5786 )]
5787 pub modified_post_payload: Option<QueueModifiedPostDTO>,
5788 #[serde(rename = "newOrder", default, skip_serializing_if = "Option::is_none")]
5795 pub new_order: Option<serde_json::Value>,
5796 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5798 pub variations: Vec<VariationInputDTO>,
5799 #[serde(
5801 rename = "primaryImage",
5802 default,
5803 skip_serializing_if = "Option::is_none"
5804 )]
5805 pub primary_image: Option<String>,
5806}
5807
5808#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5810pub struct UpdateQueueItemResponseDTO {
5811 #[serde(default, skip_serializing_if = "Option::is_none")]
5813 pub message: Option<String>,
5814 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
5816 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
5817 #[serde(
5819 rename = "updatedSlots",
5820 default,
5821 skip_serializing_if = "Vec::is_empty"
5822 )]
5823 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
5824 #[serde(
5826 rename = "totalPostsChanged",
5827 default,
5828 skip_serializing_if = "Option::is_none"
5829 )]
5830 pub total_posts_changed: Option<f64>,
5831}
5832
5833#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5835pub struct UpdateTagDTO {
5836 #[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
5839 pub tag_ids: Vec<String>,
5840}
5841
5842#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5844pub struct UpdatedSlotInfoDTO {
5845 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
5847 pub item_id: Option<String>,
5848 #[serde(
5851 rename = "scheduledDateTime",
5852 default,
5853 skip_serializing_if = "Option::is_none"
5854 )]
5855 pub scheduled_date_time: Option<String>,
5856 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
5858 pub is_skipped: Option<bool>,
5859}
5860
5861#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5863pub struct UploadCSVDTO {
5864 #[serde(default, skip_serializing_if = "Option::is_none")]
5865 pub file: Option<String>,
5866}
5867
5868#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5870pub struct UploadFileResponseDTO {
5871 pub success: bool,
5874 #[serde(rename = "statusCode")]
5877 pub status_code: f64,
5878 pub message: String,
5881 #[serde(default, skip_serializing_if = "Option::is_none")]
5883 pub results: Option<UploadFileResponseSchema>,
5884}
5885
5886#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5888pub struct UploadFileResponseSchema {
5889 #[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
5891 pub file_path: Option<String>,
5892 #[serde(rename = "rowsCount", default, skip_serializing_if = "Option::is_none")]
5894 pub rows_count: Option<f64>,
5895 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
5897 pub file_name: Option<String>,
5898 #[serde(rename = "fileSize", default, skip_serializing_if = "Option::is_none")]
5900 pub file_size: Option<f64>,
5901 #[serde(
5904 rename = "csvFileType",
5905 default,
5906 skip_serializing_if = "Option::is_none"
5907 )]
5908 pub csv_file_type: Option<String>,
5909}
5910
5911#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5913pub struct VariationDTO {
5914 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5916 pub id: Option<String>,
5917 #[serde(default, skip_serializing_if = "Option::is_none")]
5919 pub content: Option<String>,
5920 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5922 pub mentions: Vec<serde_json::Value>,
5923 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
5925 pub og_tags: Option<OgTagsDTO>,
5926}
5927
5928#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5930pub struct VariationInputDTO {
5931 #[serde(default, skip_serializing_if = "Option::is_none")]
5933 pub content: Option<String>,
5934 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5936 pub mentions: Vec<serde_json::Value>,
5937 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
5939 pub og_tags: Option<OgTagsInputDTO>,
5940}
5941
5942#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5944pub struct WrappedCloneQueueItemResponseDTO {
5945 pub success: bool,
5947 #[serde(rename = "statusCode")]
5949 pub status_code: f64,
5950 pub results: CloneQueueItemResponseDTO,
5952 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5953 pub trace_id: Option<String>,
5954}
5955
5956#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5958pub struct WrappedCreateCategoryQueueResponseDTO {
5959 pub success: bool,
5961 #[serde(rename = "statusCode")]
5963 pub status_code: f64,
5964 pub results: CreateCategoryQueueResponseDTO,
5966 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5967 pub trace_id: Option<String>,
5968}
5969
5970#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5972pub struct WrappedCreateQueueItemResponseDTO {
5973 pub success: bool,
5975 #[serde(rename = "statusCode")]
5977 pub status_code: f64,
5978 pub results: CreateQueueItemResponseDTO,
5980 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5981 pub trace_id: Option<String>,
5982}
5983
5984#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5986pub struct WrappedDeleteActivePostResponseDTO {
5987 pub success: bool,
5989 #[serde(rename = "statusCode")]
5991 pub status_code: f64,
5992 pub results: DeleteActivePostResponseDTO,
5994 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5995 pub trace_id: Option<String>,
5996}
5997
5998#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6000pub struct WrappedDiscardEditSessionResponseDTO {
6001 pub success: bool,
6003 #[serde(rename = "statusCode")]
6005 pub status_code: f64,
6006 pub results: DiscardEditSessionResponseDTO,
6008 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6009 pub trace_id: Option<String>,
6010}
6011
6012#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6014pub struct WrappedEditSessionCalendarResponseDTO {
6015 pub success: bool,
6017 #[serde(rename = "statusCode")]
6019 pub status_code: f64,
6020 pub results: EditSessionCalendarResponseDTO,
6022 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6023 pub trace_id: Option<String>,
6024}
6025
6026#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6028pub struct WrappedFetchAvailableCategoriesResponseDTO {
6029 pub success: bool,
6031 #[serde(rename = "statusCode")]
6033 pub status_code: f64,
6034 pub results: FetchAvailableCategoriesResponseDTO,
6036 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6037 pub trace_id: Option<String>,
6038}
6039
6040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6042pub struct WrappedFetchCalendarListResponseDTO {
6043 pub success: bool,
6045 #[serde(rename = "statusCode")]
6047 pub status_code: f64,
6048 pub results: FetchCalendarListResponseDTO,
6050 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6051 pub trace_id: Option<String>,
6052}
6053
6054#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6056pub struct WrappedFetchCategoryQueuesResponseDTO {
6057 pub success: bool,
6059 #[serde(rename = "statusCode")]
6061 pub status_code: f64,
6062 pub results: FetchCategoryQueuesResponseDTO,
6064 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6065 pub trace_id: Option<String>,
6066}
6067
6068#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6070pub struct WrappedFetchQueueByIdResponseDTO {
6071 pub success: bool,
6073 #[serde(rename = "statusCode")]
6075 pub status_code: f64,
6076 pub results: FetchQueueByIdResponseDTO,
6078 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6079 pub trace_id: Option<String>,
6080}
6081
6082#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6084pub struct WrappedFetchQueueItemsResponseDTO {
6085 pub success: bool,
6087 #[serde(rename = "statusCode")]
6089 pub status_code: f64,
6090 pub results: FetchQueueItemsResponseDTO,
6092 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6093 pub trace_id: Option<String>,
6094}
6095
6096#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6098pub struct WrappedFetchSlotsResponseDTO {
6099 pub success: bool,
6101 #[serde(rename = "statusCode")]
6103 pub status_code: f64,
6104 pub results: FetchSlotsResponseDTO,
6106 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6107 pub trace_id: Option<String>,
6108}
6109
6110#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6112pub struct WrappedGeneralSuccessResponseDTO {
6113 pub success: bool,
6115 #[serde(rename = "statusCode")]
6117 pub status_code: f64,
6118 pub results: GeneralSuccessResponseDTO,
6120 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6121 pub trace_id: Option<String>,
6122}
6123
6124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6126pub struct WrappedResetQueueItemResponseDTO {
6127 pub success: bool,
6129 #[serde(rename = "statusCode")]
6131 pub status_code: f64,
6132 pub results: ResetQueueItemResponseDTO,
6134 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6135 pub trace_id: Option<String>,
6136}
6137
6138#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6140pub struct WrappedSaveEditSessionResponseDTO {
6141 pub success: bool,
6143 #[serde(rename = "statusCode")]
6145 pub status_code: f64,
6146 pub results: SaveEditSessionResponseDTO,
6148 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6149 pub trace_id: Option<String>,
6150}
6151
6152#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6154pub struct WrappedStartEditSessionResponseDTO {
6155 pub success: bool,
6157 #[serde(rename = "statusCode")]
6159 pub status_code: f64,
6160 pub results: StartEditSessionResponseDTO,
6162 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6163 pub trace_id: Option<String>,
6164}
6165
6166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6168pub struct WrappedUpdateCategoryQueueResponseDTO {
6169 pub success: bool,
6171 #[serde(rename = "statusCode")]
6173 pub status_code: f64,
6174 pub results: UpdateCategoryQueueResponseDTO,
6176 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6177 pub trace_id: Option<String>,
6178}
6179
6180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6182pub struct WrappedUpdateQueueItemResponseDTO {
6183 pub success: bool,
6185 #[serde(rename = "statusCode")]
6187 pub status_code: f64,
6188 pub results: UpdateQueueItemResponseDTO,
6190 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6191 pub trace_id: Option<String>,
6192}
6193
6194#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6196pub struct YouTubeOAuthAccountSchema {
6197 #[serde(flatten)]
6199 pub extra: serde_json::Map<String, serde_json::Value>,
6200}
6201
6202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6204pub struct YoutubePostSchema {
6205 #[serde(default, skip_serializing_if = "Option::is_none")]
6208 pub title: Option<String>,
6209 #[serde(
6214 rename = "privacyLevel",
6215 default,
6216 skip_serializing_if = "Option::is_none"
6217 )]
6218 pub privacy_level: Option<String>,
6219 #[serde(rename = "type")]
6225 pub type_: String,
6226}
6227
6228#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6230pub struct YoutubeProfileSchema {
6231 #[serde(default, skip_serializing_if = "Option::is_none")]
6233 pub id: Option<String>,
6234 #[serde(default, skip_serializing_if = "Option::is_none")]
6236 pub name: Option<String>,
6237 #[serde(default, skip_serializing_if = "Option::is_none")]
6239 pub username: Option<String>,
6240 #[serde(default, skip_serializing_if = "Option::is_none")]
6242 pub avatar: Option<String>,
6243 #[serde(default, skip_serializing_if = "Option::is_none")]
6245 pub verified: Option<bool>,
6246 #[serde(
6248 rename = "isConnected",
6249 default,
6250 skip_serializing_if = "Option::is_none"
6251 )]
6252 pub is_connected: Option<bool>,
6253 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
6255 pub type_: Option<String>,
6256}