1#![allow(
14 missing_docs,
15 clippy::doc_lazy_continuation,
16 clippy::doc_overindented_list_items
17)]
18
19use serde::{Deserialize, Serialize};
20
21#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct AccountsListResponseDTO {
24 pub success: bool,
27 #[serde(rename = "statusCode")]
30 pub status_code: f64,
31 pub message: String,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub results: Option<AccountsListResponseSchema>,
37}
38
39#[derive(Debug, Clone, Default, Serialize, Deserialize)]
41pub struct AccountsListResponseSchema {
42 #[serde(default, skip_serializing_if = "Vec::is_empty")]
44 pub accounts: Vec<GetAccountSchema>,
45 #[serde(default, skip_serializing_if = "Vec::is_empty")]
47 pub groups: Vec<GetGroupSchema>,
48}
49
50#[derive(Debug, Clone, Default, Serialize, Deserialize)]
52pub struct AttachFBAccountDTO {
53 #[serde(rename = "type")]
57 pub type_: String,
58 #[serde(rename = "originId")]
61 pub origin_id: String,
62 pub name: String,
65 pub avatar: String,
68}
69
70#[derive(Debug, Clone, Default, Serialize, Deserialize)]
72pub struct AttachGMBLocationAccountDTO {
73 pub name: String,
76 #[serde(rename = "accountName")]
79 pub account_name: String,
80 #[serde(rename = "type")]
83 pub type_: String,
84 #[serde(rename = "verificationState")]
87 pub verification_state: String,
88 #[serde(rename = "vettedState")]
91 pub vetted_state: String,
92}
93
94#[derive(Debug, Clone, Default, Serialize, Deserialize)]
96pub struct AttachGMBLocationDTO {
97 pub location: AttachGMBLocationLocationDTO,
99 pub account: AttachGMBLocationAccountDTO,
101}
102
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
105pub struct AttachGMBLocationLocationDTO {
106 pub name: String,
109 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
111 pub store_code: Option<String>,
112 pub title: String,
115 #[serde(
117 rename = "storefrontAddress",
118 default,
119 skip_serializing_if = "Option::is_none"
120 )]
121 pub storefront_address: Option<serde_json::Value>,
122 #[serde(default, skip_serializing_if = "Option::is_none")]
124 pub metadata: Option<serde_json::Value>,
125 #[serde(
127 rename = "maxLocation",
128 default,
129 skip_serializing_if = "Option::is_none"
130 )]
131 pub max_location: Option<bool>,
132 #[serde(
134 rename = "isVerified",
135 default,
136 skip_serializing_if = "Option::is_none"
137 )]
138 pub is_verified: Option<bool>,
139 #[serde(
141 rename = "isConnected",
142 default,
143 skip_serializing_if = "Option::is_none"
144 )]
145 pub is_connected: Option<bool>,
146}
147
148#[derive(Debug, Clone, Default, Serialize, Deserialize)]
150pub struct AttachIGAccountDTO {
151 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
153 pub origin_id: Option<String>,
154 #[serde(default, skip_serializing_if = "Option::is_none")]
156 pub name: Option<String>,
157 #[serde(default, skip_serializing_if = "Option::is_none")]
159 pub avatar: Option<String>,
160 #[serde(rename = "pageId")]
163 pub page_id: String,
164}
165
166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
168pub struct AttachLinkedinAccountDTO {
169 #[serde(rename = "type")]
173 pub type_: String,
174 #[serde(rename = "originId")]
177 pub origin_id: String,
178 pub name: String,
181 pub avatar: String,
184 pub urn: String,
187}
188
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191pub struct AttachPinterestAccountDTO {
192 #[serde(rename = "originId")]
195 pub origin_id: String,
196 #[serde(default, skip_serializing_if = "Option::is_none")]
198 pub name: Option<String>,
199 #[serde(default, skip_serializing_if = "Option::is_none")]
201 pub avatar: Option<String>,
202 #[serde(default, skip_serializing_if = "Option::is_none")]
204 pub verified: Option<bool>,
205 #[serde(default, skip_serializing_if = "Option::is_none")]
207 pub username: Option<String>,
208 #[serde(
210 rename = "websiteUrl",
211 default,
212 skip_serializing_if = "Option::is_none"
213 )]
214 pub website_url: Option<String>,
215 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
217 pub company_id: Option<String>,
218 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
221 pub type_: Option<String>,
222 #[serde(
224 rename = "originAccountType",
225 default,
226 skip_serializing_if = "Option::is_none"
227 )]
228 pub origin_account_type: Option<String>,
229}
230
231#[derive(Debug, Clone, Default, Serialize, Deserialize)]
233pub struct AttachThreadsAccountDTO {
234 #[serde(rename = "type")]
238 pub type_: String,
239 #[serde(rename = "originId")]
242 pub origin_id: String,
243 pub name: String,
246 pub avatar: String,
249}
250
251#[derive(Debug, Clone, Default, Serialize, Deserialize)]
253pub struct AttachTiktokAccountDTO {
254 #[serde(rename = "type")]
258 pub type_: String,
259 #[serde(rename = "originId")]
262 pub origin_id: String,
263 pub name: String,
266 pub avatar: String,
269 #[serde(default, skip_serializing_if = "Option::is_none")]
271 pub verified: Option<bool>,
272 #[serde(default, skip_serializing_if = "Option::is_none")]
274 pub username: Option<String>,
275}
276
277#[derive(Debug, Clone, Default, Serialize, Deserialize)]
279pub struct AttachTwitterAccountDTO {
280 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
282 pub origin_id: Option<String>,
283 #[serde(default, skip_serializing_if = "Option::is_none")]
285 pub name: Option<String>,
286 #[serde(default, skip_serializing_if = "Option::is_none")]
288 pub username: Option<String>,
289 #[serde(default, skip_serializing_if = "Option::is_none")]
291 pub avatar: Option<String>,
292 #[serde(default, skip_serializing_if = "Option::is_none")]
294 pub protected: Option<bool>,
295 #[serde(default, skip_serializing_if = "Option::is_none")]
297 pub verified: Option<bool>,
298 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
300 pub company_id: Option<String>,
301}
302
303#[derive(Debug, Clone, Default, Serialize, Deserialize)]
305pub struct AttachYoutubeAccountResponseDTO {
306 #[serde(rename = "type")]
310 pub type_: String,
311 #[serde(rename = "originId")]
314 pub origin_id: String,
315 pub name: String,
318 pub avatar: String,
321 #[serde(default, skip_serializing_if = "Option::is_none")]
323 pub verified: Option<bool>,
324 #[serde(default, skip_serializing_if = "Option::is_none")]
326 pub username: Option<String>,
327}
328
329#[derive(Debug, Clone, Default, Serialize, Deserialize)]
331pub struct AttachmentDTO {
332 pub url: String,
335 #[serde(rename = "type")]
339 pub type_: String,
340}
341
342#[derive(Debug, Clone, Default, Serialize, Deserialize)]
344pub struct AvailableCategoryDTO {
345 #[serde(default, skip_serializing_if = "Option::is_none")]
347 pub deleted: Option<bool>,
348 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
350 pub id: Option<String>,
351 #[serde(default, skip_serializing_if = "Option::is_none")]
353 pub name: Option<String>,
354 #[serde(
356 rename = "locationId",
357 default,
358 skip_serializing_if = "Option::is_none"
359 )]
360 pub location_id: Option<String>,
361 #[serde(
363 rename = "primaryColor",
364 default,
365 skip_serializing_if = "Option::is_none"
366 )]
367 pub primary_color: Option<String>,
368 #[serde(
370 rename = "secondaryColor",
371 default,
372 skip_serializing_if = "Option::is_none"
373 )]
374 pub secondary_color: Option<String>,
375 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
377 pub created_by: Option<String>,
378 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
380 pub created_at: Option<String>,
381 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
383 pub updated_at: Option<String>,
384 #[serde(
386 rename = "publishedPostsCount",
387 default,
388 skip_serializing_if = "Option::is_none"
389 )]
390 pub published_posts_count: Option<f64>,
391 #[serde(default, skip_serializing_if = "Option::is_none")]
394 pub status: Option<String>,
395 #[serde(
397 rename = "queueDetails",
398 default,
399 skip_serializing_if = "Option::is_none"
400 )]
401 pub queue_details: Option<AvailableCategoryQueueDetailsDTO>,
402}
403
404#[derive(Debug, Clone, Default, Serialize, Deserialize)]
406pub struct AvailableCategoryQueueDetailsDTO {
407 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
409 pub queue_id: Option<String>,
410 #[serde(
412 rename = "prioritizeNewContent",
413 default,
414 skip_serializing_if = "Option::is_none"
415 )]
416 pub prioritize_new_content: Option<bool>,
417 #[serde(
419 rename = "enableFuturePosts",
420 default,
421 skip_serializing_if = "Option::is_none"
422 )]
423 pub enable_future_posts: Option<bool>,
424}
425
426#[derive(Debug, Clone, Default, Serialize, Deserialize)]
428pub struct BaseOAuthAccountSchema {
429 pub name: String,
432 #[serde(rename = "originId")]
435 pub origin_id: String,
436 #[serde(default, skip_serializing_if = "Option::is_none")]
438 pub avatar: Option<String>,
439}
440
441#[derive(Debug, Clone, Default, Serialize, Deserialize)]
443pub struct BlueskyPostSchema {
444 #[serde(
446 rename = "shortenedLinks",
447 default,
448 skip_serializing_if = "Vec::is_empty"
449 )]
450 pub shortened_links: Vec<String>,
451 #[serde(rename = "replyTo", default, skip_serializing_if = "Option::is_none")]
455 pub reply_to: Option<String>,
456 #[serde(rename = "quotePost", default, skip_serializing_if = "Option::is_none")]
460 pub quote_post: Option<String>,
461 #[serde(default, skip_serializing_if = "Option::is_none")]
464 pub language: Option<String>,
465 #[serde(
467 rename = "externalLink",
468 default,
469 skip_serializing_if = "Option::is_none"
470 )]
471 pub external_link: Option<String>,
472 #[serde(
474 rename = "externalLinkTitle",
475 default,
476 skip_serializing_if = "Option::is_none"
477 )]
478 pub external_link_title: Option<String>,
479 #[serde(
481 rename = "externalLinkDescription",
482 default,
483 skip_serializing_if = "Option::is_none"
484 )]
485 pub external_link_description: Option<String>,
486}
487
488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
490pub struct BulkDeletePostSuccessfulResponseSchema {
491 #[serde(
493 rename = "deletedCount",
494 default,
495 skip_serializing_if = "Option::is_none"
496 )]
497 pub deleted_count: Option<f64>,
498}
499
500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
502pub struct BulkDeleteResponseDto {
503 pub success: bool,
506 #[serde(rename = "statusCode")]
509 pub status_code: f64,
510 pub message: String,
513 pub results: serde_json::Value,
516}
517
518#[derive(Debug, Clone, Default, Serialize, Deserialize)]
520pub struct CSVDefaultDTO {
521 #[serde(rename = "userId")]
524 pub user_id: String,
525}
526
527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
529pub struct CSVErrorResponseDTO {
530 pub code: String,
536 pub message: String,
539 #[serde(rename = "fileType", default, skip_serializing_if = "Option::is_none")]
542 pub file_type: Option<String>,
543 #[serde(
546 rename = "csvFileType",
547 default,
548 skip_serializing_if = "Option::is_none"
549 )]
550 pub csv_file_type: Option<String>,
551 #[serde(
553 rename = "missingHeaders",
554 default,
555 skip_serializing_if = "Option::is_none"
556 )]
557 pub missing_headers: Option<String>,
558}
559
560#[derive(Debug, Clone, Default, Serialize, Deserialize)]
562pub struct CSVFileRequiredBadRequestDTO {
563 pub status: f64,
566 #[serde(default, skip_serializing_if = "Option::is_none")]
568 pub options: Option<serde_json::Value>,
569 pub message: String,
572 pub name: String,
575 pub error: String,
578 #[serde(rename = "statusCode")]
581 pub status_code: f64,
582 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
584 pub trace_id: Option<String>,
585}
586
587#[derive(Debug, Clone, Default, Serialize, Deserialize)]
589pub struct CSVImportSchema {
590 #[serde(default, skip_serializing_if = "Option::is_none")]
592 pub id: Option<String>,
593 #[serde(
595 rename = "locationId",
596 default,
597 skip_serializing_if = "Option::is_none"
598 )]
599 pub location_id: Option<String>,
600 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
602 pub file_name: Option<String>,
603 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
605 pub account_ids: Vec<String>,
606 #[serde(default, skip_serializing_if = "Option::is_none")]
608 pub file: Option<String>,
609 #[serde(default, skip_serializing_if = "Option::is_none")]
613 pub status: Option<String>,
614 #[serde(default, skip_serializing_if = "Option::is_none")]
616 pub count: Option<f64>,
617 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
619 pub created_by: Option<String>,
620 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
622 pub trace_id: Option<String>,
623 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
625 pub origin_id: Option<String>,
626 #[serde(default, skip_serializing_if = "Option::is_none")]
628 pub approver: Option<String>,
629 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
632 pub created_at: Option<String>,
633 #[serde(
636 rename = "csvFileType",
637 default,
638 skip_serializing_if = "Option::is_none"
639 )]
640 pub csv_file_type: Option<String>,
641 #[serde(
643 rename = "mediaOptimization",
644 default,
645 skip_serializing_if = "Option::is_none"
646 )]
647 pub media_optimization: Option<bool>,
648 #[serde(
650 rename = "applyWatermark",
651 default,
652 skip_serializing_if = "Option::is_none"
653 )]
654 pub apply_watermark: Option<bool>,
655 #[serde(default, skip_serializing_if = "Option::is_none")]
657 pub channel: Option<String>,
658 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
661 pub updated_at: Option<String>,
662}
663
664#[derive(Debug, Clone, Default, Serialize, Deserialize)]
666pub struct CSVMediaResponseSchema {
667 #[serde(default, skip_serializing_if = "Option::is_none")]
669 pub url: Option<String>,
670 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
672 pub type_: Option<String>,
673 #[serde(default, skip_serializing_if = "Option::is_none")]
675 pub size: Option<f64>,
676 #[serde(default, skip_serializing_if = "Option::is_none")]
678 pub width: Option<f64>,
679 #[serde(default, skip_serializing_if = "Option::is_none")]
681 pub height: Option<f64>,
682 #[serde(
684 rename = "aspectRatio",
685 default,
686 skip_serializing_if = "Option::is_none"
687 )]
688 pub aspect_ratio: Option<f64>,
689 #[serde(default, skip_serializing_if = "Option::is_none")]
691 pub duration: Option<f64>,
692 #[serde(default, skip_serializing_if = "Option::is_none")]
694 pub format: Option<String>,
695 #[serde(
697 rename = "videoCodecName",
698 default,
699 skip_serializing_if = "Option::is_none"
700 )]
701 pub video_codec_name: Option<String>,
702 #[serde(rename = "frameRate", default, skip_serializing_if = "Option::is_none")]
704 pub frame_rate: Option<f64>,
705 #[serde(
707 rename = "audioCodecName",
708 default,
709 skip_serializing_if = "Option::is_none"
710 )]
711 pub audio_codec_name: Option<String>,
712 #[serde(
714 rename = "audioChannels",
715 default,
716 skip_serializing_if = "Option::is_none"
717 )]
718 pub audio_channels: Option<f64>,
719 #[serde(
721 rename = "displayAspectRatio",
722 default,
723 skip_serializing_if = "Option::is_none"
724 )]
725 pub display_aspect_ratio: Option<String>,
726 #[serde(default, skip_serializing_if = "Vec::is_empty")]
728 pub frames: Vec<String>,
729 #[serde(
731 rename = "selectedPoster",
732 default,
733 skip_serializing_if = "Option::is_none"
734 )]
735 pub selected_poster: Option<f64>,
736 #[serde(default, skip_serializing_if = "Option::is_none")]
738 pub error: Option<String>,
739 #[serde(
743 rename = "instagramError",
744 default,
745 skip_serializing_if = "Option::is_none"
746 )]
747 pub instagram_error: Option<String>,
748 #[serde(rename = "gmbError", default, skip_serializing_if = "Option::is_none")]
751 pub gmb_error: Option<String>,
752 #[serde(
755 rename = "facebookError",
756 default,
757 skip_serializing_if = "Option::is_none"
758 )]
759 pub facebook_error: Option<String>,
760 #[serde(
763 rename = "linkedinError",
764 default,
765 skip_serializing_if = "Option::is_none"
766 )]
767 pub linkedin_error: Option<String>,
768 #[serde(
771 rename = "twitterError",
772 default,
773 skip_serializing_if = "Option::is_none"
774 )]
775 pub twitter_error: Option<String>,
776 #[serde(
779 rename = "tiktokError",
780 default,
781 skip_serializing_if = "Option::is_none"
782 )]
783 pub tiktok_error: Option<String>,
784 #[serde(
787 rename = "tiktokBusinessError",
788 default,
789 skip_serializing_if = "Option::is_none"
790 )]
791 pub tiktok_business_error: Option<String>,
792 #[serde(
794 rename = "invalidError",
795 default,
796 skip_serializing_if = "Option::is_none"
797 )]
798 pub invalid_error: Option<String>,
799}
800
801#[derive(Debug, Clone, Default, Serialize, Deserialize)]
803pub struct CSVPostSchema {
804 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
806 pub account_ids: Vec<String>,
807 #[serde(default, skip_serializing_if = "Option::is_none")]
809 pub link: Option<IOgTagsSchema>,
810 #[serde(default, skip_serializing_if = "Vec::is_empty")]
812 pub medias: Vec<CSVMediaResponseSchema>,
813 #[serde(
815 rename = "scheduleDate",
816 default,
817 skip_serializing_if = "Option::is_none"
818 )]
819 pub schedule_date: Option<String>,
820 #[serde(default, skip_serializing_if = "Option::is_none")]
822 pub summary: Option<String>,
823 #[serde(
830 rename = "followUpComment",
831 default,
832 skip_serializing_if = "Option::is_none"
833 )]
834 pub follow_up_comment: Option<String>,
835 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
837 pub type_: Option<String>,
838 #[serde(
840 rename = "tiktokPostDetails",
841 default,
842 skip_serializing_if = "Option::is_none"
843 )]
844 pub tiktok_post_details: Option<TiktokPostSchema>,
845 #[serde(
847 rename = "gmbPostDetails",
848 default,
849 skip_serializing_if = "Option::is_none"
850 )]
851 pub gmb_post_details: Option<GMBPostSchema>,
852 #[serde(
854 rename = "errorMessage",
855 default,
856 skip_serializing_if = "Option::is_none"
857 )]
858 pub error_message: Option<String>,
859 #[serde(
862 rename = "csvFileType",
863 default,
864 skip_serializing_if = "Option::is_none"
865 )]
866 pub csv_file_type: Option<String>,
867 #[serde(
869 rename = "mediaOptimization",
870 default,
871 skip_serializing_if = "Option::is_none"
872 )]
873 pub media_optimization: Option<bool>,
874 #[serde(
876 rename = "applyWatermark",
877 default,
878 skip_serializing_if = "Option::is_none"
879 )]
880 pub apply_watermark: Option<bool>,
881 #[serde(default, skip_serializing_if = "Option::is_none")]
884 pub status: Option<String>,
885 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
888 pub updated_at: Option<String>,
889}
890
891#[derive(Debug, Clone, Default, Serialize, Deserialize)]
893pub struct CSVResponseSchema {
894 #[serde(default, skip_serializing_if = "Option::is_none")]
896 pub csv: Option<CsvResponse>,
897}
898
899#[derive(Debug, Clone, Default, Serialize, Deserialize)]
901pub struct CalendarListDTO {
902 #[serde(rename = "locationId")]
905 pub location_id: String,
906 #[serde(rename = "startDate")]
909 pub start_date: String,
910 #[serde(rename = "endDate")]
913 pub end_date: String,
914 #[serde(rename = "categoryIds", default, skip_serializing_if = "Vec::is_empty")]
916 pub category_ids: Vec<String>,
917 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
919 pub account_ids: Vec<String>,
920}
921
922#[derive(Debug, Clone, Default, Serialize, Deserialize)]
924pub struct CategoryInfoDTO {
925 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
927 pub id: Option<String>,
928 #[serde(default, skip_serializing_if = "Option::is_none")]
930 pub name: Option<String>,
931 #[serde(
933 rename = "primaryColor",
934 default,
935 skip_serializing_if = "Option::is_none"
936 )]
937 pub primary_color: Option<String>,
938 #[serde(
940 rename = "secondaryColor",
941 default,
942 skip_serializing_if = "Option::is_none"
943 )]
944 pub secondary_color: Option<String>,
945 #[serde(default, skip_serializing_if = "Option::is_none")]
947 pub deleted: Option<bool>,
948 #[serde(
950 rename = "locationId",
951 default,
952 skip_serializing_if = "Option::is_none"
953 )]
954 pub location_id: Option<String>,
955 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
957 pub created_by: Option<String>,
958 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
960 pub created_at: Option<String>,
961 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
963 pub updated_at: Option<String>,
964}
965
966#[derive(Debug, Clone, Default, Serialize, Deserialize)]
968pub struct CategoryQueueDTO {
969 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
971 pub id: Option<String>,
972 #[serde(
974 rename = "locationId",
975 default,
976 skip_serializing_if = "Option::is_none"
977 )]
978 pub location_id: Option<String>,
979 #[serde(
981 rename = "categoryId",
982 default,
983 skip_serializing_if = "Option::is_none"
984 )]
985 pub category_id: Option<String>,
986 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
988 pub time_slots: Vec<TimeSlotDTO>,
989 #[serde(
991 rename = "enableFuturePosts",
992 default,
993 skip_serializing_if = "Option::is_none"
994 )]
995 pub enable_future_posts: Option<bool>,
996 #[serde(
998 rename = "prioritizeNewContent",
999 default,
1000 skip_serializing_if = "Option::is_none"
1001 )]
1002 pub prioritize_new_content: Option<bool>,
1003 #[serde(
1005 rename = "currentOrder",
1006 default,
1007 skip_serializing_if = "Option::is_none"
1008 )]
1009 pub current_order: Option<f64>,
1010 #[serde(default, skip_serializing_if = "Option::is_none")]
1013 pub status: Option<String>,
1014 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1017 pub start_date: Option<String>,
1018 #[serde(
1021 rename = "skipDateTime",
1022 default,
1023 skip_serializing_if = "Vec::is_empty"
1024 )]
1025 pub skip_date_time: Vec<String>,
1026 #[serde(
1028 rename = "currentPostId",
1029 default,
1030 skip_serializing_if = "Option::is_none"
1031 )]
1032 pub current_post_id: Option<String>,
1033 #[serde(
1035 rename = "totalPosts",
1036 default,
1037 skip_serializing_if = "Option::is_none"
1038 )]
1039 pub total_posts: Option<f64>,
1040 #[serde(
1043 rename = "lastScheduledTime",
1044 default,
1045 skip_serializing_if = "Option::is_none"
1046 )]
1047 pub last_scheduled_time: Option<String>,
1048 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1050 pub created_by: Option<String>,
1051 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1054 pub created_at: Option<String>,
1055 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1058 pub updated_at: Option<String>,
1059}
1060
1061#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1063pub struct CategoryQueueWithCategoryDTO {
1064 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1066 pub id: Option<String>,
1067 #[serde(
1069 rename = "locationId",
1070 default,
1071 skip_serializing_if = "Option::is_none"
1072 )]
1073 pub location_id: Option<String>,
1074 #[serde(
1076 rename = "categoryId",
1077 default,
1078 skip_serializing_if = "Option::is_none"
1079 )]
1080 pub category_id: Option<String>,
1081 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1083 pub time_slots: Vec<TimeSlotDTO>,
1084 #[serde(
1086 rename = "enableFuturePosts",
1087 default,
1088 skip_serializing_if = "Option::is_none"
1089 )]
1090 pub enable_future_posts: Option<bool>,
1091 #[serde(
1093 rename = "prioritizeNewContent",
1094 default,
1095 skip_serializing_if = "Option::is_none"
1096 )]
1097 pub prioritize_new_content: Option<bool>,
1098 #[serde(
1100 rename = "currentOrder",
1101 default,
1102 skip_serializing_if = "Option::is_none"
1103 )]
1104 pub current_order: Option<f64>,
1105 #[serde(default, skip_serializing_if = "Option::is_none")]
1108 pub status: Option<String>,
1109 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1112 pub start_date: Option<String>,
1113 #[serde(
1116 rename = "skipDateTime",
1117 default,
1118 skip_serializing_if = "Vec::is_empty"
1119 )]
1120 pub skip_date_time: Vec<String>,
1121 #[serde(
1123 rename = "currentPostId",
1124 default,
1125 skip_serializing_if = "Option::is_none"
1126 )]
1127 pub current_post_id: Option<String>,
1128 #[serde(
1130 rename = "totalPosts",
1131 default,
1132 skip_serializing_if = "Option::is_none"
1133 )]
1134 pub total_posts: Option<f64>,
1135 #[serde(
1138 rename = "lastScheduledTime",
1139 default,
1140 skip_serializing_if = "Option::is_none"
1141 )]
1142 pub last_scheduled_time: Option<String>,
1143 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1145 pub created_by: Option<String>,
1146 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1149 pub created_at: Option<String>,
1150 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1153 pub updated_at: Option<String>,
1154 #[serde(default, skip_serializing_if = "Option::is_none")]
1156 pub category: Option<CategoryInfoDTO>,
1157}
1158
1159#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1161pub struct CategorySchema {
1162 #[serde(default, skip_serializing_if = "Option::is_none")]
1164 pub name: Option<String>,
1165 #[serde(
1167 rename = "primaryColor",
1168 default,
1169 skip_serializing_if = "Option::is_none"
1170 )]
1171 pub primary_color: Option<String>,
1172 #[serde(
1174 rename = "secondaryColor",
1175 default,
1176 skip_serializing_if = "Option::is_none"
1177 )]
1178 pub secondary_color: Option<String>,
1179 #[serde(
1181 rename = "locationId",
1182 default,
1183 skip_serializing_if = "Option::is_none"
1184 )]
1185 pub location_id: Option<String>,
1186 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1188 pub id: Option<String>,
1189 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1191 pub created_by: Option<String>,
1192 pub deleted: bool,
1195 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1197 pub created_at: Option<String>,
1198 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1200 pub updated_at: Option<String>,
1201}
1202
1203#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1205pub struct CloneQueueItemDTO {
1206 #[serde(rename = "locationId")]
1209 pub location_id: String,
1210 #[serde(rename = "sessionId")]
1213 pub session_id: String,
1214 pub order: f64,
1217}
1218
1219#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1221pub struct CloneQueueItemResponseDTO {
1222 #[serde(default, skip_serializing_if = "Option::is_none")]
1224 pub message: Option<String>,
1225 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
1227 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
1228}
1229
1230#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1232pub struct CommentAttachmentDTO {
1233 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1235 pub type_: Option<String>,
1236 #[serde(default, skip_serializing_if = "Option::is_none")]
1238 pub url: Option<String>,
1239 #[serde(default, skip_serializing_if = "Option::is_none")]
1241 pub thumbnail: Option<String>,
1242 #[serde(rename = "videoUrl", default, skip_serializing_if = "Option::is_none")]
1244 pub video_url: Option<String>,
1245}
1246
1247#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1249pub struct CommentAuthorDTO {
1250 #[serde(default, skip_serializing_if = "Option::is_none")]
1252 pub id: Option<String>,
1253 #[serde(default, skip_serializing_if = "Option::is_none")]
1255 pub name: Option<String>,
1256 #[serde(
1258 rename = "profilePic",
1259 default,
1260 skip_serializing_if = "Option::is_none"
1261 )]
1262 pub profile_pic: Option<String>,
1263}
1264
1265#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1267pub struct CommentItemDTO {
1268 #[serde(rename = "_id")]
1271 pub id: String,
1272 pub platform: String,
1275 #[serde(
1277 rename = "platformCommentId",
1278 default,
1279 skip_serializing_if = "Option::is_none"
1280 )]
1281 pub platform_comment_id: Option<String>,
1282 #[serde(
1284 rename = "platformParentId",
1285 default,
1286 skip_serializing_if = "Option::is_none"
1287 )]
1288 pub platform_parent_id: Option<String>,
1289 #[serde(
1291 rename = "platformPostId",
1292 default,
1293 skip_serializing_if = "Option::is_none"
1294 )]
1295 pub platform_post_id: Option<String>,
1296 #[serde(rename = "postId")]
1299 pub post_id: String,
1300 #[serde(rename = "originId")]
1303 pub origin_id: String,
1304 #[serde(
1307 rename = "isParentThread",
1308 default,
1309 skip_serializing_if = "Option::is_none"
1310 )]
1311 pub is_parent_thread: Option<bool>,
1312 #[serde(rename = "isPost")]
1315 pub is_post: bool,
1316 #[serde(default, skip_serializing_if = "Option::is_none")]
1318 pub content: Option<String>,
1319 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1321 pub attachments: Vec<CommentAttachmentDTO>,
1322 #[serde(default, skip_serializing_if = "Option::is_none")]
1324 pub author: Option<CommentAuthorDTO>,
1325 #[serde(default, skip_serializing_if = "Option::is_none")]
1327 pub level: Option<f64>,
1328 #[serde(rename = "likeCount")]
1331 pub like_count: f64,
1332 #[serde(rename = "reactionCount")]
1335 pub reaction_count: f64,
1336 #[serde(rename = "replyCount")]
1339 pub reply_count: f64,
1340 #[serde(rename = "shareCount")]
1343 pub share_count: f64,
1344 #[serde(rename = "repostCount")]
1347 pub repost_count: f64,
1348 #[serde(rename = "quoteCount")]
1351 pub quote_count: f64,
1352 #[serde(
1354 rename = "previewLink",
1355 default,
1356 skip_serializing_if = "Option::is_none"
1357 )]
1358 pub preview_link: Option<String>,
1359 #[serde(rename = "isRead")]
1362 pub is_read: bool,
1363 #[serde(rename = "isDeleted")]
1366 pub is_deleted: bool,
1367 #[serde(rename = "isEdited")]
1370 pub is_edited: bool,
1371 #[serde(
1375 rename = "publishedAt",
1376 default,
1377 skip_serializing_if = "Option::is_none"
1378 )]
1379 pub published_at: Option<String>,
1380 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1383 pub created_at: Option<String>,
1384 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1387 pub updated_at: Option<String>,
1388}
1389
1390#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1392pub struct CommentsCreateBodyDTO {
1393 #[serde(rename = "parentId")]
1399 pub parent_id: String,
1400 #[serde(rename = "isParentThread")]
1404 pub is_parent_thread: bool,
1405 pub content: String,
1409 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1414 pub attachments: Vec<AttachmentDTO>,
1415 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1419 pub mentions: Vec<MentionsDTO>,
1420 #[serde(
1429 rename = "notifyAllGroupMembers",
1430 default,
1431 skip_serializing_if = "Option::is_none"
1432 )]
1433 pub notify_all_group_members: Option<bool>,
1434}
1435
1436#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1438pub struct CommentsCreateResponseDTO {
1439 pub success: bool,
1442 #[serde(rename = "statusCode")]
1445 pub status_code: f64,
1446 pub message: String,
1449 pub results: CommentItemDTO,
1452}
1453
1454#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1456pub struct CommentsGetListBodyDTO {
1457 #[serde(rename = "fromDate", default, skip_serializing_if = "Option::is_none")]
1460 pub from_date: Option<String>,
1461 #[serde(rename = "toDate", default, skip_serializing_if = "Option::is_none")]
1463 pub to_date: Option<String>,
1464 #[serde(rename = "originIds", default, skip_serializing_if = "Vec::is_empty")]
1467 pub origin_ids: Vec<String>,
1468 #[serde(rename = "sortBy", default, skip_serializing_if = "Option::is_none")]
1471 pub sort_by: Option<String>,
1472 #[serde(default, skip_serializing_if = "Option::is_none")]
1474 pub search: Option<String>,
1475 #[serde(default, skip_serializing_if = "Option::is_none")]
1477 pub skip: Option<f64>,
1478 #[serde(default, skip_serializing_if = "Option::is_none")]
1480 pub limit: Option<f64>,
1481 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
1486 pub parent_id: Option<String>,
1487}
1488
1489#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1491pub struct CommentsGetListResponseDTO {
1492 pub success: bool,
1495 #[serde(rename = "statusCode")]
1498 pub status_code: f64,
1499 pub message: String,
1502 pub results: CommentsGetListResultsDTO,
1505}
1506
1507#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1509pub struct CommentsGetListResultsDTO {
1510 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1513 pub comments: Vec<CommentItemDTO>,
1514 pub meta: CommentsListMetaDTO,
1517}
1518
1519#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1521pub struct CommentsLikeResponseDTO {
1522 pub success: bool,
1525 #[serde(rename = "statusCode")]
1528 pub status_code: f64,
1529 pub message: String,
1532}
1533
1534#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1536pub struct CommentsListMetaDTO {
1537 pub total: f64,
1540 #[serde(
1542 rename = "totalUnread",
1543 default,
1544 skip_serializing_if = "Option::is_none"
1545 )]
1546 pub total_unread: Option<f64>,
1547 pub skip: f64,
1550 pub limit: f64,
1553 #[serde(rename = "hasMore")]
1556 pub has_more: bool,
1557}
1558
1559#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1561pub struct CreateCategoryQueueDTO {
1562 #[serde(rename = "locationId")]
1565 pub location_id: String,
1566 #[serde(rename = "categoryId")]
1569 pub category_id: String,
1570 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1572 pub time_slots: Vec<TimeSlotDTO>,
1573 #[serde(
1575 rename = "enableFuturePosts",
1576 default,
1577 skip_serializing_if = "Option::is_none"
1578 )]
1579 pub enable_future_posts: Option<bool>,
1580 #[serde(
1582 rename = "prioritizeNewContent",
1583 default,
1584 skip_serializing_if = "Option::is_none"
1585 )]
1586 pub prioritize_new_content: Option<bool>,
1587 #[serde(rename = "userId")]
1590 pub user_id: String,
1591}
1592
1593#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1595pub struct CreateCategoryQueueResponseDTO {
1596 #[serde(default, skip_serializing_if = "Option::is_none")]
1598 pub message: Option<String>,
1599 #[serde(default, skip_serializing_if = "Option::is_none")]
1601 pub queue: Option<CreatedCategoryQueueDTO>,
1602}
1603
1604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1606pub struct CreatePostDTO {
1607 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1613 pub account_ids: Vec<String>,
1614 #[serde(default, skip_serializing_if = "Option::is_none")]
1623 pub summary: Option<String>,
1624 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1627 pub media: Vec<PostMediaSchema>,
1628 #[serde(default, skip_serializing_if = "Option::is_none")]
1641 pub status: Option<String>,
1642 #[serde(
1644 rename = "scheduleDate",
1645 default,
1646 skip_serializing_if = "Option::is_none"
1647 )]
1648 pub schedule_date: Option<String>,
1649 #[serde(
1651 rename = "selectedBestTime",
1652 default,
1653 skip_serializing_if = "Option::is_none"
1654 )]
1655 pub selected_best_time: Option<String>,
1656 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1660 pub created_by: Option<String>,
1661 #[serde(
1668 rename = "followUpComment",
1669 default,
1670 skip_serializing_if = "Option::is_none"
1671 )]
1672 pub follow_up_comment: Option<String>,
1673 #[serde(
1675 rename = "ogTagsDetails",
1676 default,
1677 skip_serializing_if = "Option::is_none"
1678 )]
1679 pub og_tags_details: Option<OgTagsSchema>,
1680 #[serde(rename = "type")]
1690 pub type_: String,
1691 #[serde(
1693 rename = "postApprovalDetails",
1694 default,
1695 skip_serializing_if = "Option::is_none"
1696 )]
1697 pub post_approval_details: Option<PostApprovalSchema>,
1698 #[serde(
1701 rename = "scheduleTimeUpdated",
1702 default,
1703 skip_serializing_if = "Option::is_none"
1704 )]
1705 pub schedule_time_updated: Option<bool>,
1706 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1710 pub tags: Vec<String>,
1711 #[serde(
1715 rename = "categoryId",
1716 default,
1717 skip_serializing_if = "Option::is_none"
1718 )]
1719 pub category_id: Option<String>,
1720 #[serde(
1723 rename = "applyWatermark",
1724 default,
1725 skip_serializing_if = "Option::is_none"
1726 )]
1727 pub apply_watermark: Option<bool>,
1728 #[serde(
1730 rename = "tiktokPostDetails",
1731 default,
1732 skip_serializing_if = "Option::is_none"
1733 )]
1734 pub tiktok_post_details: Option<TiktokPostSchema>,
1735 #[serde(
1737 rename = "gmbPostDetails",
1738 default,
1739 skip_serializing_if = "Option::is_none"
1740 )]
1741 pub gmb_post_details: Option<GMBPostSchema>,
1742 #[serde(rename = "userId")]
1746 pub user_id: String,
1747 #[serde(
1753 rename = "linkedinPostDetails",
1754 default,
1755 skip_serializing_if = "Option::is_none"
1756 )]
1757 pub linkedin_post_details: Option<LinkedinPostSchema>,
1758 #[serde(
1766 rename = "pinterestPostDetails",
1767 default,
1768 skip_serializing_if = "Option::is_none"
1769 )]
1770 pub pinterest_post_details: Option<PinterestPostSchema>,
1771 #[serde(
1777 rename = "facebookPostDetails",
1778 default,
1779 skip_serializing_if = "Option::is_none"
1780 )]
1781 pub facebook_post_details: Option<FacebookPostSchema>,
1782 #[serde(
1793 rename = "instagramPostDetails",
1794 default,
1795 skip_serializing_if = "Option::is_none"
1796 )]
1797 pub instagram_post_details: Option<InstagramPostSchema>,
1798 #[serde(
1804 rename = "youtubePostDetails",
1805 default,
1806 skip_serializing_if = "Option::is_none"
1807 )]
1808 pub youtube_post_details: Option<YoutubePostSchema>,
1809}
1810
1811#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1813pub struct CreatePostSuccessfulResponseDTO {
1814 pub success: bool,
1817 #[serde(rename = "statusCode")]
1820 pub status_code: f64,
1821 pub message: String,
1824 #[serde(default, skip_serializing_if = "Option::is_none")]
1826 pub results: Option<CreatePostSuccessfulResponseSchema>,
1827}
1828
1829#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1831pub struct CreatePostSuccessfulResponseSchema {
1832 #[serde(default, skip_serializing_if = "Option::is_none")]
1834 pub post: Option<GetPostFormattedSchema>,
1835}
1836
1837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1839pub struct CreateQueueItemDTO {
1840 #[serde(rename = "locationId")]
1843 pub location_id: String,
1844 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
1846 pub session_id: Option<String>,
1847 #[serde(
1849 rename = "modifiedPostPayload",
1850 default,
1851 skip_serializing_if = "Option::is_none"
1852 )]
1853 pub modified_post_payload: Option<QueueModifiedPostDTO>,
1854 #[serde(default, skip_serializing_if = "Option::is_none")]
1863 pub order: Option<serde_json::Value>,
1864 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1866 pub variations: Vec<VariationInputDTO>,
1867 #[serde(
1870 rename = "primaryImage",
1871 default,
1872 skip_serializing_if = "Option::is_none"
1873 )]
1874 pub primary_image: Option<String>,
1875 #[serde(
1880 rename = "directToQueue",
1881 default,
1882 skip_serializing_if = "Option::is_none"
1883 )]
1884 pub direct_to_queue: Option<bool>,
1885}
1886
1887#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1889pub struct CreateQueueItemResponseDTO {
1890 #[serde(default, skip_serializing_if = "Option::is_none")]
1892 pub message: Option<String>,
1893 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
1895 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
1896}
1897
1898#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1900pub struct CreatedCategoryQueueDTO {
1901 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1903 pub id: Option<String>,
1904 #[serde(
1906 rename = "locationId",
1907 default,
1908 skip_serializing_if = "Option::is_none"
1909 )]
1910 pub location_id: Option<String>,
1911 #[serde(
1913 rename = "categoryId",
1914 default,
1915 skip_serializing_if = "Option::is_none"
1916 )]
1917 pub category_id: Option<String>,
1918 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1920 pub time_slots: Vec<CreatedTimeSlotDTO>,
1921 #[serde(
1923 rename = "enableFuturePosts",
1924 default,
1925 skip_serializing_if = "Option::is_none"
1926 )]
1927 pub enable_future_posts: Option<bool>,
1928 #[serde(
1930 rename = "prioritizeNewContent",
1931 default,
1932 skip_serializing_if = "Option::is_none"
1933 )]
1934 pub prioritize_new_content: Option<bool>,
1935 #[serde(default, skip_serializing_if = "Option::is_none")]
1938 pub status: Option<String>,
1939 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1942 pub start_date: Option<String>,
1943 #[serde(
1946 rename = "skipDateTime",
1947 default,
1948 skip_serializing_if = "Vec::is_empty"
1949 )]
1950 pub skip_date_time: Vec<String>,
1951 #[serde(
1953 rename = "totalPosts",
1954 default,
1955 skip_serializing_if = "Option::is_none"
1956 )]
1957 pub total_posts: Option<f64>,
1958 #[serde(
1961 rename = "lastScheduledTime",
1962 default,
1963 skip_serializing_if = "Option::is_none"
1964 )]
1965 pub last_scheduled_time: Option<String>,
1966 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1968 pub created_by: Option<String>,
1969 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1972 pub created_at: Option<String>,
1973 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1976 pub updated_at: Option<String>,
1977}
1978
1979#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1981pub struct CreatedQueueItemWithVariationsDTO {
1982 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1984 pub id: Option<String>,
1985 #[serde(default, skip_serializing_if = "Option::is_none")]
1987 pub order: Option<f64>,
1988 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1990 pub variations: Vec<VariationDTO>,
1991 #[serde(
1993 rename = "primaryImage",
1994 default,
1995 skip_serializing_if = "Option::is_none"
1996 )]
1997 pub primary_image: Option<String>,
1998 #[serde(
2001 rename = "lastScheduledTime",
2002 default,
2003 skip_serializing_if = "Option::is_none"
2004 )]
2005 pub last_scheduled_time: Option<String>,
2006 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2008 pub queue_id: Option<String>,
2009 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2011 pub post_id: Option<String>,
2012 #[serde(
2014 rename = "modifiedPostPayload",
2015 default,
2016 skip_serializing_if = "Option::is_none"
2017 )]
2018 pub modified_post_payload: Option<GetModifiedPayloadFormattedSchema>,
2019 #[serde(
2021 rename = "parentPostId",
2022 default,
2023 skip_serializing_if = "Option::is_none"
2024 )]
2025 pub parent_post_id: Option<String>,
2026 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2029 pub errors: Vec<String>,
2030 #[serde(
2032 rename = "currentVariation",
2033 default,
2034 skip_serializing_if = "Option::is_none"
2035 )]
2036 pub current_variation: Option<f64>,
2037 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2039 pub created_at: Option<String>,
2040 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2042 pub updated_at: Option<String>,
2043 #[serde(default, skip_serializing_if = "Option::is_none")]
2045 pub deleted: Option<bool>,
2046 #[serde(
2048 rename = "locationId",
2049 default,
2050 skip_serializing_if = "Option::is_none"
2051 )]
2052 pub location_id: Option<String>,
2053}
2054
2055#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2057pub struct CreatedTimeSlotDTO {
2058 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2060 pub id: Option<String>,
2061 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
2063 pub day_of_week: Option<f64>,
2064 #[serde(default, skip_serializing_if = "Option::is_none")]
2066 pub time: Option<String>,
2067}
2068
2069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2071pub struct CsvPostStatusResponseDTO {
2072 pub success: bool,
2075 #[serde(rename = "statusCode")]
2078 pub status_code: f64,
2079 pub message: String,
2082}
2083
2084#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2086pub struct CsvResponse {
2087 #[serde(
2089 rename = "locationId",
2090 default,
2091 skip_serializing_if = "Option::is_none"
2092 )]
2093 pub location_id: Option<String>,
2094 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
2096 pub file_name: Option<String>,
2097 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2099 pub account_ids: Vec<String>,
2100 #[serde(default, skip_serializing_if = "Option::is_none")]
2102 pub file: Option<String>,
2103 #[serde(default, skip_serializing_if = "Option::is_none")]
2107 pub status: Option<String>,
2108 #[serde(default, skip_serializing_if = "Option::is_none")]
2110 pub count: Option<f64>,
2111 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2113 pub created_by: Option<String>,
2114 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
2116 pub trace_id: Option<String>,
2117 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2119 pub origin_id: Option<String>,
2120 #[serde(default, skip_serializing_if = "Option::is_none")]
2122 pub approver: Option<String>,
2123 #[serde(
2126 rename = "csvFileType",
2127 default,
2128 skip_serializing_if = "Option::is_none"
2129 )]
2130 pub csv_file_type: Option<String>,
2131 #[serde(
2133 rename = "mediaOptimization",
2134 default,
2135 skip_serializing_if = "Option::is_none"
2136 )]
2137 pub media_optimization: Option<bool>,
2138 #[serde(
2140 rename = "applyWatermark",
2141 default,
2142 skip_serializing_if = "Option::is_none"
2143 )]
2144 pub apply_watermark: Option<bool>,
2145 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2148 pub updated_at: Option<String>,
2149}
2150
2151#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2153pub struct DateSchema {
2154 pub year: f64,
2157 pub month: f64,
2160 pub day: f64,
2163}
2164
2165#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2167pub struct DeleteAccountResponseSchema {
2168 #[serde(
2170 rename = "locationId",
2171 default,
2172 skip_serializing_if = "Option::is_none"
2173 )]
2174 pub location_id: Option<String>,
2175 #[serde(default, skip_serializing_if = "Option::is_none")]
2177 pub id: Option<String>,
2178}
2179
2180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2182pub struct DeleteActivePostResponseDTO {
2183 #[serde(default, skip_serializing_if = "Option::is_none")]
2185 pub message: Option<String>,
2186}
2187
2188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2190pub struct DeleteCsvResponseDTO {
2191 pub success: bool,
2194 #[serde(rename = "statusCode")]
2197 pub status_code: f64,
2198 pub message: String,
2201 #[serde(default, skip_serializing_if = "Option::is_none")]
2203 pub results: Option<CSVResponseSchema>,
2204}
2205
2206#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2208pub struct DeleteLikeResponseDTO {
2209 pub success: bool,
2212 #[serde(rename = "statusCode")]
2215 pub status_code: f64,
2216 pub message: String,
2219}
2220
2221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2223pub struct DeletePostCsvSchema {
2224 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2226 pub id: Option<String>,
2227 #[serde(
2230 rename = "csvFileType",
2231 default,
2232 skip_serializing_if = "Option::is_none"
2233 )]
2234 pub csv_file_type: Option<String>,
2235 #[serde(
2237 rename = "mediaOptimization",
2238 default,
2239 skip_serializing_if = "Option::is_none"
2240 )]
2241 pub media_optimization: Option<bool>,
2242 #[serde(
2244 rename = "applyWatermark",
2245 default,
2246 skip_serializing_if = "Option::is_none"
2247 )]
2248 pub apply_watermark: Option<bool>,
2249 #[serde(default, skip_serializing_if = "Option::is_none")]
2253 pub status: Option<String>,
2254 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2257 pub updated_at: Option<String>,
2258}
2259
2260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2262pub struct DeletePostResponseDTO {
2263 pub success: bool,
2266 #[serde(rename = "statusCode")]
2269 pub status_code: f64,
2270 pub message: String,
2273 #[serde(default, skip_serializing_if = "Option::is_none")]
2275 pub results: Option<DeletePostResponseSchema>,
2276}
2277
2278#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2280pub struct DeletePostResponseSchema {
2281 #[serde(rename = "postId")]
2284 pub post_id: String,
2285 #[serde(default, skip_serializing_if = "Option::is_none")]
2287 pub csv: Option<DeletePostCsvSchema>,
2288}
2289
2290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2292pub struct DeletePostSuccessfulResponseDTO {
2293 pub success: bool,
2296 #[serde(rename = "statusCode")]
2299 pub status_code: f64,
2300 pub message: String,
2303 #[serde(default, skip_serializing_if = "Option::is_none")]
2305 pub results: Option<DeletePostSuccessfulResponseSchema>,
2306}
2307
2308#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2310pub struct DeletePostSuccessfulResponseSchema {
2311 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2313 pub post_id: Option<String>,
2314}
2315
2316#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2318pub struct DeletePostsDto {
2319 #[serde(rename = "postIds", default, skip_serializing_if = "Vec::is_empty")]
2321 pub post_ids: Vec<String>,
2322}
2323
2324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2326pub struct DiscardEditSessionDTO {
2327 #[serde(rename = "locationId")]
2330 pub location_id: String,
2331 #[serde(rename = "sessionId")]
2334 pub session_id: String,
2335 #[serde(
2338 rename = "keepInDraft",
2339 default,
2340 skip_serializing_if = "Option::is_none"
2341 )]
2342 pub keep_in_draft: Option<bool>,
2343}
2344
2345#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2347pub struct DiscardEditSessionResponseDTO {
2348 #[serde(default, skip_serializing_if = "Option::is_none")]
2350 pub message: Option<String>,
2351}
2352
2353#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2355pub struct EditSessionCalendarDTO {
2356 #[serde(rename = "locationId")]
2359 pub location_id: String,
2360 #[serde(rename = "sessionId")]
2363 pub session_id: String,
2364 #[serde(rename = "startDate")]
2367 pub start_date: String,
2368 #[serde(rename = "endDate")]
2371 pub end_date: String,
2372 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2374 pub account_ids: Vec<String>,
2375}
2376
2377#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2379pub struct EditSessionCalendarResponseDTO {
2380 #[serde(default, skip_serializing_if = "Option::is_none")]
2381 pub message: Option<String>,
2382 #[serde(
2383 rename = "scheduledPosts",
2384 default,
2385 skip_serializing_if = "Vec::is_empty"
2386 )]
2387 pub scheduled_posts: Vec<EditSessionScheduledPostDTO>,
2388 #[serde(default, skip_serializing_if = "Option::is_none")]
2390 pub total: Option<f64>,
2391 #[serde(default, skip_serializing_if = "Option::is_none")]
2393 pub timezone: Option<String>,
2394}
2395
2396#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2398pub struct EditSessionScheduledPostDTO {
2399 #[serde(
2402 rename = "scheduledDateTime",
2403 default,
2404 skip_serializing_if = "Option::is_none"
2405 )]
2406 pub scheduled_date_time: Option<String>,
2407 #[serde(default, skip_serializing_if = "Option::is_none")]
2409 pub post: Option<GetPostFormattedSchema>,
2410 #[serde(
2412 rename = "queueItemId",
2413 default,
2414 skip_serializing_if = "Option::is_none"
2415 )]
2416 pub queue_item_id: Option<String>,
2417 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2419 pub queue_id: Option<String>,
2420 #[serde(default, skip_serializing_if = "Option::is_none")]
2422 pub order: Option<f64>,
2423 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2425 pub variations: Vec<VariationDTO>,
2426 #[serde(
2428 rename = "primaryImage",
2429 default,
2430 skip_serializing_if = "Option::is_none"
2431 )]
2432 pub primary_image: Option<String>,
2433 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2436 pub errors: Vec<String>,
2437 #[serde(default, skip_serializing_if = "Option::is_none")]
2439 pub category: Option<CategoryInfoDTO>,
2440 #[serde(
2442 rename = "currentVariation",
2443 default,
2444 skip_serializing_if = "Option::is_none"
2445 )]
2446 pub current_variation: Option<f64>,
2447 #[serde(default, skip_serializing_if = "Option::is_none")]
2449 pub timezone: Option<String>,
2450 #[serde(rename = "isDraft", default, skip_serializing_if = "Option::is_none")]
2452 pub is_draft: Option<bool>,
2453 #[serde(
2455 rename = "originalItemId",
2456 default,
2457 skip_serializing_if = "Option::is_none"
2458 )]
2459 pub original_item_id: Option<String>,
2460}
2461
2462#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2464pub struct EndDateSchema {
2465 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2467 pub end_date: Option<DateSchema>,
2468 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
2470 pub end_time: Option<TimeSchema>,
2471}
2472
2473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2475pub struct FacebookPageSchema {
2476 #[serde(default, skip_serializing_if = "Option::is_none")]
2478 pub id: Option<String>,
2479 #[serde(default, skip_serializing_if = "Option::is_none")]
2481 pub name: Option<String>,
2482 #[serde(default, skip_serializing_if = "Option::is_none")]
2484 pub avatar: Option<String>,
2485 #[serde(rename = "isOwned", default, skip_serializing_if = "Option::is_none")]
2487 pub is_owned: Option<bool>,
2488 #[serde(
2490 rename = "isConnected",
2491 default,
2492 skip_serializing_if = "Option::is_none"
2493 )]
2494 pub is_connected: Option<bool>,
2495}
2496
2497#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2499pub struct FacebookPostSchema {
2500 #[serde(rename = "type")]
2507 pub type_: String,
2508 #[serde(
2516 rename = "textFormatPresetId",
2517 default,
2518 skip_serializing_if = "Option::is_none"
2519 )]
2520 pub text_format_preset_id: Option<String>,
2521}
2522
2523#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2525pub struct FetchAvailableCategoriesResponseDTO {
2526 #[serde(default, skip_serializing_if = "Option::is_none")]
2527 pub message: Option<String>,
2528 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2530 pub categories: Vec<AvailableCategoryDTO>,
2531 #[serde(default, skip_serializing_if = "Option::is_none")]
2532 pub meta: Option<MetaDTO>,
2533}
2534
2535#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2537pub struct FetchCalendarListResponseDTO {
2538 #[serde(default, skip_serializing_if = "Option::is_none")]
2539 pub message: Option<String>,
2540 #[serde(
2541 rename = "scheduledPosts",
2542 default,
2543 skip_serializing_if = "Vec::is_empty"
2544 )]
2545 pub scheduled_posts: Vec<ScheduledPostDTO>,
2546 #[serde(default, skip_serializing_if = "Option::is_none")]
2548 pub total: Option<f64>,
2549 #[serde(default, skip_serializing_if = "Option::is_none")]
2551 pub timezone: Option<String>,
2552}
2553
2554#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2556pub struct FetchCategoryQueuesDTO {
2557 #[serde(rename = "locationId")]
2560 pub location_id: String,
2561 #[serde(default, skip_serializing_if = "Option::is_none")]
2563 pub skip: Option<f64>,
2564 #[serde(default, skip_serializing_if = "Option::is_none")]
2566 pub limit: Option<f64>,
2567}
2568
2569#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2571pub struct FetchCategoryQueuesResponseDTO {
2572 #[serde(default, skip_serializing_if = "Option::is_none")]
2573 pub message: Option<String>,
2574 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2575 pub queues: Vec<CategoryQueueWithCategoryDTO>,
2576 #[serde(default, skip_serializing_if = "Option::is_none")]
2577 pub meta: Option<MetaDTO>,
2578}
2579
2580#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2582pub struct FetchQueueByIdResponseDTO {
2583 #[serde(default, skip_serializing_if = "Option::is_none")]
2585 pub message: Option<String>,
2586 #[serde(default, skip_serializing_if = "Option::is_none")]
2588 pub queue: Option<CategoryQueueWithCategoryDTO>,
2589}
2590
2591#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2593pub struct FetchQueueItemsDTO {
2594 #[serde(rename = "locationId")]
2597 pub location_id: String,
2598 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2600 pub session_id: Option<String>,
2601 #[serde(default, skip_serializing_if = "Option::is_none")]
2603 pub skip: Option<f64>,
2604 #[serde(default, skip_serializing_if = "Option::is_none")]
2606 pub limit: Option<f64>,
2607 #[serde(
2609 rename = "errorFilter",
2610 default,
2611 skip_serializing_if = "Option::is_none"
2612 )]
2613 pub error_filter: Option<bool>,
2614 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
2618 pub item_id: Option<String>,
2619}
2620
2621#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2623pub struct FetchQueueItemsMetaDTO {
2624 #[serde(default, skip_serializing_if = "Option::is_none")]
2626 pub count: Option<String>,
2627 #[serde(default, skip_serializing_if = "Option::is_none")]
2629 pub skip: Option<f64>,
2630 #[serde(default, skip_serializing_if = "Option::is_none")]
2632 pub limit: Option<f64>,
2633}
2634
2635#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2637pub struct FetchQueueItemsResponseDTO {
2638 #[serde(default, skip_serializing_if = "Option::is_none")]
2639 pub message: Option<String>,
2640 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2641 pub items: Vec<QueueItemDTO>,
2642 #[serde(default, skip_serializing_if = "Option::is_none")]
2643 pub meta: Option<FetchQueueItemsMetaDTO>,
2644}
2645
2646#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2648pub struct FetchSlotsDTO {
2649 #[serde(rename = "locationId")]
2652 pub location_id: String,
2653 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2655 pub session_id: Option<String>,
2656 #[serde(default, skip_serializing_if = "Option::is_none")]
2658 pub skip: Option<f64>,
2659 #[serde(default, skip_serializing_if = "Option::is_none")]
2661 pub limit: Option<f64>,
2662}
2663
2664#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2666pub struct FetchSlotsResponseDTO {
2667 #[serde(default, skip_serializing_if = "Option::is_none")]
2668 pub message: Option<String>,
2669 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2671 pub slots: Vec<UpdatedSlotInfoDTO>,
2672 #[serde(default, skip_serializing_if = "Option::is_none")]
2674 pub total: Option<f64>,
2675 #[serde(default, skip_serializing_if = "Option::is_none")]
2677 pub skip: Option<f64>,
2678 #[serde(default, skip_serializing_if = "Option::is_none")]
2680 pub limit: Option<f64>,
2681 #[serde(default, skip_serializing_if = "Option::is_none")]
2683 pub timezone: Option<String>,
2684}
2685
2686#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2688pub struct FormatedApprovalDetails {
2689 #[serde(default, skip_serializing_if = "Option::is_none")]
2692 pub approver: Option<String>,
2693 #[serde(
2696 rename = "requesterNote",
2697 default,
2698 skip_serializing_if = "Option::is_none"
2699 )]
2700 pub requester_note: Option<String>,
2701 #[serde(
2703 rename = "approverNote",
2704 default,
2705 skip_serializing_if = "Option::is_none"
2706 )]
2707 pub approver_note: Option<String>,
2708 #[serde(
2713 rename = "approvalStatus",
2714 default,
2715 skip_serializing_if = "Option::is_none"
2716 )]
2717 pub approval_status: Option<String>,
2718 #[serde(
2720 rename = "approverUser",
2721 default,
2722 skip_serializing_if = "Option::is_none"
2723 )]
2724 pub approver_user: Option<PostUserSchema>,
2725}
2726
2727#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2729pub struct GMBPostSchema {
2730 #[serde(rename = "gmbEventType")]
2738 pub gmb_event_type: String,
2739 #[serde(default, skip_serializing_if = "Option::is_none")]
2741 pub title: Option<String>,
2742 #[serde(
2744 rename = "offerTitle",
2745 default,
2746 skip_serializing_if = "Option::is_none"
2747 )]
2748 pub offer_title: Option<String>,
2749 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2753 pub start_date: Option<StartDateSchema>,
2754 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2758 pub end_date: Option<EndDateSchema>,
2759 #[serde(
2761 rename = "termsConditions",
2762 default,
2763 skip_serializing_if = "Option::is_none"
2764 )]
2765 pub terms_conditions: Option<String>,
2766 #[serde(default, skip_serializing_if = "Option::is_none")]
2769 pub url: Option<String>,
2770 #[serde(
2772 rename = "couponCode",
2773 default,
2774 skip_serializing_if = "Option::is_none"
2775 )]
2776 pub coupon_code: Option<String>,
2777 #[serde(
2779 rename = "redeemOnlineUrl",
2780 default,
2781 skip_serializing_if = "Option::is_none"
2782 )]
2783 pub redeem_online_url: Option<String>,
2784 #[serde(
2790 rename = "actionType",
2791 default,
2792 skip_serializing_if = "Option::is_none"
2793 )]
2794 pub action_type: Option<String>,
2795}
2796
2797#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2799pub struct GeneralSuccessResponseDTO {
2800 #[serde(default, skip_serializing_if = "Option::is_none")]
2802 pub message: Option<String>,
2803 #[serde(
2805 rename = "updatedSlots",
2806 default,
2807 skip_serializing_if = "Vec::is_empty"
2808 )]
2809 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
2810 #[serde(
2812 rename = "totalPostsChanged",
2813 default,
2814 skip_serializing_if = "Option::is_none"
2815 )]
2816 pub total_posts_changed: Option<f64>,
2817}
2818
2819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2821pub struct GetAccountSchema {
2822 #[serde(default, skip_serializing_if = "Option::is_none")]
2824 pub id: Option<String>,
2825 #[serde(rename = "oauthId", default, skip_serializing_if = "Option::is_none")]
2827 pub oauth_id: Option<String>,
2828 #[serde(rename = "profileId", default, skip_serializing_if = "Option::is_none")]
2830 pub profile_id: Option<String>,
2831 #[serde(default, skip_serializing_if = "Option::is_none")]
2833 pub name: Option<String>,
2834 #[serde(default, skip_serializing_if = "Option::is_none")]
2837 pub platform: Option<String>,
2838 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2840 pub type_: Option<String>,
2841 #[serde(default, skip_serializing_if = "Option::is_none")]
2843 pub expire: Option<String>,
2844 #[serde(rename = "isExpired", default, skip_serializing_if = "Option::is_none")]
2846 pub is_expired: Option<bool>,
2847 #[serde(default, skip_serializing_if = "Option::is_none")]
2849 pub meta: Option<serde_json::Value>,
2850}
2851
2852#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2854pub struct GetByIdResponseDTO {
2855 pub success: bool,
2858 #[serde(rename = "statusCode")]
2861 pub status_code: f64,
2862 pub message: String,
2865 #[serde(default, skip_serializing_if = "Option::is_none")]
2867 pub results: Option<GetCategorySchema>,
2868}
2869
2870#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2872pub struct GetByIdResponseSchema {
2873 #[serde(default, skip_serializing_if = "Option::is_none")]
2875 pub name: Option<String>,
2876 #[serde(
2878 rename = "primaryColor",
2879 default,
2880 skip_serializing_if = "Option::is_none"
2881 )]
2882 pub primary_color: Option<String>,
2883 #[serde(
2885 rename = "secondaryColor",
2886 default,
2887 skip_serializing_if = "Option::is_none"
2888 )]
2889 pub secondary_color: Option<String>,
2890 #[serde(
2892 rename = "locationId",
2893 default,
2894 skip_serializing_if = "Option::is_none"
2895 )]
2896 pub location_id: Option<String>,
2897 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2899 pub id: Option<String>,
2900 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2902 pub created_by: Option<String>,
2903 pub deleted: bool,
2906 #[serde(default, skip_serializing_if = "Option::is_none")]
2908 pub message: Option<String>,
2909 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2911 pub created_at: Option<String>,
2912 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2914 pub updated_at: Option<String>,
2915}
2916
2917#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2919pub struct GetByLocationIdResponseDTO {
2920 pub success: bool,
2923 #[serde(rename = "statusCode")]
2926 pub status_code: f64,
2927 pub message: String,
2930 #[serde(default, skip_serializing_if = "Option::is_none")]
2932 pub results: Option<GetByLocationIdResponseSchema>,
2933}
2934
2935#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2937pub struct GetByLocationIdResponseSchema {
2938 pub count: f64,
2941 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2944 pub categories: Vec<CategorySchema>,
2945}
2946
2947#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2949pub struct GetCategorySchema {
2950 #[serde(default, skip_serializing_if = "Option::is_none")]
2952 pub category: Option<GetByIdResponseSchema>,
2953}
2954
2955#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2957pub struct GetCsvPostResponseDTO {
2958 pub success: bool,
2961 #[serde(rename = "statusCode")]
2964 pub status_code: f64,
2965 pub message: String,
2968 #[serde(default, skip_serializing_if = "Option::is_none")]
2970 pub results: Option<GetCsvPostResponseSchema>,
2971}
2972
2973#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2975pub struct GetCsvPostResponseSchema {
2976 #[serde(default, skip_serializing_if = "Option::is_none")]
2978 pub csv: Option<CSVImportSchema>,
2979 #[serde(default, skip_serializing_if = "Option::is_none")]
2981 pub count: Option<f64>,
2982 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2984 pub posts: Vec<CSVPostSchema>,
2985}
2986
2987#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2989pub struct GetFacebookAccountsResponseDTO {
2990 pub success: bool,
2993 #[serde(rename = "statusCode")]
2996 pub status_code: f64,
2997 pub message: String,
3000 #[serde(default, skip_serializing_if = "Option::is_none")]
3002 pub results: Option<GetFacebookAccountsSchema>,
3003}
3004
3005#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3007pub struct GetFacebookAccountsSchema {
3008 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3010 pub pages: Vec<FacebookPageSchema>,
3011}
3012
3013#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3015pub struct GetGoogleLocationAccountSchema {
3016 #[serde(default, skip_serializing_if = "Option::is_none")]
3018 pub locations: Option<GetGoogleLocationSchema>,
3019}
3020
3021#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3023pub struct GetGoogleLocationResponseDTO {
3024 pub success: bool,
3027 #[serde(rename = "statusCode")]
3030 pub status_code: f64,
3031 pub message: String,
3034 #[serde(default, skip_serializing_if = "Option::is_none")]
3036 pub results: Option<GetGoogleLocationAccountSchema>,
3037}
3038
3039#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3041pub struct GetGoogleLocationSchema {
3042 #[serde(default, skip_serializing_if = "Option::is_none")]
3044 pub location: Option<GoogleLocationSchema>,
3045 #[serde(default, skip_serializing_if = "Option::is_none")]
3047 pub account: Option<GoogleAccountsSchema>,
3048}
3049
3050#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3052pub struct GetGroupSchema {
3053 pub id: String,
3056 pub name: String,
3059 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3062 pub account_ids: Vec<String>,
3063}
3064
3065#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3067pub struct GetInstagramAccountsResponseDTO {
3068 pub success: bool,
3071 #[serde(rename = "statusCode")]
3074 pub status_code: f64,
3075 pub message: String,
3078 #[serde(default, skip_serializing_if = "Option::is_none")]
3080 pub results: Option<GetInstagramAccountsSchema>,
3081}
3082
3083#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3085pub struct GetInstagramAccountsSchema {
3086 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3088 pub accounts: Vec<InstagramAccountSchema>,
3089}
3090
3091#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3093pub struct GetLinkedInAccountSchema {
3094 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3096 pub pages: Vec<LinkedInPageSchema>,
3097 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3099 pub profile: Vec<LinkedInProfileSchema>,
3100}
3101
3102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3104pub struct GetLinkedInAccountsResponseDTO {
3105 pub success: bool,
3108 #[serde(rename = "statusCode")]
3111 pub status_code: f64,
3112 pub message: String,
3115 #[serde(default, skip_serializing_if = "Option::is_none")]
3117 pub results: Option<GetLinkedInAccountSchema>,
3118}
3119
3120#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3122pub struct GetModifiedPayloadFormattedSchema {
3123 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3125 pub id: Option<String>,
3126 #[serde(default, skip_serializing_if = "Option::is_none")]
3130 pub source: Option<String>,
3131 #[serde(rename = "locationId")]
3134 pub location_id: String,
3135 #[serde(
3138 rename = "displayDate",
3139 default,
3140 skip_serializing_if = "Option::is_none"
3141 )]
3142 pub display_date: Option<String>,
3143 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3146 pub created_at: Option<String>,
3147 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3150 pub updated_at: Option<String>,
3151 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3153 pub account_id: Option<String>,
3154 pub error: String,
3157 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3159 pub post_id: Option<String>,
3160 #[serde(
3162 rename = "publishedAt",
3163 default,
3164 skip_serializing_if = "Option::is_none"
3165 )]
3166 pub published_at: Option<String>,
3167 #[serde(default, skip_serializing_if = "Option::is_none")]
3174 pub thumbnail: Option<String>,
3175 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3177 pub account_ids: Vec<String>,
3178 #[serde(default, skip_serializing_if = "Option::is_none")]
3180 pub summary: Option<String>,
3181 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3184 pub media: Vec<PostMediaSchema>,
3185 #[serde(default, skip_serializing_if = "Option::is_none")]
3188 pub status: Option<serde_json::Value>,
3189 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3191 pub created_by: Option<String>,
3192 #[serde(rename = "type")]
3195 pub type_: serde_json::Value,
3196 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3198 pub tags: Vec<String>,
3199 #[serde(
3201 rename = "ogTagsDetails",
3202 default,
3203 skip_serializing_if = "Option::is_none"
3204 )]
3205 pub og_tags_details: Option<OgTagsSchema>,
3206 #[serde(
3208 rename = "postApprovalDetails",
3209 default,
3210 skip_serializing_if = "Option::is_none"
3211 )]
3212 pub post_approval_details: Option<FormatedApprovalDetails>,
3213 #[serde(
3215 rename = "tiktokPostDetails",
3216 default,
3217 skip_serializing_if = "Option::is_none"
3218 )]
3219 pub tiktok_post_details: Option<TiktokPostSchema>,
3220 #[serde(
3222 rename = "gmbPostDetails",
3223 default,
3224 skip_serializing_if = "Option::is_none"
3225 )]
3226 pub gmb_post_details: Option<GMBPostSchema>,
3227 #[serde(default, skip_serializing_if = "Option::is_none")]
3229 pub user: Option<PostUserSchema>,
3230 #[serde(
3232 rename = "linkedinPostDetails",
3233 default,
3234 skip_serializing_if = "Option::is_none"
3235 )]
3236 pub linkedin_post_details: Option<LinkedinPostSchema>,
3237 #[serde(
3239 rename = "pinterestPostDetails",
3240 default,
3241 skip_serializing_if = "Option::is_none"
3242 )]
3243 pub pinterest_post_details: Option<PinterestPostSchema>,
3244 #[serde(
3246 rename = "facebookPostDetails",
3247 default,
3248 skip_serializing_if = "Option::is_none"
3249 )]
3250 pub facebook_post_details: Option<FacebookPostSchema>,
3251 #[serde(
3253 rename = "instagramPostDetails",
3254 default,
3255 skip_serializing_if = "Option::is_none"
3256 )]
3257 pub instagram_post_details: Option<InstagramPostSchema>,
3258 #[serde(
3260 rename = "youtubePostDetails",
3261 default,
3262 skip_serializing_if = "Option::is_none"
3263 )]
3264 pub youtube_post_details: Option<YoutubePostSchema>,
3265 #[serde(
3267 rename = "mediaOptimization",
3268 default,
3269 skip_serializing_if = "Option::is_none"
3270 )]
3271 pub media_optimization: Option<bool>,
3272}
3273
3274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3276pub struct GetPinterestAccountSchema {
3277 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3279 pub profile: Vec<PinterestProfileSchema>,
3280}
3281
3282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3284pub struct GetPinterestAccountsResponseDTO {
3285 pub success: bool,
3288 #[serde(rename = "statusCode")]
3291 pub status_code: f64,
3292 pub message: String,
3295 #[serde(default, skip_serializing_if = "Option::is_none")]
3297 pub results: Option<GetPinterestAccountSchema>,
3298}
3299
3300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3302pub struct GetPostFormattedSchema {
3303 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3305 pub id: Option<String>,
3306 #[serde(default, skip_serializing_if = "Option::is_none")]
3309 pub source: Option<String>,
3310 #[serde(rename = "locationId")]
3313 pub location_id: String,
3314 #[serde(default, skip_serializing_if = "Option::is_none")]
3317 pub platform: Option<String>,
3318 #[serde(default, skip_serializing_if = "Option::is_none")]
3325 pub thumbnail: Option<String>,
3326 #[serde(
3329 rename = "displayDate",
3330 default,
3331 skip_serializing_if = "Option::is_none"
3332 )]
3333 pub display_date: Option<String>,
3334 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3337 pub created_at: Option<String>,
3338 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3341 pub updated_at: Option<String>,
3342 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3344 pub account_id: Option<String>,
3345 pub error: String,
3348 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3350 pub post_id: Option<String>,
3351 #[serde(
3353 rename = "publishedAt",
3354 default,
3355 skip_serializing_if = "Option::is_none"
3356 )]
3357 pub published_at: Option<String>,
3358 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3360 pub account_ids: Vec<String>,
3361 #[serde(default, skip_serializing_if = "Option::is_none")]
3363 pub summary: Option<String>,
3364 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3367 pub media: Vec<PostMediaSchema>,
3368 #[serde(default, skip_serializing_if = "Option::is_none")]
3371 pub status: Option<serde_json::Value>,
3372 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3374 pub created_by: Option<String>,
3375 #[serde(rename = "type")]
3378 pub type_: serde_json::Value,
3379 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3381 pub tags: Vec<String>,
3382 #[serde(
3384 rename = "ogTagsDetails",
3385 default,
3386 skip_serializing_if = "Option::is_none"
3387 )]
3388 pub og_tags_details: Option<OgTagsSchema>,
3389 #[serde(
3391 rename = "postApprovalDetails",
3392 default,
3393 skip_serializing_if = "Option::is_none"
3394 )]
3395 pub post_approval_details: Option<FormatedApprovalDetails>,
3396 #[serde(
3398 rename = "tiktokPostDetails",
3399 default,
3400 skip_serializing_if = "Option::is_none"
3401 )]
3402 pub tiktok_post_details: Option<TiktokPostSchema>,
3403 #[serde(
3405 rename = "gmbPostDetails",
3406 default,
3407 skip_serializing_if = "Option::is_none"
3408 )]
3409 pub gmb_post_details: Option<GMBPostSchema>,
3410 #[serde(
3412 rename = "blueskyPostDetails",
3413 default,
3414 skip_serializing_if = "Option::is_none"
3415 )]
3416 pub bluesky_post_details: Option<BlueskyPostSchema>,
3417 #[serde(default, skip_serializing_if = "Option::is_none")]
3419 pub user: Option<PostUserSchema>,
3420 #[serde(
3422 rename = "linkedinPostDetails",
3423 default,
3424 skip_serializing_if = "Option::is_none"
3425 )]
3426 pub linkedin_post_details: Option<LinkedinPostSchema>,
3427 #[serde(
3429 rename = "pinterestPostDetails",
3430 default,
3431 skip_serializing_if = "Option::is_none"
3432 )]
3433 pub pinterest_post_details: Option<PinterestPostSchema>,
3434 #[serde(
3436 rename = "facebookPostDetails",
3437 default,
3438 skip_serializing_if = "Option::is_none"
3439 )]
3440 pub facebook_post_details: Option<FacebookPostSchema>,
3441 #[serde(
3443 rename = "instagramPostDetails",
3444 default,
3445 skip_serializing_if = "Option::is_none"
3446 )]
3447 pub instagram_post_details: Option<InstagramPostSchema>,
3448 #[serde(
3450 rename = "youtubePostDetails",
3451 default,
3452 skip_serializing_if = "Option::is_none"
3453 )]
3454 pub youtube_post_details: Option<YoutubePostSchema>,
3455 #[serde(
3457 rename = "mediaOptimization",
3458 default,
3459 skip_serializing_if = "Option::is_none"
3460 )]
3461 pub media_optimization: Option<bool>,
3462 #[serde(default, skip_serializing_if = "Option::is_none")]
3467 pub insights: Option<PostInsightsSchema>,
3468}
3469
3470#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3472pub struct GetPostSuccessfulResponseDTO {
3473 pub success: bool,
3476 #[serde(rename = "statusCode")]
3479 pub status_code: f64,
3480 pub message: String,
3483 #[serde(default, skip_serializing_if = "Option::is_none")]
3485 pub results: Option<GetPostSuccessfulResponseSchema>,
3486}
3487
3488#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3490pub struct GetPostSuccessfulResponseSchema {
3491 #[serde(default, skip_serializing_if = "Option::is_none")]
3493 pub post: Option<GetPostFormattedSchema>,
3494}
3495
3496#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3498pub struct GetTagsByIdResponseDTO {
3499 pub success: bool,
3502 #[serde(rename = "statusCode")]
3505 pub status_code: f64,
3506 pub message: String,
3509 #[serde(default, skip_serializing_if = "Option::is_none")]
3511 pub results: Option<GetTagsByIdResponseSchema>,
3512}
3513
3514#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3516pub struct GetTagsByIdResponseSchema {
3517 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3520 pub tags: Vec<SocialMediaTagSchema>,
3521 #[serde(default, skip_serializing_if = "Option::is_none")]
3523 pub count: Option<f64>,
3524}
3525
3526#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3528pub struct GetTagsByLocationIdResponseDTO {
3529 pub success: bool,
3532 #[serde(rename = "statusCode")]
3535 pub status_code: f64,
3536 pub message: String,
3539 #[serde(default, skip_serializing_if = "Option::is_none")]
3541 pub results: Option<GetTagsByLocationIdResponseSchema>,
3542}
3543
3544#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3546pub struct GetTagsByLocationIdResponseSchema {
3547 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3549 pub tags: Vec<SocialMediaTagSchema>,
3550 #[serde(default, skip_serializing_if = "Option::is_none")]
3552 pub count: Option<f64>,
3553}
3554
3555#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3557pub struct GetTiktokAccountResponseDTO {
3558 pub success: bool,
3561 #[serde(rename = "statusCode")]
3564 pub status_code: f64,
3565 pub message: String,
3568 #[serde(default, skip_serializing_if = "Option::is_none")]
3570 pub results: Option<GetTiktokAccountSchema>,
3571}
3572
3573#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3575pub struct GetTiktokAccountSchema {
3576 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3578 pub profile: Vec<TiktokProfileSchema>,
3579}
3580
3581#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3583pub struct GetTiktokBusinessAccountResponseDTO {
3584 pub success: bool,
3587 #[serde(rename = "statusCode")]
3590 pub status_code: f64,
3591 pub message: String,
3594 #[serde(default, skip_serializing_if = "Option::is_none")]
3596 pub results: Option<GetTiktokBusinessAccountSchema>,
3597}
3598
3599#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3601pub struct GetTiktokBusinessAccountSchema {
3602 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3604 pub profile: Vec<TiktokProfileSchema>,
3605}
3606
3607#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3609pub struct GetTwitterAccountsResponseDTO {
3610 pub success: bool,
3613 #[serde(rename = "statusCode")]
3616 pub status_code: f64,
3617 pub message: String,
3620 #[serde(default, skip_serializing_if = "Option::is_none")]
3622 pub results: Option<GetTwitterAccountsSchema>,
3623}
3624
3625#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3627pub struct GetTwitterAccountsSchema {
3628 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3630 pub profile: Vec<TwitterProfileSchema>,
3631}
3632
3633#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3635pub struct GetUploadStatusResponseDTO {
3636 pub success: bool,
3639 #[serde(rename = "statusCode")]
3642 pub status_code: f64,
3643 pub message: String,
3646 #[serde(default, skip_serializing_if = "Option::is_none")]
3648 pub results: Option<GetUploadStatusResponseSchema>,
3649}
3650
3651#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3653pub struct GetUploadStatusResponseSchema {
3654 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3657 pub csvs: Vec<CSVImportSchema>,
3658 pub count: f64,
3661}
3662
3663#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3665pub struct GetYouTubeAccountsResponseDTO {
3666 pub success: bool,
3669 #[serde(rename = "statusCode")]
3672 pub status_code: f64,
3673 pub message: String,
3676 #[serde(default, skip_serializing_if = "Option::is_none")]
3678 pub results: Option<GetYoutubeAccountSchema>,
3679}
3680
3681#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3683pub struct GetYoutubeAccountSchema {
3684 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3686 pub profile: Vec<YoutubeProfileSchema>,
3687}
3688
3689#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3691pub struct GoogleAccountsSchema {
3692 #[serde(default, skip_serializing_if = "Option::is_none")]
3694 pub name: Option<String>,
3695 #[serde(
3697 rename = "accountName",
3698 default,
3699 skip_serializing_if = "Option::is_none"
3700 )]
3701 pub account_name: Option<String>,
3702 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
3704 pub type_: Option<String>,
3705 #[serde(
3707 rename = "verificationState",
3708 default,
3709 skip_serializing_if = "Option::is_none"
3710 )]
3711 pub verification_state: Option<String>,
3712 #[serde(
3714 rename = "vettedState",
3715 default,
3716 skip_serializing_if = "Option::is_none"
3717 )]
3718 pub vetted_state: Option<String>,
3719}
3720
3721#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3723pub struct GoogleLocationSchema {
3724 #[serde(default, skip_serializing_if = "Option::is_none")]
3726 pub name: Option<String>,
3727 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
3729 pub store_code: Option<String>,
3730 #[serde(default, skip_serializing_if = "Option::is_none")]
3732 pub title: Option<String>,
3733 #[serde(default, skip_serializing_if = "Option::is_none")]
3735 pub metadata: Option<serde_json::Value>,
3736 #[serde(
3738 rename = "storefrontAddress",
3739 default,
3740 skip_serializing_if = "Option::is_none"
3741 )]
3742 pub storefront_address: Option<serde_json::Value>,
3743 #[serde(
3745 rename = "relationshipData",
3746 default,
3747 skip_serializing_if = "Option::is_none"
3748 )]
3749 pub relationship_data: Option<serde_json::Value>,
3750 #[serde(
3752 rename = "maxLocation",
3753 default,
3754 skip_serializing_if = "Option::is_none"
3755 )]
3756 pub max_location: Option<bool>,
3757 #[serde(
3759 rename = "isVerified",
3760 default,
3761 skip_serializing_if = "Option::is_none"
3762 )]
3763 pub is_verified: Option<bool>,
3764 #[serde(
3766 rename = "isConnected",
3767 default,
3768 skip_serializing_if = "Option::is_none"
3769 )]
3770 pub is_connected: Option<bool>,
3771}
3772
3773#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3775pub struct IOgTagsSchema {
3776 #[serde(default, skip_serializing_if = "Option::is_none")]
3778 pub url: Option<String>,
3779 #[serde(
3781 rename = "ogDescription",
3782 default,
3783 skip_serializing_if = "Option::is_none"
3784 )]
3785 pub og_description: Option<String>,
3786 #[serde(rename = "ogImage", default, skip_serializing_if = "Option::is_none")]
3788 pub og_image: Option<OgImageSchema>,
3789 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
3791 pub og_title: Option<String>,
3792 #[serde(rename = "ogUrl", default, skip_serializing_if = "Option::is_none")]
3794 pub og_url: Option<String>,
3795 #[serde(
3797 rename = "ogSiteName",
3798 default,
3799 skip_serializing_if = "Option::is_none"
3800 )]
3801 pub og_site_name: Option<String>,
3802 #[serde(default, skip_serializing_if = "Option::is_none")]
3804 pub error: Option<String>,
3805}
3806
3807#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3809pub struct InstagramAccountSchema {
3810 #[serde(default, skip_serializing_if = "Option::is_none")]
3812 pub id: Option<String>,
3813 #[serde(default, skip_serializing_if = "Option::is_none")]
3815 pub name: Option<String>,
3816 #[serde(default, skip_serializing_if = "Option::is_none")]
3818 pub avatar: Option<String>,
3819 #[serde(rename = "pageId", default, skip_serializing_if = "Option::is_none")]
3821 pub page_id: Option<String>,
3822 #[serde(
3824 rename = "isConnected",
3825 default,
3826 skip_serializing_if = "Option::is_none"
3827 )]
3828 pub is_connected: Option<bool>,
3829}
3830
3831#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3833pub struct InstagramPostSchema {
3834 #[serde(rename = "type")]
3841 pub type_: String,
3842 #[serde(default, skip_serializing_if = "Option::is_none")]
3845 pub collaborators: Option<serde_json::Value>,
3846 #[serde(
3849 rename = "showOnFeed",
3850 default,
3851 skip_serializing_if = "Option::is_none"
3852 )]
3853 pub show_on_feed: Option<bool>,
3854 #[serde(
3857 rename = "publishViaPushNotification",
3858 default,
3859 skip_serializing_if = "Option::is_none"
3860 )]
3861 pub publish_via_push_notification: Option<bool>,
3862 #[serde(
3865 rename = "publisherNote",
3866 default,
3867 skip_serializing_if = "Option::is_none"
3868 )]
3869 pub publisher_note: Option<String>,
3870}
3871
3872#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3874pub struct LinkedInPageSchema {
3875 #[serde(default, skip_serializing_if = "Option::is_none")]
3877 pub id: Option<String>,
3878 #[serde(default, skip_serializing_if = "Option::is_none")]
3880 pub name: Option<String>,
3881 #[serde(default, skip_serializing_if = "Option::is_none")]
3883 pub avatar: Option<String>,
3884 #[serde(default, skip_serializing_if = "Option::is_none")]
3886 pub urn: Option<String>,
3887 #[serde(
3889 rename = "isConnected",
3890 default,
3891 skip_serializing_if = "Option::is_none"
3892 )]
3893 pub is_connected: Option<bool>,
3894}
3895
3896#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3898pub struct LinkedInProfileSchema {
3899 #[serde(default, skip_serializing_if = "Option::is_none")]
3901 pub id: Option<String>,
3902 #[serde(default, skip_serializing_if = "Option::is_none")]
3904 pub name: Option<String>,
3905 #[serde(default, skip_serializing_if = "Option::is_none")]
3907 pub avatar: Option<String>,
3908 #[serde(default, skip_serializing_if = "Option::is_none")]
3910 pub urn: Option<String>,
3911 #[serde(
3913 rename = "isConnected",
3914 default,
3915 skip_serializing_if = "Option::is_none"
3916 )]
3917 pub is_connected: Option<bool>,
3918}
3919
3920#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3922pub struct LinkedinPollDto {
3923 pub question: String,
3926 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3930 pub options: Vec<LinkedinPollOptionDto>,
3931 pub settings: LinkedinPollSettingsDto,
3934}
3935
3936#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3938pub struct LinkedinPollOptionDto {
3939 pub text: String,
3942}
3943
3944#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3946pub struct LinkedinPollSettingsDto {
3947 pub duration: String,
3951}
3952
3953#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3955pub struct LinkedinPostSchema {
3956 #[serde(rename = "pdfTitle")]
3961 pub pdf_title: String,
3962 #[serde(rename = "postAsPdf")]
3966 pub post_as_pdf: bool,
3967 #[serde(default, skip_serializing_if = "Option::is_none")]
3973 pub poll: Option<LinkedinPollDto>,
3974}
3975
3976#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3978pub struct LocationAndAccountDeleteResponseDTO {
3979 pub success: bool,
3982 #[serde(rename = "statusCode")]
3985 pub status_code: f64,
3986 pub message: String,
3989 #[serde(default, skip_serializing_if = "Option::is_none")]
3991 pub results: Option<DeleteAccountResponseSchema>,
3992}
3993
3994#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3996pub struct MentionsDTO {
3997 pub name: String,
4000 pub id: String,
4003 pub offset: f64,
4006 pub length: f64,
4009 #[serde(default, skip_serializing_if = "Option::is_none")]
4011 pub slug: Option<String>,
4012}
4013
4014#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4016pub struct MetaDTO {
4017 #[serde(default, skip_serializing_if = "Option::is_none")]
4019 pub count: Option<String>,
4020}
4021
4022#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4024pub struct OgImageSchema {
4025 #[serde(default, skip_serializing_if = "Option::is_none")]
4027 pub url: Option<String>,
4028 #[serde(default, skip_serializing_if = "Option::is_none")]
4030 pub width: Option<f64>,
4031 #[serde(default, skip_serializing_if = "Option::is_none")]
4033 pub height: Option<f64>,
4034 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4036 pub type_: Option<String>,
4037}
4038
4039#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4041pub struct OgTagsDTO {
4042 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4044 pub meta_link: Option<serde_json::Value>,
4045 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4047 pub meta_image: Option<serde_json::Value>,
4048 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4050 pub og_title: Option<serde_json::Value>,
4051}
4052
4053#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4055pub struct OgTagsInputDTO {
4056 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4058 pub meta_link: Option<serde_json::Value>,
4059 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4061 pub meta_image: Option<serde_json::Value>,
4062 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4064 pub og_title: Option<serde_json::Value>,
4065}
4066
4067#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4069pub struct OgTagsSchema {
4070 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4074 pub meta_image: Option<String>,
4075 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4078 pub meta_link: Option<String>,
4079 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4082 pub og_title: Option<String>,
4083 #[serde(
4086 rename = "ogDescription",
4087 default,
4088 skip_serializing_if = "Option::is_none"
4089 )]
4090 pub og_description: Option<String>,
4091}
4092
4093#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4097pub struct PinterestBoardSelection {
4098 #[serde(rename = "accountId")]
4102 pub account_id: String,
4103 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4107 pub boards: Vec<String>,
4108}
4109
4110#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4112pub struct PinterestOAuthAccountSchema {
4113 #[serde(flatten)]
4115 pub extra: serde_json::Map<String, serde_json::Value>,
4116}
4117
4118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4120pub struct PinterestPostSchema {
4121 #[serde(default, skip_serializing_if = "Option::is_none")]
4124 pub title: Option<String>,
4125 #[serde(default, skip_serializing_if = "Option::is_none")]
4129 pub link: Option<String>,
4130 #[serde(rename = "boardIds", default, skip_serializing_if = "Option::is_none")]
4134 pub board_ids: Option<serde_json::Value>,
4135 #[serde(
4140 rename = "pinterestBoards",
4141 default,
4142 skip_serializing_if = "Vec::is_empty"
4143 )]
4144 pub pinterest_boards: Vec<PinterestBoardSelection>,
4145 #[serde(
4147 rename = "shortenedLinks",
4148 default,
4149 skip_serializing_if = "Vec::is_empty"
4150 )]
4151 pub shortened_links: Vec<String>,
4152}
4153
4154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4156pub struct PinterestProfileSchema {
4157 #[serde(default, skip_serializing_if = "Option::is_none")]
4159 pub id: Option<String>,
4160 #[serde(default, skip_serializing_if = "Option::is_none")]
4162 pub name: Option<String>,
4163 #[serde(default, skip_serializing_if = "Option::is_none")]
4165 pub username: Option<String>,
4166 #[serde(default, skip_serializing_if = "Option::is_none")]
4168 pub avatar: Option<String>,
4169 #[serde(
4171 rename = "isConnected",
4172 default,
4173 skip_serializing_if = "Option::is_none"
4174 )]
4175 pub is_connected: Option<bool>,
4176 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4178 pub type_: Option<String>,
4179 #[serde(
4181 rename = "websiteUrl",
4182 default,
4183 skip_serializing_if = "Option::is_none"
4184 )]
4185 pub website_url: Option<String>,
4186}
4187
4188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4190pub struct PostApprovalSchema {
4191 #[serde(default, skip_serializing_if = "Option::is_none")]
4194 pub approver: Option<String>,
4195 #[serde(
4198 rename = "requesterNote",
4199 default,
4200 skip_serializing_if = "Option::is_none"
4201 )]
4202 pub requester_note: Option<String>,
4203 #[serde(
4205 rename = "approverNote",
4206 default,
4207 skip_serializing_if = "Option::is_none"
4208 )]
4209 pub approver_note: Option<String>,
4210 #[serde(
4215 rename = "approvalStatus",
4216 default,
4217 skip_serializing_if = "Option::is_none"
4218 )]
4219 pub approval_status: Option<String>,
4220}
4221
4222#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4224pub struct PostCreateRequest {
4225 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4227 pub account_ids: Vec<String>,
4228 #[serde(default, skip_serializing_if = "Option::is_none")]
4231 pub summary: Option<String>,
4232 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4235 pub media: Vec<PostMediaSchema>,
4236 #[serde(default, skip_serializing_if = "Option::is_none")]
4239 pub status: Option<serde_json::Value>,
4240 #[serde(
4242 rename = "scheduleDate",
4243 default,
4244 skip_serializing_if = "Option::is_none"
4245 )]
4246 pub schedule_date: Option<String>,
4247 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
4251 pub created_by: Option<String>,
4252 #[serde(
4259 rename = "followUpComment",
4260 default,
4261 skip_serializing_if = "Option::is_none"
4262 )]
4263 pub follow_up_comment: Option<String>,
4264 #[serde(
4266 rename = "ogTagsDetails",
4267 default,
4268 skip_serializing_if = "Option::is_none"
4269 )]
4270 pub og_tags_details: Option<OgTagsSchema>,
4271 #[serde(rename = "type")]
4274 pub type_: serde_json::Value,
4275 #[serde(
4277 rename = "postApprovalDetails",
4278 default,
4279 skip_serializing_if = "Option::is_none"
4280 )]
4281 pub post_approval_details: Option<PostApprovalSchema>,
4282 #[serde(
4284 rename = "scheduleTimeUpdated",
4285 default,
4286 skip_serializing_if = "Option::is_none"
4287 )]
4288 pub schedule_time_updated: Option<bool>,
4289 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4291 pub tags: Vec<String>,
4292 #[serde(
4294 rename = "categoryId",
4295 default,
4296 skip_serializing_if = "Option::is_none"
4297 )]
4298 pub category_id: Option<String>,
4299 #[serde(
4301 rename = "tiktokPostDetails",
4302 default,
4303 skip_serializing_if = "Option::is_none"
4304 )]
4305 pub tiktok_post_details: Option<TiktokPostSchema>,
4306 #[serde(
4308 rename = "gmbPostDetails",
4309 default,
4310 skip_serializing_if = "Option::is_none"
4311 )]
4312 pub gmb_post_details: Option<GMBPostSchema>,
4313 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
4315 pub user_id: Option<String>,
4316}
4317
4318#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4320pub struct PostInsightsSchema {
4321 #[serde(default, skip_serializing_if = "Option::is_none")]
4323 pub like: Option<f64>,
4324 #[serde(default, skip_serializing_if = "Option::is_none")]
4326 pub share: Option<f64>,
4327 #[serde(default, skip_serializing_if = "Option::is_none")]
4329 pub comment: Option<f64>,
4330}
4331
4332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4334pub struct PostMediaSchema {
4335 pub url: String,
4338 #[serde(default, skip_serializing_if = "Option::is_none")]
4340 pub caption: Option<String>,
4341 #[serde(
4344 rename = "originalUrl",
4345 default,
4346 skip_serializing_if = "Option::is_none"
4347 )]
4348 pub original_url: Option<String>,
4349 #[serde(
4351 rename = "watermarkedUrl",
4352 default,
4353 skip_serializing_if = "Option::is_none"
4354 )]
4355 pub watermarked_url: Option<String>,
4356 #[serde(rename = "type")]
4362 pub type_: String,
4363 #[serde(default, skip_serializing_if = "Option::is_none")]
4375 pub thumbnail: Option<String>,
4376 #[serde(default, skip_serializing_if = "Option::is_none")]
4378 pub id: Option<String>,
4379 #[serde(
4382 rename = "optimizedUrl",
4383 default,
4384 skip_serializing_if = "Option::is_none"
4385 )]
4386 pub optimized_url: Option<String>,
4387 #[serde(
4390 rename = "optimizedType",
4391 default,
4392 skip_serializing_if = "Option::is_none"
4393 )]
4394 pub optimized_type: Option<String>,
4395 #[serde(
4397 rename = "isModified",
4398 default,
4399 skip_serializing_if = "Option::is_none"
4400 )]
4401 pub is_modified: Option<bool>,
4402 #[serde(rename = "altText", default, skip_serializing_if = "Option::is_none")]
4406 pub alt_text: Option<String>,
4407}
4408
4409#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4411pub struct PostSuccessfulResponseDTO {
4412 pub success: bool,
4415 #[serde(rename = "statusCode")]
4418 pub status_code: f64,
4419 pub message: String,
4422 #[serde(default, skip_serializing_if = "Option::is_none")]
4424 pub results: Option<PostSuccessfulResponseSchema>,
4425}
4426
4427#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4429pub struct PostSuccessfulResponseSchema {
4430 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4432 pub posts: Vec<GetPostFormattedSchema>,
4433 #[serde(default, skip_serializing_if = "Option::is_none")]
4435 pub count: Option<f64>,
4436}
4437
4438#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4440pub struct PostUserSchema {
4441 pub id: String,
4444 pub title: String,
4447 #[serde(rename = "firstName")]
4450 pub first_name: String,
4451 #[serde(rename = "lastName")]
4454 pub last_name: String,
4455 #[serde(rename = "profilePhoto")]
4458 pub profile_photo: String,
4459 pub phone: String,
4462 pub email: String,
4465}
4466
4467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4469pub struct QueueItemDTO {
4470 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4472 pub id: Option<String>,
4473 #[serde(default, skip_serializing_if = "Option::is_none")]
4475 pub order: Option<f64>,
4476 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4478 pub variations: Vec<VariationDTO>,
4479 #[serde(
4481 rename = "primaryImage",
4482 default,
4483 skip_serializing_if = "Option::is_none"
4484 )]
4485 pub primary_image: Option<String>,
4486 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4488 pub post_id: Option<String>,
4489 #[serde(default, skip_serializing_if = "Option::is_none")]
4491 pub post: Option<GetPostFormattedSchema>,
4492 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4495 pub errors: Vec<String>,
4496 #[serde(
4499 rename = "scheduledDateTime",
4500 default,
4501 skip_serializing_if = "Option::is_none"
4502 )]
4503 pub scheduled_date_time: Option<String>,
4504 #[serde(
4506 rename = "scheduledVariationIndex",
4507 default,
4508 skip_serializing_if = "Option::is_none"
4509 )]
4510 pub scheduled_variation_index: Option<f64>,
4511 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4513 pub is_skipped: Option<bool>,
4514}
4515
4516#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4518pub struct QueueItemWithVariationsDTO {
4519 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4521 pub id: Option<String>,
4522 #[serde(default, skip_serializing_if = "Option::is_none")]
4524 pub order: Option<f64>,
4525 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4527 pub variations: Vec<VariationDTO>,
4528 #[serde(
4530 rename = "primaryImage",
4531 default,
4532 skip_serializing_if = "Option::is_none"
4533 )]
4534 pub primary_image: Option<String>,
4535 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4537 pub post_id: Option<String>,
4538 #[serde(default, skip_serializing_if = "Option::is_none")]
4540 pub post: Option<GetPostFormattedSchema>,
4541 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4544 pub errors: Vec<String>,
4545 #[serde(
4548 rename = "scheduledDateTime",
4549 default,
4550 skip_serializing_if = "Option::is_none"
4551 )]
4552 pub scheduled_date_time: Option<String>,
4553 #[serde(
4555 rename = "scheduledVariationIndex",
4556 default,
4557 skip_serializing_if = "Option::is_none"
4558 )]
4559 pub scheduled_variation_index: Option<f64>,
4560 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4562 pub is_skipped: Option<bool>,
4563 #[serde(
4565 rename = "currentVariation",
4566 default,
4567 skip_serializing_if = "Option::is_none"
4568 )]
4569 pub current_variation: Option<f64>,
4570}
4571
4572#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4574pub struct QueueModifiedPostDTO {
4575 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4577 pub account_ids: Vec<String>,
4578 #[serde(default, skip_serializing_if = "Option::is_none")]
4580 pub summary: Option<String>,
4581 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4583 pub media: Vec<PostMediaSchema>,
4584 #[serde(default, skip_serializing_if = "Option::is_none")]
4595 pub status: Option<serde_json::Value>,
4596 #[serde(
4598 rename = "scheduleDate",
4599 default,
4600 skip_serializing_if = "Option::is_none"
4601 )]
4602 pub schedule_date: Option<String>,
4603 #[serde(
4605 rename = "selectedBestTime",
4606 default,
4607 skip_serializing_if = "Option::is_none"
4608 )]
4609 pub selected_best_time: Option<String>,
4610 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
4612 pub created_by: Option<String>,
4613 #[serde(
4620 rename = "followUpComment",
4621 default,
4622 skip_serializing_if = "Option::is_none"
4623 )]
4624 pub follow_up_comment: Option<String>,
4625 #[serde(
4627 rename = "ogTagsDetails",
4628 default,
4629 skip_serializing_if = "Option::is_none"
4630 )]
4631 pub og_tags_details: Option<OgTagsSchema>,
4632 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4634 pub type_: Option<serde_json::Value>,
4635 #[serde(
4637 rename = "postApprovalDetails",
4638 default,
4639 skip_serializing_if = "Option::is_none"
4640 )]
4641 pub post_approval_details: Option<PostApprovalSchema>,
4642 #[serde(
4645 rename = "scheduleTimeUpdated",
4646 default,
4647 skip_serializing_if = "Option::is_none"
4648 )]
4649 pub schedule_time_updated: Option<bool>,
4650 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4654 pub tags: Vec<String>,
4655 #[serde(
4659 rename = "categoryId",
4660 default,
4661 skip_serializing_if = "Option::is_none"
4662 )]
4663 pub category_id: Option<String>,
4664 #[serde(
4667 rename = "applyWatermark",
4668 default,
4669 skip_serializing_if = "Option::is_none"
4670 )]
4671 pub apply_watermark: Option<bool>,
4672 #[serde(
4674 rename = "tiktokPostDetails",
4675 default,
4676 skip_serializing_if = "Option::is_none"
4677 )]
4678 pub tiktok_post_details: Option<TiktokPostSchema>,
4679 #[serde(
4681 rename = "gmbPostDetails",
4682 default,
4683 skip_serializing_if = "Option::is_none"
4684 )]
4685 pub gmb_post_details: Option<GMBPostSchema>,
4686 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
4688 pub user_id: Option<String>,
4689 #[serde(
4691 rename = "linkedinPostDetails",
4692 default,
4693 skip_serializing_if = "Option::is_none"
4694 )]
4695 pub linkedin_post_details: Option<LinkedinPostSchema>,
4696 #[serde(
4698 rename = "pinterestPostDetails",
4699 default,
4700 skip_serializing_if = "Option::is_none"
4701 )]
4702 pub pinterest_post_details: Option<PinterestPostSchema>,
4703 #[serde(
4705 rename = "facebookPostDetails",
4706 default,
4707 skip_serializing_if = "Option::is_none"
4708 )]
4709 pub facebook_post_details: Option<FacebookPostSchema>,
4710 #[serde(
4712 rename = "instagramPostDetails",
4713 default,
4714 skip_serializing_if = "Option::is_none"
4715 )]
4716 pub instagram_post_details: Option<InstagramPostSchema>,
4717 #[serde(
4719 rename = "youtubePostDetails",
4720 default,
4721 skip_serializing_if = "Option::is_none"
4722 )]
4723 pub youtube_post_details: Option<YoutubePostSchema>,
4724 #[serde(
4726 rename = "locationId",
4727 default,
4728 skip_serializing_if = "Option::is_none"
4729 )]
4730 pub location_id: Option<String>,
4731}
4732
4733#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4735pub struct ResetQueueItemDTO {
4736 #[serde(rename = "locationId")]
4739 pub location_id: String,
4740 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
4742 pub session_id: Option<String>,
4743}
4744
4745#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4747pub struct ResetQueueItemResponseDTO {
4748 #[serde(default, skip_serializing_if = "Option::is_none")]
4751 pub message: Option<String>,
4752 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
4754 pub queue_item: Option<QueueItemWithVariationsDTO>,
4755}
4756
4757#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4759pub struct SaveEditSessionDTO {
4760 #[serde(rename = "locationId")]
4763 pub location_id: String,
4764 #[serde(rename = "sessionId")]
4767 pub session_id: String,
4768 #[serde(
4771 rename = "keepInDraft",
4772 default,
4773 skip_serializing_if = "Option::is_none"
4774 )]
4775 pub keep_in_draft: Option<bool>,
4776}
4777
4778#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4780pub struct SaveEditSessionResponseDTO {
4781 #[serde(default, skip_serializing_if = "Option::is_none")]
4783 pub message: Option<String>,
4784 #[serde(
4786 rename = "updatedSlots",
4787 default,
4788 skip_serializing_if = "Vec::is_empty"
4789 )]
4790 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
4791 #[serde(
4793 rename = "totalPostsChanged",
4794 default,
4795 skip_serializing_if = "Option::is_none"
4796 )]
4797 pub total_posts_changed: Option<f64>,
4798}
4799
4800#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4802pub struct ScheduledPostDTO {
4803 #[serde(
4806 rename = "scheduledDateTime",
4807 default,
4808 skip_serializing_if = "Option::is_none"
4809 )]
4810 pub scheduled_date_time: Option<String>,
4811 #[serde(default, skip_serializing_if = "Option::is_none")]
4813 pub post: Option<GetPostFormattedSchema>,
4814 #[serde(
4816 rename = "queueItemId",
4817 default,
4818 skip_serializing_if = "Option::is_none"
4819 )]
4820 pub queue_item_id: Option<String>,
4821 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
4823 pub queue_id: Option<String>,
4824 #[serde(default, skip_serializing_if = "Option::is_none")]
4826 pub order: Option<f64>,
4827 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4829 pub variations: Vec<VariationDTO>,
4830 #[serde(
4832 rename = "primaryImage",
4833 default,
4834 skip_serializing_if = "Option::is_none"
4835 )]
4836 pub primary_image: Option<String>,
4837 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4840 pub errors: Vec<String>,
4841 #[serde(default, skip_serializing_if = "Option::is_none")]
4843 pub category: Option<CategoryInfoDTO>,
4844 #[serde(
4846 rename = "currentVariation",
4847 default,
4848 skip_serializing_if = "Option::is_none"
4849 )]
4850 pub current_variation: Option<f64>,
4851 #[serde(default, skip_serializing_if = "Option::is_none")]
4853 pub timezone: Option<String>,
4854}
4855
4856#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4858pub struct SearchPostDTO {
4859 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4862 pub type_: Option<String>,
4863 #[serde(default, skip_serializing_if = "Option::is_none")]
4865 pub accounts: Option<String>,
4866 pub skip: String,
4869 pub limit: String,
4872 #[serde(rename = "fromDate")]
4875 pub from_date: String,
4876 #[serde(rename = "toDate")]
4879 pub to_date: String,
4880 #[serde(rename = "includeUsers")]
4883 pub include_users: String,
4884 #[serde(rename = "postType", default, skip_serializing_if = "Option::is_none")]
4886 pub post_type: Option<serde_json::Value>,
4887}
4888
4889#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4891pub struct SetAccountsDTO {
4892 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4895 pub account_ids: Vec<String>,
4896 #[serde(rename = "filePath")]
4899 pub file_path: String,
4900 #[serde(rename = "rowsCount")]
4903 pub rows_count: f64,
4904 #[serde(rename = "fileName")]
4907 pub file_name: String,
4908 #[serde(default, skip_serializing_if = "Option::is_none")]
4910 pub approver: Option<String>,
4911 #[serde(rename = "userId")]
4914 pub user_id: String,
4915 #[serde(
4918 rename = "csvFileType",
4919 default,
4920 skip_serializing_if = "Option::is_none"
4921 )]
4922 pub csv_file_type: Option<String>,
4923}
4924
4925#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4927pub struct SetAccountsResponseDTO {
4928 pub success: bool,
4931 #[serde(rename = "statusCode")]
4934 pub status_code: f64,
4935 pub message: String,
4938 #[serde(default, skip_serializing_if = "Option::is_none")]
4940 pub results: Option<SetAccountsResultSchema>,
4941}
4942
4943#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4945pub struct SetAccountsResultSchema {
4946 #[serde(rename = "csvId")]
4949 pub csv_id: String,
4950}
4951
4952#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4954pub struct SetAccountsUnprocessableDTO {
4955 pub status: f64,
4958 #[serde(default, skip_serializing_if = "Option::is_none")]
4960 pub options: Option<serde_json::Value>,
4961 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4964 pub message: Vec<String>,
4965 pub name: String,
4968 pub error: String,
4971 #[serde(rename = "statusCode")]
4974 pub status_code: f64,
4975 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
4977 pub trace_id: Option<String>,
4978}
4979
4980#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4982pub struct SocialGoogleMediaAccountSchema {
4983 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4985 pub id: Option<String>,
4986 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
4988 pub o_auth_id: Option<String>,
4989 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
4991 pub old_id: Option<String>,
4992 #[serde(
4994 rename = "locationId",
4995 default,
4996 skip_serializing_if = "Option::is_none"
4997 )]
4998 pub location_id: Option<String>,
4999 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5001 pub origin_id: Option<String>,
5002 #[serde(default, skip_serializing_if = "Option::is_none")]
5004 pub platform: Option<serde_json::Value>,
5005 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5007 pub type_: Option<serde_json::Value>,
5008 #[serde(default, skip_serializing_if = "Option::is_none")]
5010 pub name: Option<String>,
5011 #[serde(default, skip_serializing_if = "Option::is_none")]
5013 pub avatar: Option<String>,
5014 #[serde(default, skip_serializing_if = "Option::is_none")]
5016 pub meta: Option<serde_json::Value>,
5017 #[serde(default, skip_serializing_if = "Option::is_none")]
5019 pub active: Option<bool>,
5020 #[serde(default, skip_serializing_if = "Option::is_none")]
5022 pub deleted: Option<bool>,
5023 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5026 pub created_at: Option<String>,
5027 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5030 pub updated_at: Option<String>,
5031}
5032
5033#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5035pub struct SocialMediaFBAccountResponseDTO {
5036 pub success: bool,
5039 #[serde(rename = "statusCode")]
5042 pub status_code: f64,
5043 pub message: String,
5046 #[serde(default, skip_serializing_if = "Option::is_none")]
5048 pub results: Option<SocialMediaFacebookAccountSchema>,
5049}
5050
5051#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5053pub struct SocialMediaFacebookAccountSchema {
5054 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5056 pub id: Option<String>,
5057 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5059 pub o_auth_id: Option<String>,
5060 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5062 pub old_id: Option<String>,
5063 #[serde(
5065 rename = "locationId",
5066 default,
5067 skip_serializing_if = "Option::is_none"
5068 )]
5069 pub location_id: Option<String>,
5070 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5072 pub origin_id: Option<String>,
5073 #[serde(default, skip_serializing_if = "Option::is_none")]
5075 pub platform: Option<serde_json::Value>,
5076 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5078 pub type_: Option<serde_json::Value>,
5079 #[serde(default, skip_serializing_if = "Option::is_none")]
5081 pub name: Option<String>,
5082 #[serde(default, skip_serializing_if = "Option::is_none")]
5084 pub avatar: Option<String>,
5085 #[serde(default, skip_serializing_if = "Option::is_none")]
5087 pub meta: Option<serde_json::Value>,
5088 #[serde(default, skip_serializing_if = "Option::is_none")]
5090 pub active: Option<bool>,
5091 #[serde(default, skip_serializing_if = "Option::is_none")]
5093 pub deleted: Option<bool>,
5094 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5097 pub created_at: Option<String>,
5098 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5101 pub updated_at: Option<String>,
5102}
5103
5104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5106pub struct SocialMediaGmbAccountResponseDTO {
5107 pub success: bool,
5110 #[serde(rename = "statusCode")]
5113 pub status_code: f64,
5114 pub message: String,
5117 #[serde(default, skip_serializing_if = "Option::is_none")]
5119 pub results: Option<SocialGoogleMediaAccountSchema>,
5120}
5121
5122#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5124pub struct SocialMediaInstagramAccountResponseDTO {
5125 pub success: bool,
5128 #[serde(rename = "statusCode")]
5131 pub status_code: f64,
5132 pub message: String,
5135 #[serde(default, skip_serializing_if = "Option::is_none")]
5137 pub results: Option<SocialMediaInstagramAccountSchema>,
5138}
5139
5140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5142pub struct SocialMediaInstagramAccountSchema {
5143 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5145 pub id: Option<String>,
5146 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5148 pub o_auth_id: Option<String>,
5149 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5151 pub old_id: Option<String>,
5152 #[serde(
5154 rename = "locationId",
5155 default,
5156 skip_serializing_if = "Option::is_none"
5157 )]
5158 pub location_id: Option<String>,
5159 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5161 pub origin_id: Option<String>,
5162 #[serde(default, skip_serializing_if = "Option::is_none")]
5164 pub platform: Option<serde_json::Value>,
5165 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5167 pub type_: Option<serde_json::Value>,
5168 #[serde(default, skip_serializing_if = "Option::is_none")]
5170 pub name: Option<String>,
5171 #[serde(default, skip_serializing_if = "Option::is_none")]
5173 pub avatar: Option<String>,
5174 #[serde(default, skip_serializing_if = "Option::is_none")]
5176 pub meta: Option<serde_json::Value>,
5177 #[serde(default, skip_serializing_if = "Option::is_none")]
5179 pub active: Option<bool>,
5180 #[serde(default, skip_serializing_if = "Option::is_none")]
5182 pub deleted: Option<bool>,
5183 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5186 pub created_at: Option<String>,
5187 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5190 pub updated_at: Option<String>,
5191}
5192
5193#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5195pub struct SocialMediaLinkedInAccountResponseDTO {
5196 pub success: bool,
5199 #[serde(rename = "statusCode")]
5202 pub status_code: f64,
5203 pub message: String,
5206 #[serde(default, skip_serializing_if = "Option::is_none")]
5208 pub results: Option<SocialMediaLinkedInAccountSchema>,
5209}
5210
5211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5213pub struct SocialMediaLinkedInAccountSchema {
5214 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5216 pub id: Option<String>,
5217 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5219 pub o_auth_id: Option<String>,
5220 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5222 pub old_id: Option<String>,
5223 #[serde(
5225 rename = "locationId",
5226 default,
5227 skip_serializing_if = "Option::is_none"
5228 )]
5229 pub location_id: Option<String>,
5230 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5232 pub origin_id: Option<String>,
5233 #[serde(default, skip_serializing_if = "Option::is_none")]
5235 pub platform: Option<serde_json::Value>,
5236 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5238 pub type_: Option<serde_json::Value>,
5239 #[serde(default, skip_serializing_if = "Option::is_none")]
5241 pub name: Option<String>,
5242 #[serde(default, skip_serializing_if = "Option::is_none")]
5244 pub avatar: Option<String>,
5245 #[serde(default, skip_serializing_if = "Option::is_none")]
5247 pub meta: Option<serde_json::Value>,
5248 #[serde(default, skip_serializing_if = "Option::is_none")]
5250 pub active: Option<bool>,
5251 #[serde(default, skip_serializing_if = "Option::is_none")]
5253 pub deleted: Option<bool>,
5254 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5257 pub created_at: Option<String>,
5258 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5261 pub updated_at: Option<String>,
5262}
5263
5264#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5266pub struct SocialMediaPinterestAccountResponseDTO {
5267 pub success: bool,
5270 #[serde(rename = "statusCode")]
5273 pub status_code: f64,
5274 pub message: String,
5277 #[serde(default, skip_serializing_if = "Option::is_none")]
5279 pub results: Option<PinterestOAuthAccountSchema>,
5280}
5281
5282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5284pub struct SocialMediaTagSchema {
5285 #[serde(default, skip_serializing_if = "Option::is_none")]
5287 pub tag: Option<String>,
5288 #[serde(
5290 rename = "locationId",
5291 default,
5292 skip_serializing_if = "Option::is_none"
5293 )]
5294 pub location_id: Option<String>,
5295 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5297 pub id: Option<String>,
5298 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
5300 pub created_by: Option<String>,
5301 #[serde(default, skip_serializing_if = "Option::is_none")]
5303 pub deleted: Option<bool>,
5304 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5307 pub created_at: Option<String>,
5308 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5311 pub updated_at: Option<String>,
5312}
5313
5314#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5316pub struct SocialMediaThreadsAccountResponseDTO {
5317 pub success: bool,
5320 #[serde(rename = "statusCode")]
5323 pub status_code: f64,
5324 pub message: String,
5327 #[serde(default, skip_serializing_if = "Option::is_none")]
5329 pub results: Option<SocialMediaThreadsAccountSchema>,
5330}
5331
5332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5334pub struct SocialMediaThreadsAccountSchema {
5335 #[serde(flatten)]
5337 pub extra: serde_json::Map<String, serde_json::Value>,
5338}
5339
5340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5342pub struct SocialMediaTiktokAccountResponseDTO {
5343 pub success: bool,
5346 #[serde(rename = "statusCode")]
5349 pub status_code: f64,
5350 pub message: String,
5353 #[serde(default, skip_serializing_if = "Option::is_none")]
5355 pub results: Option<SocialMediaTiktokAccountSchema>,
5356}
5357
5358#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5360pub struct SocialMediaTiktokAccountSchema {
5361 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5363 pub id: Option<String>,
5364 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5366 pub o_auth_id: Option<String>,
5367 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5369 pub old_id: Option<String>,
5370 #[serde(
5372 rename = "locationId",
5373 default,
5374 skip_serializing_if = "Option::is_none"
5375 )]
5376 pub location_id: Option<String>,
5377 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5379 pub origin_id: Option<String>,
5380 #[serde(default, skip_serializing_if = "Option::is_none")]
5382 pub platform: Option<serde_json::Value>,
5383 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5385 pub type_: Option<serde_json::Value>,
5386 #[serde(default, skip_serializing_if = "Option::is_none")]
5388 pub name: Option<String>,
5389 #[serde(default, skip_serializing_if = "Option::is_none")]
5391 pub avatar: Option<String>,
5392 #[serde(default, skip_serializing_if = "Option::is_none")]
5394 pub meta: Option<serde_json::Value>,
5395 #[serde(default, skip_serializing_if = "Option::is_none")]
5397 pub active: Option<bool>,
5398 #[serde(default, skip_serializing_if = "Option::is_none")]
5400 pub deleted: Option<bool>,
5401 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5404 pub created_at: Option<String>,
5405 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5408 pub updated_at: Option<String>,
5409}
5410
5411#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5413pub struct SocialMediaTiktokBusinessAccountResponseDTO {
5414 pub success: bool,
5417 #[serde(rename = "statusCode")]
5420 pub status_code: f64,
5421 pub message: String,
5424 #[serde(default, skip_serializing_if = "Option::is_none")]
5426 pub results: Option<TikTokOAuthAccountSchema>,
5427}
5428
5429#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5431pub struct SocialMediaTwitterAccountResponseDTO {
5432 pub success: bool,
5435 #[serde(rename = "statusCode")]
5438 pub status_code: f64,
5439 pub message: String,
5442 #[serde(default, skip_serializing_if = "Option::is_none")]
5444 pub results: Option<SocialMediaTwitterAccountSchema>,
5445}
5446
5447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5449pub struct SocialMediaTwitterAccountSchema {
5450 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5452 pub id: Option<String>,
5453 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5455 pub o_auth_id: Option<String>,
5456 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5458 pub old_id: Option<String>,
5459 #[serde(
5461 rename = "locationId",
5462 default,
5463 skip_serializing_if = "Option::is_none"
5464 )]
5465 pub location_id: Option<String>,
5466 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5468 pub origin_id: Option<String>,
5469 #[serde(default, skip_serializing_if = "Option::is_none")]
5471 pub platform: Option<serde_json::Value>,
5472 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5474 pub type_: Option<serde_json::Value>,
5475 #[serde(default, skip_serializing_if = "Option::is_none")]
5477 pub name: Option<String>,
5478 #[serde(default, skip_serializing_if = "Option::is_none")]
5480 pub avatar: Option<String>,
5481 #[serde(default, skip_serializing_if = "Option::is_none")]
5483 pub meta: Option<serde_json::Value>,
5484 #[serde(default, skip_serializing_if = "Option::is_none")]
5486 pub active: Option<bool>,
5487 #[serde(default, skip_serializing_if = "Option::is_none")]
5489 pub deleted: Option<bool>,
5490 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5493 pub created_at: Option<String>,
5494 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5497 pub updated_at: Option<String>,
5498}
5499
5500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5502pub struct SocialMediaYouTubeAccountResponseDTO {
5503 pub success: bool,
5506 #[serde(rename = "statusCode")]
5509 pub status_code: f64,
5510 pub message: String,
5513 #[serde(default, skip_serializing_if = "Option::is_none")]
5515 pub results: Option<YouTubeOAuthAccountSchema>,
5516}
5517
5518#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5520pub struct StartDateSchema {
5521 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
5523 pub start_date: Option<DateSchema>,
5524 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
5526 pub start_time: Option<TimeSchema>,
5527}
5528
5529#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5531pub struct StartEditSessionDTO {
5532 #[serde(rename = "locationId")]
5535 pub location_id: String,
5536}
5537
5538#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5540pub struct StartEditSessionResponseDTO {
5541 #[serde(default, skip_serializing_if = "Option::is_none")]
5543 pub message: Option<String>,
5544 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
5546 pub session_id: Option<String>,
5547 #[serde(rename = "itemCount", default, skip_serializing_if = "Option::is_none")]
5549 pub item_count: Option<f64>,
5550}
5551
5552#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5554pub struct TikTokOAuthAccountSchema {
5555 #[serde(flatten)]
5557 pub extra: serde_json::Map<String, serde_json::Value>,
5558}
5559
5560#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5562pub struct TiktokPostSchema {
5563 #[serde(rename = "privacyLevel")]
5570 pub privacy_level: String,
5571 #[serde(
5574 rename = "promoteOtherBrand",
5575 default,
5576 skip_serializing_if = "Option::is_none"
5577 )]
5578 pub promote_other_brand: Option<bool>,
5579 #[serde(
5581 rename = "enableComment",
5582 default,
5583 skip_serializing_if = "Option::is_none"
5584 )]
5585 pub enable_comment: Option<bool>,
5586 #[serde(
5589 rename = "enableDuet",
5590 default,
5591 skip_serializing_if = "Option::is_none"
5592 )]
5593 pub enable_duet: Option<bool>,
5594 #[serde(
5597 rename = "enableStitch",
5598 default,
5599 skip_serializing_if = "Option::is_none"
5600 )]
5601 pub enable_stitch: Option<bool>,
5602 #[serde(
5606 rename = "videoDisclosure",
5607 default,
5608 skip_serializing_if = "Option::is_none"
5609 )]
5610 pub video_disclosure: Option<bool>,
5611 #[serde(
5614 rename = "promoteYourBrand",
5615 default,
5616 skip_serializing_if = "Option::is_none"
5617 )]
5618 pub promote_your_brand: Option<bool>,
5619}
5620
5621#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5623pub struct TiktokProfileSchema {
5624 #[serde(default, skip_serializing_if = "Option::is_none")]
5626 pub id: Option<String>,
5627 #[serde(default, skip_serializing_if = "Option::is_none")]
5629 pub name: Option<String>,
5630 #[serde(default, skip_serializing_if = "Option::is_none")]
5632 pub username: Option<String>,
5633 #[serde(default, skip_serializing_if = "Option::is_none")]
5635 pub avatar: Option<String>,
5636 #[serde(default, skip_serializing_if = "Option::is_none")]
5638 pub verified: Option<bool>,
5639 #[serde(
5641 rename = "isConnected",
5642 default,
5643 skip_serializing_if = "Option::is_none"
5644 )]
5645 pub is_connected: Option<bool>,
5646 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5648 pub type_: Option<serde_json::Value>,
5649}
5650
5651#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5653pub struct TimeSchema {
5654 pub hours: f64,
5657 pub minutes: f64,
5660 pub seconds: f64,
5663}
5664
5665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5667pub struct TimeSlotDTO {
5668 #[serde(rename = "dayOfWeek")]
5671 pub day_of_week: f64,
5672 pub time: String,
5675}
5676
5677#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5679pub struct TwitterProfileSchema {
5680 #[serde(default, skip_serializing_if = "Option::is_none")]
5682 pub id: Option<String>,
5683 #[serde(default, skip_serializing_if = "Option::is_none")]
5685 pub name: Option<String>,
5686 #[serde(default, skip_serializing_if = "Option::is_none")]
5688 pub username: Option<String>,
5689 #[serde(default, skip_serializing_if = "Option::is_none")]
5691 pub avatar: Option<String>,
5692 #[serde(default, skip_serializing_if = "Option::is_none")]
5694 pub protected: Option<bool>,
5695 #[serde(default, skip_serializing_if = "Option::is_none")]
5697 pub verified: Option<bool>,
5698 #[serde(
5700 rename = "isConnected",
5701 default,
5702 skip_serializing_if = "Option::is_none"
5703 )]
5704 pub is_connected: Option<bool>,
5705}
5706
5707#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5709pub struct UpdateCategoryQueueDTO {
5710 #[serde(rename = "locationId")]
5713 pub location_id: String,
5714 #[serde(
5716 rename = "skipLegacyWatermark",
5717 default,
5718 skip_serializing_if = "Option::is_none"
5719 )]
5720 pub skip_legacy_watermark: Option<bool>,
5721 #[serde(default, skip_serializing_if = "Option::is_none")]
5723 pub status: Option<serde_json::Value>,
5724 #[serde(
5726 rename = "skipDateTime",
5727 default,
5728 skip_serializing_if = "Option::is_none"
5729 )]
5730 pub skip_date_time: Option<String>,
5731 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
5732 pub time_slots: Vec<TimeSlotDTO>,
5733 #[serde(
5736 rename = "enableFuturePosts",
5737 default,
5738 skip_serializing_if = "Option::is_none"
5739 )]
5740 pub enable_future_posts: Option<bool>,
5741 #[serde(
5744 rename = "prioritizeNewContent",
5745 default,
5746 skip_serializing_if = "Option::is_none"
5747 )]
5748 pub prioritize_new_content: Option<bool>,
5749}
5750
5751#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5753pub struct UpdateCategoryQueueResponseDTO {
5754 #[serde(default, skip_serializing_if = "Option::is_none")]
5758 pub message: Option<String>,
5759 #[serde(default, skip_serializing_if = "Option::is_none")]
5761 pub queue: Option<CategoryQueueDTO>,
5762}
5763
5764#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5766pub struct UpdatePostSuccessfulResponseDTO {
5767 pub success: bool,
5770 #[serde(rename = "statusCode")]
5773 pub status_code: f64,
5774 pub message: String,
5777}
5778
5779#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5781pub struct UpdateQueueItemDTO {
5782 #[serde(rename = "locationId")]
5785 pub location_id: String,
5786 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
5788 pub session_id: Option<String>,
5789 #[serde(
5791 rename = "modifiedPostPayload",
5792 default,
5793 skip_serializing_if = "Option::is_none"
5794 )]
5795 pub modified_post_payload: Option<QueueModifiedPostDTO>,
5796 #[serde(rename = "newOrder", default, skip_serializing_if = "Option::is_none")]
5803 pub new_order: Option<serde_json::Value>,
5804 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5806 pub variations: Vec<VariationInputDTO>,
5807 #[serde(
5809 rename = "primaryImage",
5810 default,
5811 skip_serializing_if = "Option::is_none"
5812 )]
5813 pub primary_image: Option<String>,
5814}
5815
5816#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5818pub struct UpdateQueueItemResponseDTO {
5819 #[serde(default, skip_serializing_if = "Option::is_none")]
5821 pub message: Option<String>,
5822 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
5824 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
5825 #[serde(
5827 rename = "updatedSlots",
5828 default,
5829 skip_serializing_if = "Vec::is_empty"
5830 )]
5831 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
5832 #[serde(
5834 rename = "totalPostsChanged",
5835 default,
5836 skip_serializing_if = "Option::is_none"
5837 )]
5838 pub total_posts_changed: Option<f64>,
5839}
5840
5841#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5843pub struct UpdateTagDTO {
5844 #[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
5847 pub tag_ids: Vec<String>,
5848}
5849
5850#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5852pub struct UpdatedSlotInfoDTO {
5853 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
5855 pub item_id: Option<String>,
5856 #[serde(
5859 rename = "scheduledDateTime",
5860 default,
5861 skip_serializing_if = "Option::is_none"
5862 )]
5863 pub scheduled_date_time: Option<String>,
5864 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
5866 pub is_skipped: Option<bool>,
5867}
5868
5869#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5871pub struct UploadCSVDTO {
5872 #[serde(default, skip_serializing_if = "Option::is_none")]
5873 pub file: Option<String>,
5874}
5875
5876#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5878pub struct UploadFileResponseDTO {
5879 pub success: bool,
5882 #[serde(rename = "statusCode")]
5885 pub status_code: f64,
5886 pub message: String,
5889 #[serde(default, skip_serializing_if = "Option::is_none")]
5891 pub results: Option<UploadFileResponseSchema>,
5892}
5893
5894#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5896pub struct UploadFileResponseSchema {
5897 #[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
5899 pub file_path: Option<String>,
5900 #[serde(rename = "rowsCount", default, skip_serializing_if = "Option::is_none")]
5902 pub rows_count: Option<f64>,
5903 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
5905 pub file_name: Option<String>,
5906 #[serde(rename = "fileSize", default, skip_serializing_if = "Option::is_none")]
5908 pub file_size: Option<f64>,
5909 #[serde(
5912 rename = "csvFileType",
5913 default,
5914 skip_serializing_if = "Option::is_none"
5915 )]
5916 pub csv_file_type: Option<String>,
5917}
5918
5919#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5921pub struct VariationDTO {
5922 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5924 pub id: Option<String>,
5925 #[serde(default, skip_serializing_if = "Option::is_none")]
5927 pub content: Option<String>,
5928 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5930 pub mentions: Vec<serde_json::Value>,
5931 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
5933 pub og_tags: Option<OgTagsDTO>,
5934}
5935
5936#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5938pub struct VariationInputDTO {
5939 #[serde(default, skip_serializing_if = "Option::is_none")]
5941 pub content: Option<String>,
5942 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5944 pub mentions: Vec<serde_json::Value>,
5945 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
5947 pub og_tags: Option<OgTagsInputDTO>,
5948}
5949
5950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5952pub struct WrappedCloneQueueItemResponseDTO {
5953 pub success: bool,
5955 #[serde(rename = "statusCode")]
5957 pub status_code: f64,
5958 pub results: CloneQueueItemResponseDTO,
5960 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5961 pub trace_id: Option<String>,
5962}
5963
5964#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5966pub struct WrappedCreateCategoryQueueResponseDTO {
5967 pub success: bool,
5969 #[serde(rename = "statusCode")]
5971 pub status_code: f64,
5972 pub results: CreateCategoryQueueResponseDTO,
5974 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5975 pub trace_id: Option<String>,
5976}
5977
5978#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5980pub struct WrappedCreateQueueItemResponseDTO {
5981 pub success: bool,
5983 #[serde(rename = "statusCode")]
5985 pub status_code: f64,
5986 pub results: CreateQueueItemResponseDTO,
5988 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5989 pub trace_id: Option<String>,
5990}
5991
5992#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5994pub struct WrappedDeleteActivePostResponseDTO {
5995 pub success: bool,
5997 #[serde(rename = "statusCode")]
5999 pub status_code: f64,
6000 pub results: DeleteActivePostResponseDTO,
6002 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6003 pub trace_id: Option<String>,
6004}
6005
6006#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6008pub struct WrappedDiscardEditSessionResponseDTO {
6009 pub success: bool,
6011 #[serde(rename = "statusCode")]
6013 pub status_code: f64,
6014 pub results: DiscardEditSessionResponseDTO,
6016 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6017 pub trace_id: Option<String>,
6018}
6019
6020#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6022pub struct WrappedEditSessionCalendarResponseDTO {
6023 pub success: bool,
6025 #[serde(rename = "statusCode")]
6027 pub status_code: f64,
6028 pub results: EditSessionCalendarResponseDTO,
6030 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6031 pub trace_id: Option<String>,
6032}
6033
6034#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6036pub struct WrappedFetchAvailableCategoriesResponseDTO {
6037 pub success: bool,
6039 #[serde(rename = "statusCode")]
6041 pub status_code: f64,
6042 pub results: FetchAvailableCategoriesResponseDTO,
6044 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6045 pub trace_id: Option<String>,
6046}
6047
6048#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6050pub struct WrappedFetchCalendarListResponseDTO {
6051 pub success: bool,
6053 #[serde(rename = "statusCode")]
6055 pub status_code: f64,
6056 pub results: FetchCalendarListResponseDTO,
6058 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6059 pub trace_id: Option<String>,
6060}
6061
6062#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6064pub struct WrappedFetchCategoryQueuesResponseDTO {
6065 pub success: bool,
6067 #[serde(rename = "statusCode")]
6069 pub status_code: f64,
6070 pub results: FetchCategoryQueuesResponseDTO,
6072 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6073 pub trace_id: Option<String>,
6074}
6075
6076#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6078pub struct WrappedFetchQueueByIdResponseDTO {
6079 pub success: bool,
6081 #[serde(rename = "statusCode")]
6083 pub status_code: f64,
6084 pub results: FetchQueueByIdResponseDTO,
6086 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6087 pub trace_id: Option<String>,
6088}
6089
6090#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6092pub struct WrappedFetchQueueItemsResponseDTO {
6093 pub success: bool,
6095 #[serde(rename = "statusCode")]
6097 pub status_code: f64,
6098 pub results: FetchQueueItemsResponseDTO,
6100 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6101 pub trace_id: Option<String>,
6102}
6103
6104#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6106pub struct WrappedFetchSlotsResponseDTO {
6107 pub success: bool,
6109 #[serde(rename = "statusCode")]
6111 pub status_code: f64,
6112 pub results: FetchSlotsResponseDTO,
6114 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6115 pub trace_id: Option<String>,
6116}
6117
6118#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6120pub struct WrappedGeneralSuccessResponseDTO {
6121 pub success: bool,
6123 #[serde(rename = "statusCode")]
6125 pub status_code: f64,
6126 pub results: GeneralSuccessResponseDTO,
6128 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6129 pub trace_id: Option<String>,
6130}
6131
6132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6134pub struct WrappedResetQueueItemResponseDTO {
6135 pub success: bool,
6137 #[serde(rename = "statusCode")]
6139 pub status_code: f64,
6140 pub results: ResetQueueItemResponseDTO,
6142 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6143 pub trace_id: Option<String>,
6144}
6145
6146#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6148pub struct WrappedSaveEditSessionResponseDTO {
6149 pub success: bool,
6151 #[serde(rename = "statusCode")]
6153 pub status_code: f64,
6154 pub results: SaveEditSessionResponseDTO,
6156 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6157 pub trace_id: Option<String>,
6158}
6159
6160#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6162pub struct WrappedStartEditSessionResponseDTO {
6163 pub success: bool,
6165 #[serde(rename = "statusCode")]
6167 pub status_code: f64,
6168 pub results: StartEditSessionResponseDTO,
6170 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6171 pub trace_id: Option<String>,
6172}
6173
6174#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6176pub struct WrappedUpdateCategoryQueueResponseDTO {
6177 pub success: bool,
6179 #[serde(rename = "statusCode")]
6181 pub status_code: f64,
6182 pub results: UpdateCategoryQueueResponseDTO,
6184 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6185 pub trace_id: Option<String>,
6186}
6187
6188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6190pub struct WrappedUpdateQueueItemResponseDTO {
6191 pub success: bool,
6193 #[serde(rename = "statusCode")]
6195 pub status_code: f64,
6196 pub results: UpdateQueueItemResponseDTO,
6198 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6199 pub trace_id: Option<String>,
6200}
6201
6202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6204pub struct YouTubeOAuthAccountSchema {
6205 #[serde(flatten)]
6207 pub extra: serde_json::Map<String, serde_json::Value>,
6208}
6209
6210#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6212pub struct YoutubePostSchema {
6213 #[serde(default, skip_serializing_if = "Option::is_none")]
6216 pub title: Option<String>,
6217 #[serde(
6222 rename = "privacyLevel",
6223 default,
6224 skip_serializing_if = "Option::is_none"
6225 )]
6226 pub privacy_level: Option<String>,
6227 #[serde(rename = "type")]
6233 pub type_: String,
6234}
6235
6236#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6238pub struct YoutubeProfileSchema {
6239 #[serde(default, skip_serializing_if = "Option::is_none")]
6241 pub id: Option<String>,
6242 #[serde(default, skip_serializing_if = "Option::is_none")]
6244 pub name: Option<String>,
6245 #[serde(default, skip_serializing_if = "Option::is_none")]
6247 pub username: Option<String>,
6248 #[serde(default, skip_serializing_if = "Option::is_none")]
6250 pub avatar: Option<String>,
6251 #[serde(default, skip_serializing_if = "Option::is_none")]
6253 pub verified: Option<bool>,
6254 #[serde(
6256 rename = "isConnected",
6257 default,
6258 skip_serializing_if = "Option::is_none"
6259 )]
6260 pub is_connected: Option<bool>,
6261 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
6263 pub type_: Option<String>,
6264}