1#![allow(
14 missing_docs,
15 clippy::doc_lazy_continuation,
16 clippy::doc_overindented_list_items
17)]
18
19use serde::{Deserialize, Serialize};
20
21#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23pub struct AccountsListResponseDTO {
24 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub success: Option<bool>,
29 #[serde(
33 rename = "statusCode",
34 default,
35 skip_serializing_if = "Option::is_none"
36 )]
37 pub status_code: Option<f64>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
42 pub message: Option<String>,
43 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub results: Option<AccountsListResponseSchema>,
46}
47
48#[derive(Debug, Clone, Default, Serialize, Deserialize)]
50pub struct AccountsListResponseSchema {
51 #[serde(default, skip_serializing_if = "Vec::is_empty")]
53 pub accounts: Vec<GetAccountSchema>,
54 #[serde(default, skip_serializing_if = "Vec::is_empty")]
56 pub groups: Vec<GetGroupSchema>,
57}
58
59#[derive(Debug, Clone, Default, Serialize, Deserialize)]
61pub struct AttachFBAccountDTO {
62 #[serde(rename = "type")]
66 pub type_: String,
67 #[serde(rename = "originId")]
70 pub origin_id: String,
71 pub name: String,
74 pub avatar: String,
77}
78
79#[derive(Debug, Clone, Default, Serialize, Deserialize)]
81pub struct AttachGMBLocationAccountDTO {
82 pub name: String,
85 #[serde(rename = "accountName")]
88 pub account_name: String,
89 #[serde(rename = "type")]
92 pub type_: String,
93 #[serde(rename = "verificationState")]
96 pub verification_state: String,
97 #[serde(rename = "vettedState")]
100 pub vetted_state: String,
101}
102
103#[derive(Debug, Clone, Default, Serialize, Deserialize)]
105pub struct AttachGMBLocationDTO {
106 pub location: AttachGMBLocationLocationDTO,
108 pub account: AttachGMBLocationAccountDTO,
110}
111
112#[derive(Debug, Clone, Default, Serialize, Deserialize)]
114pub struct AttachGMBLocationLocationDTO {
115 pub name: String,
118 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
120 pub store_code: Option<String>,
121 pub title: String,
124 #[serde(
126 rename = "storefrontAddress",
127 default,
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub storefront_address: Option<serde_json::Value>,
131 #[serde(default, skip_serializing_if = "Option::is_none")]
133 pub metadata: Option<serde_json::Value>,
134 #[serde(
136 rename = "maxLocation",
137 default,
138 skip_serializing_if = "Option::is_none"
139 )]
140 pub max_location: Option<bool>,
141 #[serde(
143 rename = "isVerified",
144 default,
145 skip_serializing_if = "Option::is_none"
146 )]
147 pub is_verified: Option<bool>,
148 #[serde(
150 rename = "isConnected",
151 default,
152 skip_serializing_if = "Option::is_none"
153 )]
154 pub is_connected: Option<bool>,
155}
156
157#[derive(Debug, Clone, Default, Serialize, Deserialize)]
159pub struct AttachIGAccountDTO {
160 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
162 pub origin_id: Option<String>,
163 #[serde(default, skip_serializing_if = "Option::is_none")]
165 pub name: Option<String>,
166 #[serde(default, skip_serializing_if = "Option::is_none")]
168 pub avatar: Option<String>,
169 #[serde(rename = "pageId")]
172 pub page_id: String,
173}
174
175#[derive(Debug, Clone, Default, Serialize, Deserialize)]
177pub struct AttachLinkedinAccountDTO {
178 #[serde(rename = "type")]
182 pub type_: String,
183 #[serde(rename = "originId")]
186 pub origin_id: String,
187 pub name: String,
190 pub avatar: String,
193 pub urn: String,
196}
197
198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
200pub struct AttachPinterestAccountDTO {
201 #[serde(rename = "originId")]
204 pub origin_id: String,
205 #[serde(default, skip_serializing_if = "Option::is_none")]
207 pub name: Option<String>,
208 #[serde(default, skip_serializing_if = "Option::is_none")]
210 pub avatar: Option<String>,
211 #[serde(default, skip_serializing_if = "Option::is_none")]
213 pub verified: Option<bool>,
214 #[serde(default, skip_serializing_if = "Option::is_none")]
216 pub username: Option<String>,
217 #[serde(
219 rename = "websiteUrl",
220 default,
221 skip_serializing_if = "Option::is_none"
222 )]
223 pub website_url: Option<String>,
224 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
226 pub company_id: Option<String>,
227 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
230 pub type_: Option<String>,
231 #[serde(
233 rename = "originAccountType",
234 default,
235 skip_serializing_if = "Option::is_none"
236 )]
237 pub origin_account_type: Option<String>,
238}
239
240#[derive(Debug, Clone, Default, Serialize, Deserialize)]
242pub struct AttachThreadsAccountDTO {
243 #[serde(rename = "type")]
247 pub type_: String,
248 #[serde(rename = "originId")]
251 pub origin_id: String,
252 pub name: String,
255 pub avatar: String,
258}
259
260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
262pub struct AttachTiktokAccountDTO {
263 #[serde(rename = "type")]
267 pub type_: String,
268 #[serde(rename = "originId")]
271 pub origin_id: String,
272 pub name: String,
275 pub avatar: String,
278 #[serde(default, skip_serializing_if = "Option::is_none")]
280 pub verified: Option<bool>,
281 #[serde(default, skip_serializing_if = "Option::is_none")]
283 pub username: Option<String>,
284}
285
286#[derive(Debug, Clone, Default, Serialize, Deserialize)]
288pub struct AttachTwitterAccountDTO {
289 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
291 pub origin_id: Option<String>,
292 #[serde(default, skip_serializing_if = "Option::is_none")]
294 pub name: Option<String>,
295 #[serde(default, skip_serializing_if = "Option::is_none")]
297 pub username: Option<String>,
298 #[serde(default, skip_serializing_if = "Option::is_none")]
300 pub avatar: Option<String>,
301 #[serde(default, skip_serializing_if = "Option::is_none")]
303 pub protected: Option<bool>,
304 #[serde(default, skip_serializing_if = "Option::is_none")]
306 pub verified: Option<bool>,
307 #[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
309 pub company_id: Option<String>,
310}
311
312#[derive(Debug, Clone, Default, Serialize, Deserialize)]
314pub struct AttachYoutubeAccountResponseDTO {
315 #[serde(rename = "type")]
319 pub type_: String,
320 #[serde(rename = "originId")]
323 pub origin_id: String,
324 pub name: String,
327 pub avatar: String,
330 #[serde(default, skip_serializing_if = "Option::is_none")]
332 pub verified: Option<bool>,
333 #[serde(default, skip_serializing_if = "Option::is_none")]
335 pub username: Option<String>,
336}
337
338#[derive(Debug, Clone, Default, Serialize, Deserialize)]
340pub struct AttachmentDTO {
341 pub url: String,
344 #[serde(rename = "type")]
348 pub type_: String,
349}
350
351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
353pub struct AvailableCategoryDTO {
354 #[serde(default, skip_serializing_if = "Option::is_none")]
356 pub deleted: Option<bool>,
357 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
359 pub id: Option<String>,
360 #[serde(default, skip_serializing_if = "Option::is_none")]
362 pub name: Option<String>,
363 #[serde(
365 rename = "locationId",
366 default,
367 skip_serializing_if = "Option::is_none"
368 )]
369 pub location_id: Option<String>,
370 #[serde(
372 rename = "primaryColor",
373 default,
374 skip_serializing_if = "Option::is_none"
375 )]
376 pub primary_color: Option<String>,
377 #[serde(
379 rename = "secondaryColor",
380 default,
381 skip_serializing_if = "Option::is_none"
382 )]
383 pub secondary_color: Option<String>,
384 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
386 pub created_by: Option<String>,
387 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
389 pub created_at: Option<String>,
390 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
392 pub updated_at: Option<String>,
393 #[serde(
395 rename = "publishedPostsCount",
396 default,
397 skip_serializing_if = "Option::is_none"
398 )]
399 pub published_posts_count: Option<f64>,
400 #[serde(default, skip_serializing_if = "Option::is_none")]
403 pub status: Option<String>,
404 #[serde(
406 rename = "queueDetails",
407 default,
408 skip_serializing_if = "Option::is_none"
409 )]
410 pub queue_details: Option<AvailableCategoryQueueDetailsDTO>,
411}
412
413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
415pub struct AvailableCategoryQueueDetailsDTO {
416 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
418 pub queue_id: Option<String>,
419 #[serde(
421 rename = "prioritizeNewContent",
422 default,
423 skip_serializing_if = "Option::is_none"
424 )]
425 pub prioritize_new_content: Option<bool>,
426 #[serde(
428 rename = "enableFuturePosts",
429 default,
430 skip_serializing_if = "Option::is_none"
431 )]
432 pub enable_future_posts: Option<bool>,
433}
434
435#[derive(Debug, Clone, Default, Serialize, Deserialize)]
437pub struct BaseOAuthAccountSchema {
438 #[serde(default, skip_serializing_if = "Option::is_none")]
442 pub name: Option<String>,
443 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
447 pub origin_id: Option<String>,
448 #[serde(default, skip_serializing_if = "Option::is_none")]
450 pub avatar: Option<String>,
451}
452
453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
455pub struct BlueskyPostSchema {
456 #[serde(
458 rename = "shortenedLinks",
459 default,
460 skip_serializing_if = "Vec::is_empty"
461 )]
462 pub shortened_links: Vec<String>,
463 #[serde(rename = "replyTo", default, skip_serializing_if = "Option::is_none")]
467 pub reply_to: Option<String>,
468 #[serde(rename = "quotePost", default, skip_serializing_if = "Option::is_none")]
472 pub quote_post: Option<String>,
473 #[serde(default, skip_serializing_if = "Option::is_none")]
476 pub language: Option<String>,
477 #[serde(
479 rename = "externalLink",
480 default,
481 skip_serializing_if = "Option::is_none"
482 )]
483 pub external_link: Option<String>,
484 #[serde(
486 rename = "externalLinkTitle",
487 default,
488 skip_serializing_if = "Option::is_none"
489 )]
490 pub external_link_title: Option<String>,
491 #[serde(
493 rename = "externalLinkDescription",
494 default,
495 skip_serializing_if = "Option::is_none"
496 )]
497 pub external_link_description: Option<String>,
498}
499
500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
502pub struct BulkDeletePostSuccessfulResponseSchema {
503 #[serde(
505 rename = "deletedCount",
506 default,
507 skip_serializing_if = "Option::is_none"
508 )]
509 pub deleted_count: Option<f64>,
510}
511
512#[derive(Debug, Clone, Default, Serialize, Deserialize)]
514pub struct BulkDeleteResponseDto {
515 #[serde(default, skip_serializing_if = "Option::is_none")]
519 pub success: Option<bool>,
520 #[serde(
524 rename = "statusCode",
525 default,
526 skip_serializing_if = "Option::is_none"
527 )]
528 pub status_code: Option<f64>,
529 #[serde(default, skip_serializing_if = "Option::is_none")]
533 pub message: Option<String>,
534 #[serde(default, skip_serializing_if = "Option::is_none")]
538 pub results: Option<serde_json::Value>,
539}
540
541#[derive(Debug, Clone, Default, Serialize, Deserialize)]
543pub struct CSVDefaultDTO {
544 #[serde(rename = "userId")]
547 pub user_id: String,
548}
549
550#[derive(Debug, Clone, Default, Serialize, Deserialize)]
552pub struct CSVErrorResponseDTO {
553 #[serde(default, skip_serializing_if = "Option::is_none")]
560 pub code: Option<String>,
561 #[serde(default, skip_serializing_if = "Option::is_none")]
565 pub message: Option<String>,
566 #[serde(rename = "fileType", default, skip_serializing_if = "Option::is_none")]
569 pub file_type: Option<String>,
570 #[serde(
573 rename = "csvFileType",
574 default,
575 skip_serializing_if = "Option::is_none"
576 )]
577 pub csv_file_type: Option<String>,
578 #[serde(
580 rename = "missingHeaders",
581 default,
582 skip_serializing_if = "Option::is_none"
583 )]
584 pub missing_headers: Option<String>,
585}
586
587#[derive(Debug, Clone, Default, Serialize, Deserialize)]
589pub struct CSVFileRequiredBadRequestDTO {
590 #[serde(default, skip_serializing_if = "Option::is_none")]
594 pub status: Option<f64>,
595 #[serde(default, skip_serializing_if = "Option::is_none")]
597 pub options: Option<serde_json::Value>,
598 #[serde(default, skip_serializing_if = "Option::is_none")]
602 pub message: Option<String>,
603 #[serde(default, skip_serializing_if = "Option::is_none")]
607 pub name: Option<String>,
608 #[serde(default, skip_serializing_if = "Option::is_none")]
612 pub error: Option<String>,
613 #[serde(
617 rename = "statusCode",
618 default,
619 skip_serializing_if = "Option::is_none"
620 )]
621 pub status_code: Option<f64>,
622 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
624 pub trace_id: Option<String>,
625}
626
627#[derive(Debug, Clone, Default, Serialize, Deserialize)]
629pub struct CSVImportSchema {
630 #[serde(default, skip_serializing_if = "Option::is_none")]
632 pub id: Option<String>,
633 #[serde(
635 rename = "locationId",
636 default,
637 skip_serializing_if = "Option::is_none"
638 )]
639 pub location_id: Option<String>,
640 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
642 pub file_name: Option<String>,
643 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
645 pub account_ids: Vec<String>,
646 #[serde(default, skip_serializing_if = "Option::is_none")]
648 pub file: Option<String>,
649 #[serde(default, skip_serializing_if = "Option::is_none")]
653 pub status: Option<String>,
654 #[serde(default, skip_serializing_if = "Option::is_none")]
656 pub count: Option<f64>,
657 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
659 pub created_by: Option<String>,
660 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
662 pub trace_id: Option<String>,
663 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
665 pub origin_id: Option<String>,
666 #[serde(default, skip_serializing_if = "Option::is_none")]
668 pub approver: Option<String>,
669 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
672 pub created_at: Option<String>,
673 #[serde(
676 rename = "csvFileType",
677 default,
678 skip_serializing_if = "Option::is_none"
679 )]
680 pub csv_file_type: Option<String>,
681 #[serde(
683 rename = "mediaOptimization",
684 default,
685 skip_serializing_if = "Option::is_none"
686 )]
687 pub media_optimization: Option<bool>,
688 #[serde(
690 rename = "applyWatermark",
691 default,
692 skip_serializing_if = "Option::is_none"
693 )]
694 pub apply_watermark: Option<bool>,
695 #[serde(default, skip_serializing_if = "Option::is_none")]
697 pub channel: Option<String>,
698 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
701 pub updated_at: Option<String>,
702}
703
704#[derive(Debug, Clone, Default, Serialize, Deserialize)]
706pub struct CSVMediaResponseSchema {
707 #[serde(default, skip_serializing_if = "Option::is_none")]
709 pub url: Option<String>,
710 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
712 pub type_: Option<String>,
713 #[serde(default, skip_serializing_if = "Option::is_none")]
715 pub size: Option<f64>,
716 #[serde(default, skip_serializing_if = "Option::is_none")]
718 pub width: Option<f64>,
719 #[serde(default, skip_serializing_if = "Option::is_none")]
721 pub height: Option<f64>,
722 #[serde(
724 rename = "aspectRatio",
725 default,
726 skip_serializing_if = "Option::is_none"
727 )]
728 pub aspect_ratio: Option<f64>,
729 #[serde(default, skip_serializing_if = "Option::is_none")]
731 pub duration: Option<f64>,
732 #[serde(default, skip_serializing_if = "Option::is_none")]
734 pub format: Option<String>,
735 #[serde(
737 rename = "videoCodecName",
738 default,
739 skip_serializing_if = "Option::is_none"
740 )]
741 pub video_codec_name: Option<String>,
742 #[serde(rename = "frameRate", default, skip_serializing_if = "Option::is_none")]
744 pub frame_rate: Option<f64>,
745 #[serde(
747 rename = "audioCodecName",
748 default,
749 skip_serializing_if = "Option::is_none"
750 )]
751 pub audio_codec_name: Option<String>,
752 #[serde(
754 rename = "audioChannels",
755 default,
756 skip_serializing_if = "Option::is_none"
757 )]
758 pub audio_channels: Option<f64>,
759 #[serde(
761 rename = "displayAspectRatio",
762 default,
763 skip_serializing_if = "Option::is_none"
764 )]
765 pub display_aspect_ratio: Option<String>,
766 #[serde(default, skip_serializing_if = "Vec::is_empty")]
768 pub frames: Vec<String>,
769 #[serde(
771 rename = "selectedPoster",
772 default,
773 skip_serializing_if = "Option::is_none"
774 )]
775 pub selected_poster: Option<f64>,
776 #[serde(default, skip_serializing_if = "Option::is_none")]
778 pub error: Option<String>,
779 #[serde(
783 rename = "instagramError",
784 default,
785 skip_serializing_if = "Option::is_none"
786 )]
787 pub instagram_error: Option<String>,
788 #[serde(rename = "gmbError", default, skip_serializing_if = "Option::is_none")]
791 pub gmb_error: Option<String>,
792 #[serde(
795 rename = "facebookError",
796 default,
797 skip_serializing_if = "Option::is_none"
798 )]
799 pub facebook_error: Option<String>,
800 #[serde(
803 rename = "linkedinError",
804 default,
805 skip_serializing_if = "Option::is_none"
806 )]
807 pub linkedin_error: Option<String>,
808 #[serde(
811 rename = "twitterError",
812 default,
813 skip_serializing_if = "Option::is_none"
814 )]
815 pub twitter_error: Option<String>,
816 #[serde(
819 rename = "tiktokError",
820 default,
821 skip_serializing_if = "Option::is_none"
822 )]
823 pub tiktok_error: Option<String>,
824 #[serde(
827 rename = "tiktokBusinessError",
828 default,
829 skip_serializing_if = "Option::is_none"
830 )]
831 pub tiktok_business_error: Option<String>,
832 #[serde(
834 rename = "invalidError",
835 default,
836 skip_serializing_if = "Option::is_none"
837 )]
838 pub invalid_error: Option<String>,
839}
840
841#[derive(Debug, Clone, Default, Serialize, Deserialize)]
843pub struct CSVPostSchema {
844 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
846 pub account_ids: Vec<String>,
847 #[serde(default, skip_serializing_if = "Option::is_none")]
849 pub link: Option<IOgTagsSchema>,
850 #[serde(default, skip_serializing_if = "Vec::is_empty")]
852 pub medias: Vec<CSVMediaResponseSchema>,
853 #[serde(
855 rename = "scheduleDate",
856 default,
857 skip_serializing_if = "Option::is_none"
858 )]
859 pub schedule_date: Option<String>,
860 #[serde(default, skip_serializing_if = "Option::is_none")]
862 pub summary: Option<String>,
863 #[serde(
870 rename = "followUpComment",
871 default,
872 skip_serializing_if = "Option::is_none"
873 )]
874 pub follow_up_comment: Option<String>,
875 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
877 pub type_: Option<String>,
878 #[serde(
880 rename = "tiktokPostDetails",
881 default,
882 skip_serializing_if = "Option::is_none"
883 )]
884 pub tiktok_post_details: Option<TiktokPostSchema>,
885 #[serde(
887 rename = "gmbPostDetails",
888 default,
889 skip_serializing_if = "Option::is_none"
890 )]
891 pub gmb_post_details: Option<GMBPostSchema>,
892 #[serde(
894 rename = "errorMessage",
895 default,
896 skip_serializing_if = "Option::is_none"
897 )]
898 pub error_message: Option<String>,
899 #[serde(
902 rename = "csvFileType",
903 default,
904 skip_serializing_if = "Option::is_none"
905 )]
906 pub csv_file_type: Option<String>,
907 #[serde(
909 rename = "mediaOptimization",
910 default,
911 skip_serializing_if = "Option::is_none"
912 )]
913 pub media_optimization: Option<bool>,
914 #[serde(
916 rename = "applyWatermark",
917 default,
918 skip_serializing_if = "Option::is_none"
919 )]
920 pub apply_watermark: Option<bool>,
921 #[serde(default, skip_serializing_if = "Option::is_none")]
924 pub status: Option<String>,
925 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
928 pub updated_at: Option<String>,
929}
930
931#[derive(Debug, Clone, Default, Serialize, Deserialize)]
933pub struct CSVResponseSchema {
934 #[serde(default, skip_serializing_if = "Option::is_none")]
936 pub csv: Option<CsvResponse>,
937}
938
939#[derive(Debug, Clone, Default, Serialize, Deserialize)]
941pub struct CalendarListDTO {
942 #[serde(rename = "locationId")]
945 pub location_id: String,
946 #[serde(rename = "startDate")]
949 pub start_date: String,
950 #[serde(rename = "endDate")]
953 pub end_date: String,
954 #[serde(rename = "categoryIds", default, skip_serializing_if = "Vec::is_empty")]
956 pub category_ids: Vec<String>,
957 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
959 pub account_ids: Vec<String>,
960}
961
962#[derive(Debug, Clone, Default, Serialize, Deserialize)]
964pub struct CategoryInfoDTO {
965 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
967 pub id: Option<String>,
968 #[serde(default, skip_serializing_if = "Option::is_none")]
970 pub name: Option<String>,
971 #[serde(
973 rename = "primaryColor",
974 default,
975 skip_serializing_if = "Option::is_none"
976 )]
977 pub primary_color: Option<String>,
978 #[serde(
980 rename = "secondaryColor",
981 default,
982 skip_serializing_if = "Option::is_none"
983 )]
984 pub secondary_color: Option<String>,
985 #[serde(default, skip_serializing_if = "Option::is_none")]
987 pub deleted: Option<bool>,
988 #[serde(
990 rename = "locationId",
991 default,
992 skip_serializing_if = "Option::is_none"
993 )]
994 pub location_id: Option<String>,
995 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
997 pub created_by: Option<String>,
998 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1000 pub created_at: Option<String>,
1001 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1003 pub updated_at: Option<String>,
1004}
1005
1006#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1008pub struct CategoryQueueDTO {
1009 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1011 pub id: Option<String>,
1012 #[serde(
1014 rename = "locationId",
1015 default,
1016 skip_serializing_if = "Option::is_none"
1017 )]
1018 pub location_id: Option<String>,
1019 #[serde(
1021 rename = "categoryId",
1022 default,
1023 skip_serializing_if = "Option::is_none"
1024 )]
1025 pub category_id: Option<String>,
1026 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1028 pub time_slots: Vec<TimeSlotDTO>,
1029 #[serde(
1031 rename = "enableFuturePosts",
1032 default,
1033 skip_serializing_if = "Option::is_none"
1034 )]
1035 pub enable_future_posts: Option<bool>,
1036 #[serde(
1038 rename = "prioritizeNewContent",
1039 default,
1040 skip_serializing_if = "Option::is_none"
1041 )]
1042 pub prioritize_new_content: Option<bool>,
1043 #[serde(
1045 rename = "currentOrder",
1046 default,
1047 skip_serializing_if = "Option::is_none"
1048 )]
1049 pub current_order: Option<f64>,
1050 #[serde(default, skip_serializing_if = "Option::is_none")]
1053 pub status: Option<String>,
1054 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1057 pub start_date: Option<String>,
1058 #[serde(
1061 rename = "skipDateTime",
1062 default,
1063 skip_serializing_if = "Vec::is_empty"
1064 )]
1065 pub skip_date_time: Vec<String>,
1066 #[serde(
1068 rename = "currentPostId",
1069 default,
1070 skip_serializing_if = "Option::is_none"
1071 )]
1072 pub current_post_id: Option<String>,
1073 #[serde(
1075 rename = "totalPosts",
1076 default,
1077 skip_serializing_if = "Option::is_none"
1078 )]
1079 pub total_posts: Option<f64>,
1080 #[serde(
1083 rename = "lastScheduledTime",
1084 default,
1085 skip_serializing_if = "Option::is_none"
1086 )]
1087 pub last_scheduled_time: Option<String>,
1088 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1090 pub created_by: Option<String>,
1091 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1094 pub created_at: Option<String>,
1095 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1098 pub updated_at: Option<String>,
1099}
1100
1101#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1103pub struct CategoryQueueWithCategoryDTO {
1104 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1106 pub id: Option<String>,
1107 #[serde(
1109 rename = "locationId",
1110 default,
1111 skip_serializing_if = "Option::is_none"
1112 )]
1113 pub location_id: Option<String>,
1114 #[serde(
1116 rename = "categoryId",
1117 default,
1118 skip_serializing_if = "Option::is_none"
1119 )]
1120 pub category_id: Option<String>,
1121 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1123 pub time_slots: Vec<TimeSlotDTO>,
1124 #[serde(
1126 rename = "enableFuturePosts",
1127 default,
1128 skip_serializing_if = "Option::is_none"
1129 )]
1130 pub enable_future_posts: Option<bool>,
1131 #[serde(
1133 rename = "prioritizeNewContent",
1134 default,
1135 skip_serializing_if = "Option::is_none"
1136 )]
1137 pub prioritize_new_content: Option<bool>,
1138 #[serde(
1140 rename = "currentOrder",
1141 default,
1142 skip_serializing_if = "Option::is_none"
1143 )]
1144 pub current_order: Option<f64>,
1145 #[serde(default, skip_serializing_if = "Option::is_none")]
1148 pub status: Option<String>,
1149 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
1152 pub start_date: Option<String>,
1153 #[serde(
1156 rename = "skipDateTime",
1157 default,
1158 skip_serializing_if = "Vec::is_empty"
1159 )]
1160 pub skip_date_time: Vec<String>,
1161 #[serde(
1163 rename = "currentPostId",
1164 default,
1165 skip_serializing_if = "Option::is_none"
1166 )]
1167 pub current_post_id: Option<String>,
1168 #[serde(
1170 rename = "totalPosts",
1171 default,
1172 skip_serializing_if = "Option::is_none"
1173 )]
1174 pub total_posts: Option<f64>,
1175 #[serde(
1178 rename = "lastScheduledTime",
1179 default,
1180 skip_serializing_if = "Option::is_none"
1181 )]
1182 pub last_scheduled_time: Option<String>,
1183 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1185 pub created_by: Option<String>,
1186 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1189 pub created_at: Option<String>,
1190 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1193 pub updated_at: Option<String>,
1194 #[serde(default, skip_serializing_if = "Option::is_none")]
1196 pub category: Option<CategoryInfoDTO>,
1197}
1198
1199#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1201pub struct CategorySchema {
1202 #[serde(default, skip_serializing_if = "Option::is_none")]
1204 pub name: Option<String>,
1205 #[serde(
1207 rename = "primaryColor",
1208 default,
1209 skip_serializing_if = "Option::is_none"
1210 )]
1211 pub primary_color: Option<String>,
1212 #[serde(
1214 rename = "secondaryColor",
1215 default,
1216 skip_serializing_if = "Option::is_none"
1217 )]
1218 pub secondary_color: Option<String>,
1219 #[serde(
1221 rename = "locationId",
1222 default,
1223 skip_serializing_if = "Option::is_none"
1224 )]
1225 pub location_id: Option<String>,
1226 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1228 pub id: Option<String>,
1229 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1231 pub created_by: Option<String>,
1232 #[serde(default, skip_serializing_if = "Option::is_none")]
1236 pub deleted: Option<bool>,
1237 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1239 pub created_at: Option<String>,
1240 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1242 pub updated_at: Option<String>,
1243}
1244
1245#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1247pub struct CloneQueueItemDTO {
1248 #[serde(rename = "locationId")]
1251 pub location_id: String,
1252 #[serde(rename = "sessionId")]
1255 pub session_id: String,
1256 pub order: f64,
1259}
1260
1261#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1263pub struct CloneQueueItemResponseDTO {
1264 #[serde(default, skip_serializing_if = "Option::is_none")]
1266 pub message: Option<String>,
1267 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
1269 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
1270}
1271
1272#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1274pub struct CommentAttachmentDTO {
1275 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
1277 pub type_: Option<String>,
1278 #[serde(default, skip_serializing_if = "Option::is_none")]
1280 pub url: Option<String>,
1281 #[serde(default, skip_serializing_if = "Option::is_none")]
1283 pub thumbnail: Option<String>,
1284 #[serde(rename = "videoUrl", default, skip_serializing_if = "Option::is_none")]
1286 pub video_url: Option<String>,
1287}
1288
1289#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1291pub struct CommentAuthorDTO {
1292 #[serde(default, skip_serializing_if = "Option::is_none")]
1294 pub id: Option<String>,
1295 #[serde(default, skip_serializing_if = "Option::is_none")]
1297 pub name: Option<String>,
1298 #[serde(
1300 rename = "profilePic",
1301 default,
1302 skip_serializing_if = "Option::is_none"
1303 )]
1304 pub profile_pic: Option<String>,
1305}
1306
1307#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1309pub struct CommentItemDTO {
1310 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
1314 pub id: Option<String>,
1315 #[serde(default, skip_serializing_if = "Option::is_none")]
1319 pub platform: Option<String>,
1320 #[serde(
1322 rename = "platformCommentId",
1323 default,
1324 skip_serializing_if = "Option::is_none"
1325 )]
1326 pub platform_comment_id: Option<String>,
1327 #[serde(
1329 rename = "platformParentId",
1330 default,
1331 skip_serializing_if = "Option::is_none"
1332 )]
1333 pub platform_parent_id: Option<String>,
1334 #[serde(
1336 rename = "platformPostId",
1337 default,
1338 skip_serializing_if = "Option::is_none"
1339 )]
1340 pub platform_post_id: Option<String>,
1341 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
1345 pub post_id: Option<String>,
1346 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
1350 pub origin_id: Option<String>,
1351 #[serde(
1354 rename = "isParentThread",
1355 default,
1356 skip_serializing_if = "Option::is_none"
1357 )]
1358 pub is_parent_thread: Option<bool>,
1359 #[serde(rename = "isPost", default, skip_serializing_if = "Option::is_none")]
1363 pub is_post: Option<bool>,
1364 #[serde(default, skip_serializing_if = "Option::is_none")]
1366 pub content: Option<String>,
1367 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1369 pub attachments: Vec<CommentAttachmentDTO>,
1370 #[serde(default, skip_serializing_if = "Option::is_none")]
1372 pub author: Option<CommentAuthorDTO>,
1373 #[serde(default, skip_serializing_if = "Option::is_none")]
1375 pub level: Option<f64>,
1376 #[serde(rename = "likeCount", default, skip_serializing_if = "Option::is_none")]
1380 pub like_count: Option<f64>,
1381 #[serde(
1385 rename = "reactionCount",
1386 default,
1387 skip_serializing_if = "Option::is_none"
1388 )]
1389 pub reaction_count: Option<f64>,
1390 #[serde(
1394 rename = "replyCount",
1395 default,
1396 skip_serializing_if = "Option::is_none"
1397 )]
1398 pub reply_count: Option<f64>,
1399 #[serde(
1403 rename = "shareCount",
1404 default,
1405 skip_serializing_if = "Option::is_none"
1406 )]
1407 pub share_count: Option<f64>,
1408 #[serde(
1412 rename = "repostCount",
1413 default,
1414 skip_serializing_if = "Option::is_none"
1415 )]
1416 pub repost_count: Option<f64>,
1417 #[serde(
1421 rename = "quoteCount",
1422 default,
1423 skip_serializing_if = "Option::is_none"
1424 )]
1425 pub quote_count: Option<f64>,
1426 #[serde(
1428 rename = "previewLink",
1429 default,
1430 skip_serializing_if = "Option::is_none"
1431 )]
1432 pub preview_link: Option<String>,
1433 #[serde(rename = "isRead", default, skip_serializing_if = "Option::is_none")]
1437 pub is_read: Option<bool>,
1438 #[serde(rename = "isDeleted", default, skip_serializing_if = "Option::is_none")]
1442 pub is_deleted: Option<bool>,
1443 #[serde(rename = "isEdited", default, skip_serializing_if = "Option::is_none")]
1447 pub is_edited: Option<bool>,
1448 #[serde(
1452 rename = "publishedAt",
1453 default,
1454 skip_serializing_if = "Option::is_none"
1455 )]
1456 pub published_at: Option<String>,
1457 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
1460 pub created_at: Option<String>,
1461 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
1464 pub updated_at: Option<String>,
1465}
1466
1467#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1469pub struct CommentsCreateBodyDTO {
1470 #[serde(rename = "parentId")]
1476 pub parent_id: String,
1477 #[serde(rename = "isParentThread")]
1481 pub is_parent_thread: bool,
1482 pub content: String,
1486 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1491 pub attachments: Vec<AttachmentDTO>,
1492 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1496 pub mentions: Vec<MentionsDTO>,
1497 #[serde(
1506 rename = "notifyAllGroupMembers",
1507 default,
1508 skip_serializing_if = "Option::is_none"
1509 )]
1510 pub notify_all_group_members: Option<bool>,
1511}
1512
1513#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1515pub struct CommentsCreateResponseDTO {
1516 #[serde(default, skip_serializing_if = "Option::is_none")]
1520 pub success: Option<bool>,
1521 #[serde(
1525 rename = "statusCode",
1526 default,
1527 skip_serializing_if = "Option::is_none"
1528 )]
1529 pub status_code: Option<f64>,
1530 #[serde(default, skip_serializing_if = "Option::is_none")]
1534 pub message: Option<String>,
1535 #[serde(default, skip_serializing_if = "Option::is_none")]
1539 pub results: Option<CommentItemDTO>,
1540}
1541
1542#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1544pub struct CommentsGetListBodyDTO {
1545 #[serde(rename = "fromDate", default, skip_serializing_if = "Option::is_none")]
1548 pub from_date: Option<String>,
1549 #[serde(rename = "toDate", default, skip_serializing_if = "Option::is_none")]
1551 pub to_date: Option<String>,
1552 #[serde(rename = "originIds", default, skip_serializing_if = "Vec::is_empty")]
1555 pub origin_ids: Vec<String>,
1556 #[serde(rename = "sortBy", default, skip_serializing_if = "Option::is_none")]
1559 pub sort_by: Option<String>,
1560 #[serde(default, skip_serializing_if = "Option::is_none")]
1562 pub search: Option<String>,
1563 #[serde(default, skip_serializing_if = "Option::is_none")]
1565 pub skip: Option<f64>,
1566 #[serde(default, skip_serializing_if = "Option::is_none")]
1568 pub limit: Option<f64>,
1569 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
1574 pub parent_id: Option<String>,
1575}
1576
1577#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1579pub struct CommentsGetListResponseDTO {
1580 #[serde(default, skip_serializing_if = "Option::is_none")]
1584 pub success: Option<bool>,
1585 #[serde(
1589 rename = "statusCode",
1590 default,
1591 skip_serializing_if = "Option::is_none"
1592 )]
1593 pub status_code: Option<f64>,
1594 #[serde(default, skip_serializing_if = "Option::is_none")]
1598 pub message: Option<String>,
1599 #[serde(default, skip_serializing_if = "Option::is_none")]
1603 pub results: Option<CommentsGetListResultsDTO>,
1604}
1605
1606#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1608pub struct CommentsGetListResultsDTO {
1609 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1613 pub comments: Vec<CommentItemDTO>,
1614 #[serde(default, skip_serializing_if = "Option::is_none")]
1618 pub meta: Option<CommentsListMetaDTO>,
1619}
1620
1621#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1623pub struct CommentsLikeResponseDTO {
1624 #[serde(default, skip_serializing_if = "Option::is_none")]
1628 pub success: Option<bool>,
1629 #[serde(
1633 rename = "statusCode",
1634 default,
1635 skip_serializing_if = "Option::is_none"
1636 )]
1637 pub status_code: Option<f64>,
1638 #[serde(default, skip_serializing_if = "Option::is_none")]
1642 pub message: Option<String>,
1643}
1644
1645#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1647pub struct CommentsListMetaDTO {
1648 #[serde(default, skip_serializing_if = "Option::is_none")]
1652 pub total: Option<f64>,
1653 #[serde(
1655 rename = "totalUnread",
1656 default,
1657 skip_serializing_if = "Option::is_none"
1658 )]
1659 pub total_unread: Option<f64>,
1660 #[serde(default, skip_serializing_if = "Option::is_none")]
1664 pub skip: Option<f64>,
1665 #[serde(default, skip_serializing_if = "Option::is_none")]
1669 pub limit: Option<f64>,
1670 #[serde(rename = "hasMore", default, skip_serializing_if = "Option::is_none")]
1674 pub has_more: Option<bool>,
1675}
1676
1677#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1679pub struct CreateCategoryQueueDTO {
1680 #[serde(rename = "locationId")]
1683 pub location_id: String,
1684 #[serde(rename = "categoryId")]
1687 pub category_id: String,
1688 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
1690 pub time_slots: Vec<TimeSlotDTO>,
1691 #[serde(
1693 rename = "enableFuturePosts",
1694 default,
1695 skip_serializing_if = "Option::is_none"
1696 )]
1697 pub enable_future_posts: Option<bool>,
1698 #[serde(
1700 rename = "prioritizeNewContent",
1701 default,
1702 skip_serializing_if = "Option::is_none"
1703 )]
1704 pub prioritize_new_content: Option<bool>,
1705 #[serde(rename = "userId")]
1708 pub user_id: String,
1709}
1710
1711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1713pub struct CreateCategoryQueueResponseDTO {
1714 #[serde(default, skip_serializing_if = "Option::is_none")]
1716 pub message: Option<String>,
1717 #[serde(default, skip_serializing_if = "Option::is_none")]
1719 pub queue: Option<CreatedCategoryQueueDTO>,
1720}
1721
1722#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1724pub struct CreatePostDTO {
1725 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
1731 pub account_ids: Vec<String>,
1732 #[serde(default, skip_serializing_if = "Option::is_none")]
1741 pub summary: Option<String>,
1742 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1745 pub media: Vec<PostMediaSchema>,
1746 #[serde(default, skip_serializing_if = "Option::is_none")]
1759 pub status: Option<String>,
1760 #[serde(
1762 rename = "scheduleDate",
1763 default,
1764 skip_serializing_if = "Option::is_none"
1765 )]
1766 pub schedule_date: Option<String>,
1767 #[serde(
1769 rename = "selectedBestTime",
1770 default,
1771 skip_serializing_if = "Option::is_none"
1772 )]
1773 pub selected_best_time: Option<String>,
1774 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
1778 pub created_by: Option<String>,
1779 #[serde(
1786 rename = "followUpComment",
1787 default,
1788 skip_serializing_if = "Option::is_none"
1789 )]
1790 pub follow_up_comment: Option<String>,
1791 #[serde(
1793 rename = "ogTagsDetails",
1794 default,
1795 skip_serializing_if = "Option::is_none"
1796 )]
1797 pub og_tags_details: Option<OgTagsSchema>,
1798 #[serde(rename = "type")]
1808 pub type_: String,
1809 #[serde(
1811 rename = "postApprovalDetails",
1812 default,
1813 skip_serializing_if = "Option::is_none"
1814 )]
1815 pub post_approval_details: Option<PostApprovalSchema>,
1816 #[serde(
1819 rename = "scheduleTimeUpdated",
1820 default,
1821 skip_serializing_if = "Option::is_none"
1822 )]
1823 pub schedule_time_updated: Option<bool>,
1824 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1828 pub tags: Vec<String>,
1829 #[serde(
1833 rename = "categoryId",
1834 default,
1835 skip_serializing_if = "Option::is_none"
1836 )]
1837 pub category_id: Option<String>,
1838 #[serde(
1841 rename = "applyWatermark",
1842 default,
1843 skip_serializing_if = "Option::is_none"
1844 )]
1845 pub apply_watermark: Option<bool>,
1846 #[serde(
1848 rename = "tiktokPostDetails",
1849 default,
1850 skip_serializing_if = "Option::is_none"
1851 )]
1852 pub tiktok_post_details: Option<TiktokPostSchema>,
1853 #[serde(
1855 rename = "gmbPostDetails",
1856 default,
1857 skip_serializing_if = "Option::is_none"
1858 )]
1859 pub gmb_post_details: Option<GMBPostSchema>,
1860 #[serde(rename = "userId")]
1864 pub user_id: String,
1865 #[serde(
1871 rename = "linkedinPostDetails",
1872 default,
1873 skip_serializing_if = "Option::is_none"
1874 )]
1875 pub linkedin_post_details: Option<LinkedinPostSchema>,
1876 #[serde(
1884 rename = "pinterestPostDetails",
1885 default,
1886 skip_serializing_if = "Option::is_none"
1887 )]
1888 pub pinterest_post_details: Option<PinterestPostSchema>,
1889 #[serde(
1895 rename = "facebookPostDetails",
1896 default,
1897 skip_serializing_if = "Option::is_none"
1898 )]
1899 pub facebook_post_details: Option<FacebookPostSchema>,
1900 #[serde(
1911 rename = "instagramPostDetails",
1912 default,
1913 skip_serializing_if = "Option::is_none"
1914 )]
1915 pub instagram_post_details: Option<InstagramPostSchema>,
1916 #[serde(
1922 rename = "youtubePostDetails",
1923 default,
1924 skip_serializing_if = "Option::is_none"
1925 )]
1926 pub youtube_post_details: Option<YoutubePostSchema>,
1927}
1928
1929#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1931pub struct CreatePostSuccessfulResponseDTO {
1932 #[serde(default, skip_serializing_if = "Option::is_none")]
1936 pub success: Option<bool>,
1937 #[serde(
1941 rename = "statusCode",
1942 default,
1943 skip_serializing_if = "Option::is_none"
1944 )]
1945 pub status_code: Option<f64>,
1946 #[serde(default, skip_serializing_if = "Option::is_none")]
1950 pub message: Option<String>,
1951 #[serde(default, skip_serializing_if = "Option::is_none")]
1953 pub results: Option<CreatePostSuccessfulResponseSchema>,
1954}
1955
1956#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1958pub struct CreatePostSuccessfulResponseSchema {
1959 #[serde(default, skip_serializing_if = "Option::is_none")]
1961 pub post: Option<GetPostFormattedSchema>,
1962}
1963
1964#[derive(Debug, Clone, Default, Serialize, Deserialize)]
1966pub struct CreateQueueItemDTO {
1967 #[serde(rename = "locationId")]
1970 pub location_id: String,
1971 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
1973 pub session_id: Option<String>,
1974 #[serde(
1976 rename = "modifiedPostPayload",
1977 default,
1978 skip_serializing_if = "Option::is_none"
1979 )]
1980 pub modified_post_payload: Option<QueueModifiedPostDTO>,
1981 #[serde(default, skip_serializing_if = "Option::is_none")]
1990 pub order: Option<serde_json::Value>,
1991 #[serde(default, skip_serializing_if = "Vec::is_empty")]
1993 pub variations: Vec<VariationInputDTO>,
1994 #[serde(
1997 rename = "primaryImage",
1998 default,
1999 skip_serializing_if = "Option::is_none"
2000 )]
2001 pub primary_image: Option<String>,
2002 #[serde(
2007 rename = "directToQueue",
2008 default,
2009 skip_serializing_if = "Option::is_none"
2010 )]
2011 pub direct_to_queue: Option<bool>,
2012}
2013
2014#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2016pub struct CreateQueueItemResponseDTO {
2017 #[serde(default, skip_serializing_if = "Option::is_none")]
2019 pub message: Option<String>,
2020 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
2022 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
2023}
2024
2025#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2027pub struct CreatedCategoryQueueDTO {
2028 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2030 pub id: Option<String>,
2031 #[serde(
2033 rename = "locationId",
2034 default,
2035 skip_serializing_if = "Option::is_none"
2036 )]
2037 pub location_id: Option<String>,
2038 #[serde(
2040 rename = "categoryId",
2041 default,
2042 skip_serializing_if = "Option::is_none"
2043 )]
2044 pub category_id: Option<String>,
2045 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
2047 pub time_slots: Vec<CreatedTimeSlotDTO>,
2048 #[serde(
2050 rename = "enableFuturePosts",
2051 default,
2052 skip_serializing_if = "Option::is_none"
2053 )]
2054 pub enable_future_posts: Option<bool>,
2055 #[serde(
2057 rename = "prioritizeNewContent",
2058 default,
2059 skip_serializing_if = "Option::is_none"
2060 )]
2061 pub prioritize_new_content: Option<bool>,
2062 #[serde(default, skip_serializing_if = "Option::is_none")]
2065 pub status: Option<String>,
2066 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2069 pub start_date: Option<String>,
2070 #[serde(
2073 rename = "skipDateTime",
2074 default,
2075 skip_serializing_if = "Vec::is_empty"
2076 )]
2077 pub skip_date_time: Vec<String>,
2078 #[serde(
2080 rename = "totalPosts",
2081 default,
2082 skip_serializing_if = "Option::is_none"
2083 )]
2084 pub total_posts: Option<f64>,
2085 #[serde(
2088 rename = "lastScheduledTime",
2089 default,
2090 skip_serializing_if = "Option::is_none"
2091 )]
2092 pub last_scheduled_time: Option<String>,
2093 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2095 pub created_by: Option<String>,
2096 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2099 pub created_at: Option<String>,
2100 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2103 pub updated_at: Option<String>,
2104}
2105
2106#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2108pub struct CreatedQueueItemWithVariationsDTO {
2109 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2111 pub id: Option<String>,
2112 #[serde(default, skip_serializing_if = "Option::is_none")]
2114 pub order: Option<f64>,
2115 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2117 pub variations: Vec<VariationDTO>,
2118 #[serde(
2120 rename = "primaryImage",
2121 default,
2122 skip_serializing_if = "Option::is_none"
2123 )]
2124 pub primary_image: Option<String>,
2125 #[serde(
2128 rename = "lastScheduledTime",
2129 default,
2130 skip_serializing_if = "Option::is_none"
2131 )]
2132 pub last_scheduled_time: Option<String>,
2133 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2135 pub queue_id: Option<String>,
2136 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2138 pub post_id: Option<String>,
2139 #[serde(
2141 rename = "modifiedPostPayload",
2142 default,
2143 skip_serializing_if = "Option::is_none"
2144 )]
2145 pub modified_post_payload: Option<GetModifiedPayloadFormattedSchema>,
2146 #[serde(
2148 rename = "parentPostId",
2149 default,
2150 skip_serializing_if = "Option::is_none"
2151 )]
2152 pub parent_post_id: Option<String>,
2153 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2156 pub errors: Vec<String>,
2157 #[serde(
2159 rename = "currentVariation",
2160 default,
2161 skip_serializing_if = "Option::is_none"
2162 )]
2163 pub current_variation: Option<f64>,
2164 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
2166 pub created_at: Option<String>,
2167 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2169 pub updated_at: Option<String>,
2170 #[serde(default, skip_serializing_if = "Option::is_none")]
2172 pub deleted: Option<bool>,
2173 #[serde(
2175 rename = "locationId",
2176 default,
2177 skip_serializing_if = "Option::is_none"
2178 )]
2179 pub location_id: Option<String>,
2180}
2181
2182#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2184pub struct CreatedTimeSlotDTO {
2185 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2187 pub id: Option<String>,
2188 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
2190 pub day_of_week: Option<f64>,
2191 #[serde(default, skip_serializing_if = "Option::is_none")]
2193 pub time: Option<String>,
2194}
2195
2196#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2198pub struct CsvPostStatusResponseDTO {
2199 #[serde(default, skip_serializing_if = "Option::is_none")]
2203 pub success: Option<bool>,
2204 #[serde(
2208 rename = "statusCode",
2209 default,
2210 skip_serializing_if = "Option::is_none"
2211 )]
2212 pub status_code: Option<f64>,
2213 #[serde(default, skip_serializing_if = "Option::is_none")]
2217 pub message: Option<String>,
2218}
2219
2220#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2222pub struct CsvResponse {
2223 #[serde(
2225 rename = "locationId",
2226 default,
2227 skip_serializing_if = "Option::is_none"
2228 )]
2229 pub location_id: Option<String>,
2230 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
2232 pub file_name: Option<String>,
2233 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2235 pub account_ids: Vec<String>,
2236 #[serde(default, skip_serializing_if = "Option::is_none")]
2238 pub file: Option<String>,
2239 #[serde(default, skip_serializing_if = "Option::is_none")]
2243 pub status: Option<String>,
2244 #[serde(default, skip_serializing_if = "Option::is_none")]
2246 pub count: Option<f64>,
2247 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
2249 pub created_by: Option<String>,
2250 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
2252 pub trace_id: Option<String>,
2253 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
2255 pub origin_id: Option<String>,
2256 #[serde(default, skip_serializing_if = "Option::is_none")]
2258 pub approver: Option<String>,
2259 #[serde(
2262 rename = "csvFileType",
2263 default,
2264 skip_serializing_if = "Option::is_none"
2265 )]
2266 pub csv_file_type: Option<String>,
2267 #[serde(
2269 rename = "mediaOptimization",
2270 default,
2271 skip_serializing_if = "Option::is_none"
2272 )]
2273 pub media_optimization: Option<bool>,
2274 #[serde(
2276 rename = "applyWatermark",
2277 default,
2278 skip_serializing_if = "Option::is_none"
2279 )]
2280 pub apply_watermark: Option<bool>,
2281 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2284 pub updated_at: Option<String>,
2285}
2286
2287#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2289pub struct DateSchema {
2290 #[serde(default, skip_serializing_if = "Option::is_none")]
2294 pub year: Option<f64>,
2295 #[serde(default, skip_serializing_if = "Option::is_none")]
2299 pub month: Option<f64>,
2300 #[serde(default, skip_serializing_if = "Option::is_none")]
2304 pub day: Option<f64>,
2305}
2306
2307#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2309pub struct DeleteAccountResponseSchema {
2310 #[serde(
2312 rename = "locationId",
2313 default,
2314 skip_serializing_if = "Option::is_none"
2315 )]
2316 pub location_id: Option<String>,
2317 #[serde(default, skip_serializing_if = "Option::is_none")]
2319 pub id: Option<String>,
2320}
2321
2322#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2324pub struct DeleteActivePostResponseDTO {
2325 #[serde(default, skip_serializing_if = "Option::is_none")]
2327 pub message: Option<String>,
2328}
2329
2330#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2332pub struct DeleteCsvResponseDTO {
2333 #[serde(default, skip_serializing_if = "Option::is_none")]
2337 pub success: Option<bool>,
2338 #[serde(
2342 rename = "statusCode",
2343 default,
2344 skip_serializing_if = "Option::is_none"
2345 )]
2346 pub status_code: Option<f64>,
2347 #[serde(default, skip_serializing_if = "Option::is_none")]
2351 pub message: Option<String>,
2352 #[serde(default, skip_serializing_if = "Option::is_none")]
2354 pub results: Option<CSVResponseSchema>,
2355}
2356
2357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2359pub struct DeleteLikeResponseDTO {
2360 #[serde(default, skip_serializing_if = "Option::is_none")]
2364 pub success: Option<bool>,
2365 #[serde(
2369 rename = "statusCode",
2370 default,
2371 skip_serializing_if = "Option::is_none"
2372 )]
2373 pub status_code: Option<f64>,
2374 #[serde(default, skip_serializing_if = "Option::is_none")]
2378 pub message: Option<String>,
2379}
2380
2381#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2383pub struct DeletePostCsvSchema {
2384 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
2386 pub id: Option<String>,
2387 #[serde(
2390 rename = "csvFileType",
2391 default,
2392 skip_serializing_if = "Option::is_none"
2393 )]
2394 pub csv_file_type: Option<String>,
2395 #[serde(
2397 rename = "mediaOptimization",
2398 default,
2399 skip_serializing_if = "Option::is_none"
2400 )]
2401 pub media_optimization: Option<bool>,
2402 #[serde(
2404 rename = "applyWatermark",
2405 default,
2406 skip_serializing_if = "Option::is_none"
2407 )]
2408 pub apply_watermark: Option<bool>,
2409 #[serde(default, skip_serializing_if = "Option::is_none")]
2413 pub status: Option<String>,
2414 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
2417 pub updated_at: Option<String>,
2418}
2419
2420#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2422pub struct DeletePostResponseDTO {
2423 #[serde(default, skip_serializing_if = "Option::is_none")]
2427 pub success: Option<bool>,
2428 #[serde(
2432 rename = "statusCode",
2433 default,
2434 skip_serializing_if = "Option::is_none"
2435 )]
2436 pub status_code: Option<f64>,
2437 #[serde(default, skip_serializing_if = "Option::is_none")]
2441 pub message: Option<String>,
2442 #[serde(default, skip_serializing_if = "Option::is_none")]
2444 pub results: Option<DeletePostResponseSchema>,
2445}
2446
2447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2449pub struct DeletePostResponseSchema {
2450 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2454 pub post_id: Option<String>,
2455 #[serde(default, skip_serializing_if = "Option::is_none")]
2457 pub csv: Option<DeletePostCsvSchema>,
2458}
2459
2460#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2462pub struct DeletePostSuccessfulResponseDTO {
2463 #[serde(default, skip_serializing_if = "Option::is_none")]
2467 pub success: Option<bool>,
2468 #[serde(
2472 rename = "statusCode",
2473 default,
2474 skip_serializing_if = "Option::is_none"
2475 )]
2476 pub status_code: Option<f64>,
2477 #[serde(default, skip_serializing_if = "Option::is_none")]
2481 pub message: Option<String>,
2482 #[serde(default, skip_serializing_if = "Option::is_none")]
2484 pub results: Option<DeletePostSuccessfulResponseSchema>,
2485}
2486
2487#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2489pub struct DeletePostSuccessfulResponseSchema {
2490 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
2492 pub post_id: Option<String>,
2493}
2494
2495#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2497pub struct DeletePostsDto {
2498 #[serde(rename = "postIds", default, skip_serializing_if = "Vec::is_empty")]
2500 pub post_ids: Vec<String>,
2501}
2502
2503#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2505pub struct DiscardEditSessionDTO {
2506 #[serde(rename = "locationId")]
2509 pub location_id: String,
2510 #[serde(rename = "sessionId")]
2513 pub session_id: String,
2514 #[serde(
2517 rename = "keepInDraft",
2518 default,
2519 skip_serializing_if = "Option::is_none"
2520 )]
2521 pub keep_in_draft: Option<bool>,
2522}
2523
2524#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2526pub struct DiscardEditSessionResponseDTO {
2527 #[serde(default, skip_serializing_if = "Option::is_none")]
2529 pub message: Option<String>,
2530}
2531
2532#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2534pub struct EditSessionCalendarDTO {
2535 #[serde(rename = "locationId")]
2538 pub location_id: String,
2539 #[serde(rename = "sessionId")]
2542 pub session_id: String,
2543 #[serde(rename = "startDate")]
2546 pub start_date: String,
2547 #[serde(rename = "endDate")]
2550 pub end_date: String,
2551 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
2553 pub account_ids: Vec<String>,
2554}
2555
2556#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2558pub struct EditSessionCalendarResponseDTO {
2559 #[serde(default, skip_serializing_if = "Option::is_none")]
2560 pub message: Option<String>,
2561 #[serde(
2562 rename = "scheduledPosts",
2563 default,
2564 skip_serializing_if = "Vec::is_empty"
2565 )]
2566 pub scheduled_posts: Vec<EditSessionScheduledPostDTO>,
2567 #[serde(default, skip_serializing_if = "Option::is_none")]
2569 pub total: Option<f64>,
2570 #[serde(default, skip_serializing_if = "Option::is_none")]
2572 pub timezone: Option<String>,
2573}
2574
2575#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2577pub struct EditSessionScheduledPostDTO {
2578 #[serde(
2581 rename = "scheduledDateTime",
2582 default,
2583 skip_serializing_if = "Option::is_none"
2584 )]
2585 pub scheduled_date_time: Option<String>,
2586 #[serde(default, skip_serializing_if = "Option::is_none")]
2588 pub post: Option<GetPostFormattedSchema>,
2589 #[serde(
2591 rename = "queueItemId",
2592 default,
2593 skip_serializing_if = "Option::is_none"
2594 )]
2595 pub queue_item_id: Option<String>,
2596 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
2598 pub queue_id: Option<String>,
2599 #[serde(default, skip_serializing_if = "Option::is_none")]
2601 pub order: Option<f64>,
2602 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2604 pub variations: Vec<VariationDTO>,
2605 #[serde(
2607 rename = "primaryImage",
2608 default,
2609 skip_serializing_if = "Option::is_none"
2610 )]
2611 pub primary_image: Option<String>,
2612 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2615 pub errors: Vec<String>,
2616 #[serde(default, skip_serializing_if = "Option::is_none")]
2618 pub category: Option<CategoryInfoDTO>,
2619 #[serde(
2621 rename = "currentVariation",
2622 default,
2623 skip_serializing_if = "Option::is_none"
2624 )]
2625 pub current_variation: Option<f64>,
2626 #[serde(default, skip_serializing_if = "Option::is_none")]
2628 pub timezone: Option<String>,
2629 #[serde(rename = "isDraft", default, skip_serializing_if = "Option::is_none")]
2631 pub is_draft: Option<bool>,
2632 #[serde(
2634 rename = "originalItemId",
2635 default,
2636 skip_serializing_if = "Option::is_none"
2637 )]
2638 pub original_item_id: Option<String>,
2639}
2640
2641#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2643pub struct EndDateSchema {
2644 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2646 pub end_date: Option<DateSchema>,
2647 #[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
2649 pub end_time: Option<TimeSchema>,
2650}
2651
2652#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2654pub struct FacebookPageSchema {
2655 #[serde(default, skip_serializing_if = "Option::is_none")]
2657 pub id: Option<String>,
2658 #[serde(default, skip_serializing_if = "Option::is_none")]
2660 pub name: Option<String>,
2661 #[serde(default, skip_serializing_if = "Option::is_none")]
2663 pub avatar: Option<String>,
2664 #[serde(rename = "isOwned", default, skip_serializing_if = "Option::is_none")]
2666 pub is_owned: Option<bool>,
2667 #[serde(
2669 rename = "isConnected",
2670 default,
2671 skip_serializing_if = "Option::is_none"
2672 )]
2673 pub is_connected: Option<bool>,
2674}
2675
2676#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2678pub struct FacebookPostSchema {
2679 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
2687 pub type_: Option<String>,
2688 #[serde(
2696 rename = "textFormatPresetId",
2697 default,
2698 skip_serializing_if = "Option::is_none"
2699 )]
2700 pub text_format_preset_id: Option<String>,
2701}
2702
2703#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2705pub struct FetchAvailableCategoriesResponseDTO {
2706 #[serde(default, skip_serializing_if = "Option::is_none")]
2707 pub message: Option<String>,
2708 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2710 pub categories: Vec<AvailableCategoryDTO>,
2711 #[serde(default, skip_serializing_if = "Option::is_none")]
2712 pub meta: Option<MetaDTO>,
2713}
2714
2715#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2717pub struct FetchCalendarListResponseDTO {
2718 #[serde(default, skip_serializing_if = "Option::is_none")]
2719 pub message: Option<String>,
2720 #[serde(
2721 rename = "scheduledPosts",
2722 default,
2723 skip_serializing_if = "Vec::is_empty"
2724 )]
2725 pub scheduled_posts: Vec<ScheduledPostDTO>,
2726 #[serde(default, skip_serializing_if = "Option::is_none")]
2728 pub total: Option<f64>,
2729 #[serde(default, skip_serializing_if = "Option::is_none")]
2731 pub timezone: Option<String>,
2732}
2733
2734#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2736pub struct FetchCategoryQueuesDTO {
2737 #[serde(rename = "locationId")]
2740 pub location_id: String,
2741 #[serde(default, skip_serializing_if = "Option::is_none")]
2743 pub skip: Option<f64>,
2744 #[serde(default, skip_serializing_if = "Option::is_none")]
2746 pub limit: Option<f64>,
2747}
2748
2749#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2751pub struct FetchCategoryQueuesResponseDTO {
2752 #[serde(default, skip_serializing_if = "Option::is_none")]
2753 pub message: Option<String>,
2754 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2755 pub queues: Vec<CategoryQueueWithCategoryDTO>,
2756 #[serde(default, skip_serializing_if = "Option::is_none")]
2757 pub meta: Option<MetaDTO>,
2758}
2759
2760#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2762pub struct FetchQueueByIdResponseDTO {
2763 #[serde(default, skip_serializing_if = "Option::is_none")]
2765 pub message: Option<String>,
2766 #[serde(default, skip_serializing_if = "Option::is_none")]
2768 pub queue: Option<CategoryQueueWithCategoryDTO>,
2769}
2770
2771#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2773pub struct FetchQueueItemsDTO {
2774 #[serde(rename = "locationId")]
2777 pub location_id: String,
2778 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2780 pub session_id: Option<String>,
2781 #[serde(default, skip_serializing_if = "Option::is_none")]
2783 pub skip: Option<f64>,
2784 #[serde(default, skip_serializing_if = "Option::is_none")]
2786 pub limit: Option<f64>,
2787 #[serde(
2789 rename = "errorFilter",
2790 default,
2791 skip_serializing_if = "Option::is_none"
2792 )]
2793 pub error_filter: Option<bool>,
2794 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
2798 pub item_id: Option<String>,
2799}
2800
2801#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2803pub struct FetchQueueItemsMetaDTO {
2804 #[serde(default, skip_serializing_if = "Option::is_none")]
2806 pub count: Option<String>,
2807 #[serde(default, skip_serializing_if = "Option::is_none")]
2809 pub skip: Option<f64>,
2810 #[serde(default, skip_serializing_if = "Option::is_none")]
2812 pub limit: Option<f64>,
2813}
2814
2815#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2817pub struct FetchQueueItemsResponseDTO {
2818 #[serde(default, skip_serializing_if = "Option::is_none")]
2819 pub message: Option<String>,
2820 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2821 pub items: Vec<QueueItemDTO>,
2822 #[serde(default, skip_serializing_if = "Option::is_none")]
2823 pub meta: Option<FetchQueueItemsMetaDTO>,
2824}
2825
2826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2828pub struct FetchSlotsDTO {
2829 #[serde(rename = "locationId")]
2832 pub location_id: String,
2833 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
2835 pub session_id: Option<String>,
2836 #[serde(default, skip_serializing_if = "Option::is_none")]
2838 pub skip: Option<f64>,
2839 #[serde(default, skip_serializing_if = "Option::is_none")]
2841 pub limit: Option<f64>,
2842}
2843
2844#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2846pub struct FetchSlotsResponseDTO {
2847 #[serde(default, skip_serializing_if = "Option::is_none")]
2848 pub message: Option<String>,
2849 #[serde(default, skip_serializing_if = "Vec::is_empty")]
2851 pub slots: Vec<UpdatedSlotInfoDTO>,
2852 #[serde(default, skip_serializing_if = "Option::is_none")]
2854 pub total: Option<f64>,
2855 #[serde(default, skip_serializing_if = "Option::is_none")]
2857 pub skip: Option<f64>,
2858 #[serde(default, skip_serializing_if = "Option::is_none")]
2860 pub limit: Option<f64>,
2861 #[serde(default, skip_serializing_if = "Option::is_none")]
2863 pub timezone: Option<String>,
2864}
2865
2866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2868pub struct FormatedApprovalDetails {
2869 #[serde(default, skip_serializing_if = "Option::is_none")]
2872 pub approver: Option<String>,
2873 #[serde(
2876 rename = "requesterNote",
2877 default,
2878 skip_serializing_if = "Option::is_none"
2879 )]
2880 pub requester_note: Option<String>,
2881 #[serde(
2883 rename = "approverNote",
2884 default,
2885 skip_serializing_if = "Option::is_none"
2886 )]
2887 pub approver_note: Option<String>,
2888 #[serde(
2893 rename = "approvalStatus",
2894 default,
2895 skip_serializing_if = "Option::is_none"
2896 )]
2897 pub approval_status: Option<String>,
2898 #[serde(
2900 rename = "approverUser",
2901 default,
2902 skip_serializing_if = "Option::is_none"
2903 )]
2904 pub approver_user: Option<PostUserSchema>,
2905}
2906
2907#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2909pub struct GMBPostSchema {
2910 #[serde(
2919 rename = "gmbEventType",
2920 default,
2921 skip_serializing_if = "Option::is_none"
2922 )]
2923 pub gmb_event_type: Option<String>,
2924 #[serde(default, skip_serializing_if = "Option::is_none")]
2926 pub title: Option<String>,
2927 #[serde(
2929 rename = "offerTitle",
2930 default,
2931 skip_serializing_if = "Option::is_none"
2932 )]
2933 pub offer_title: Option<String>,
2934 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
2938 pub start_date: Option<StartDateSchema>,
2939 #[serde(rename = "endDate", default, skip_serializing_if = "Option::is_none")]
2943 pub end_date: Option<EndDateSchema>,
2944 #[serde(
2946 rename = "termsConditions",
2947 default,
2948 skip_serializing_if = "Option::is_none"
2949 )]
2950 pub terms_conditions: Option<String>,
2951 #[serde(default, skip_serializing_if = "Option::is_none")]
2954 pub url: Option<String>,
2955 #[serde(
2957 rename = "couponCode",
2958 default,
2959 skip_serializing_if = "Option::is_none"
2960 )]
2961 pub coupon_code: Option<String>,
2962 #[serde(
2964 rename = "redeemOnlineUrl",
2965 default,
2966 skip_serializing_if = "Option::is_none"
2967 )]
2968 pub redeem_online_url: Option<String>,
2969 #[serde(
2975 rename = "actionType",
2976 default,
2977 skip_serializing_if = "Option::is_none"
2978 )]
2979 pub action_type: Option<String>,
2980}
2981
2982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
2984pub struct GeneralSuccessResponseDTO {
2985 #[serde(default, skip_serializing_if = "Option::is_none")]
2987 pub message: Option<String>,
2988 #[serde(
2990 rename = "updatedSlots",
2991 default,
2992 skip_serializing_if = "Vec::is_empty"
2993 )]
2994 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
2995 #[serde(
2997 rename = "totalPostsChanged",
2998 default,
2999 skip_serializing_if = "Option::is_none"
3000 )]
3001 pub total_posts_changed: Option<f64>,
3002}
3003
3004#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3006pub struct GetAccountSchema {
3007 #[serde(default, skip_serializing_if = "Option::is_none")]
3009 pub id: Option<String>,
3010 #[serde(rename = "oauthId", default, skip_serializing_if = "Option::is_none")]
3012 pub oauth_id: Option<String>,
3013 #[serde(rename = "profileId", default, skip_serializing_if = "Option::is_none")]
3015 pub profile_id: Option<String>,
3016 #[serde(default, skip_serializing_if = "Option::is_none")]
3018 pub name: Option<String>,
3019 #[serde(default, skip_serializing_if = "Option::is_none")]
3022 pub platform: Option<String>,
3023 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
3025 pub type_: Option<String>,
3026 #[serde(default, skip_serializing_if = "Option::is_none")]
3028 pub expire: Option<String>,
3029 #[serde(rename = "isExpired", default, skip_serializing_if = "Option::is_none")]
3031 pub is_expired: Option<bool>,
3032 #[serde(default, skip_serializing_if = "Option::is_none")]
3034 pub meta: Option<serde_json::Value>,
3035}
3036
3037#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3039pub struct GetByIdResponseDTO {
3040 #[serde(default, skip_serializing_if = "Option::is_none")]
3044 pub success: Option<bool>,
3045 #[serde(
3049 rename = "statusCode",
3050 default,
3051 skip_serializing_if = "Option::is_none"
3052 )]
3053 pub status_code: Option<f64>,
3054 #[serde(default, skip_serializing_if = "Option::is_none")]
3058 pub message: Option<String>,
3059 #[serde(default, skip_serializing_if = "Option::is_none")]
3061 pub results: Option<GetCategorySchema>,
3062}
3063
3064#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3066pub struct GetByIdResponseSchema {
3067 #[serde(default, skip_serializing_if = "Option::is_none")]
3069 pub name: Option<String>,
3070 #[serde(
3072 rename = "primaryColor",
3073 default,
3074 skip_serializing_if = "Option::is_none"
3075 )]
3076 pub primary_color: Option<String>,
3077 #[serde(
3079 rename = "secondaryColor",
3080 default,
3081 skip_serializing_if = "Option::is_none"
3082 )]
3083 pub secondary_color: Option<String>,
3084 #[serde(
3086 rename = "locationId",
3087 default,
3088 skip_serializing_if = "Option::is_none"
3089 )]
3090 pub location_id: Option<String>,
3091 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3093 pub id: Option<String>,
3094 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3096 pub created_by: Option<String>,
3097 #[serde(default, skip_serializing_if = "Option::is_none")]
3101 pub deleted: Option<bool>,
3102 #[serde(default, skip_serializing_if = "Option::is_none")]
3104 pub message: Option<String>,
3105 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3107 pub created_at: Option<String>,
3108 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3110 pub updated_at: Option<String>,
3111}
3112
3113#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3115pub struct GetByLocationIdResponseDTO {
3116 #[serde(default, skip_serializing_if = "Option::is_none")]
3120 pub success: Option<bool>,
3121 #[serde(
3125 rename = "statusCode",
3126 default,
3127 skip_serializing_if = "Option::is_none"
3128 )]
3129 pub status_code: Option<f64>,
3130 #[serde(default, skip_serializing_if = "Option::is_none")]
3134 pub message: Option<String>,
3135 #[serde(default, skip_serializing_if = "Option::is_none")]
3137 pub results: Option<GetByLocationIdResponseSchema>,
3138}
3139
3140#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3142pub struct GetByLocationIdResponseSchema {
3143 #[serde(default, skip_serializing_if = "Option::is_none")]
3147 pub count: Option<f64>,
3148 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3152 pub categories: Vec<CategorySchema>,
3153}
3154
3155#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3157pub struct GetCategorySchema {
3158 #[serde(default, skip_serializing_if = "Option::is_none")]
3160 pub category: Option<GetByIdResponseSchema>,
3161}
3162
3163#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3165pub struct GetCsvPostResponseDTO {
3166 #[serde(default, skip_serializing_if = "Option::is_none")]
3170 pub success: Option<bool>,
3171 #[serde(
3175 rename = "statusCode",
3176 default,
3177 skip_serializing_if = "Option::is_none"
3178 )]
3179 pub status_code: Option<f64>,
3180 #[serde(default, skip_serializing_if = "Option::is_none")]
3184 pub message: Option<String>,
3185 #[serde(default, skip_serializing_if = "Option::is_none")]
3187 pub results: Option<GetCsvPostResponseSchema>,
3188}
3189
3190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3192pub struct GetCsvPostResponseSchema {
3193 #[serde(default, skip_serializing_if = "Option::is_none")]
3195 pub csv: Option<CSVImportSchema>,
3196 #[serde(default, skip_serializing_if = "Option::is_none")]
3198 pub count: Option<f64>,
3199 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3201 pub posts: Vec<CSVPostSchema>,
3202}
3203
3204#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3206pub struct GetFacebookAccountsResponseDTO {
3207 #[serde(default, skip_serializing_if = "Option::is_none")]
3211 pub success: Option<bool>,
3212 #[serde(
3216 rename = "statusCode",
3217 default,
3218 skip_serializing_if = "Option::is_none"
3219 )]
3220 pub status_code: Option<f64>,
3221 #[serde(default, skip_serializing_if = "Option::is_none")]
3225 pub message: Option<String>,
3226 #[serde(default, skip_serializing_if = "Option::is_none")]
3228 pub results: Option<GetFacebookAccountsSchema>,
3229}
3230
3231#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3233pub struct GetFacebookAccountsSchema {
3234 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3236 pub pages: Vec<FacebookPageSchema>,
3237}
3238
3239#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3241pub struct GetGoogleLocationAccountSchema {
3242 #[serde(default, skip_serializing_if = "Option::is_none")]
3244 pub locations: Option<GetGoogleLocationSchema>,
3245}
3246
3247#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3249pub struct GetGoogleLocationResponseDTO {
3250 #[serde(default, skip_serializing_if = "Option::is_none")]
3254 pub success: Option<bool>,
3255 #[serde(
3259 rename = "statusCode",
3260 default,
3261 skip_serializing_if = "Option::is_none"
3262 )]
3263 pub status_code: Option<f64>,
3264 #[serde(default, skip_serializing_if = "Option::is_none")]
3268 pub message: Option<String>,
3269 #[serde(default, skip_serializing_if = "Option::is_none")]
3271 pub results: Option<GetGoogleLocationAccountSchema>,
3272}
3273
3274#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3276pub struct GetGoogleLocationSchema {
3277 #[serde(default, skip_serializing_if = "Option::is_none")]
3279 pub location: Option<GoogleLocationSchema>,
3280 #[serde(default, skip_serializing_if = "Option::is_none")]
3282 pub account: Option<GoogleAccountsSchema>,
3283}
3284
3285#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3287pub struct GetGroupSchema {
3288 #[serde(default, skip_serializing_if = "Option::is_none")]
3292 pub id: Option<String>,
3293 #[serde(default, skip_serializing_if = "Option::is_none")]
3297 pub name: Option<String>,
3298 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3302 pub account_ids: Vec<String>,
3303}
3304
3305#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3307pub struct GetInstagramAccountsResponseDTO {
3308 #[serde(default, skip_serializing_if = "Option::is_none")]
3312 pub success: Option<bool>,
3313 #[serde(
3317 rename = "statusCode",
3318 default,
3319 skip_serializing_if = "Option::is_none"
3320 )]
3321 pub status_code: Option<f64>,
3322 #[serde(default, skip_serializing_if = "Option::is_none")]
3326 pub message: Option<String>,
3327 #[serde(default, skip_serializing_if = "Option::is_none")]
3329 pub results: Option<GetInstagramAccountsSchema>,
3330}
3331
3332#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3334pub struct GetInstagramAccountsSchema {
3335 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3337 pub accounts: Vec<InstagramAccountSchema>,
3338}
3339
3340#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3342pub struct GetLinkedInAccountSchema {
3343 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3345 pub pages: Vec<LinkedInPageSchema>,
3346 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3348 pub profile: Vec<LinkedInProfileSchema>,
3349}
3350
3351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3353pub struct GetLinkedInAccountsResponseDTO {
3354 #[serde(default, skip_serializing_if = "Option::is_none")]
3358 pub success: Option<bool>,
3359 #[serde(
3363 rename = "statusCode",
3364 default,
3365 skip_serializing_if = "Option::is_none"
3366 )]
3367 pub status_code: Option<f64>,
3368 #[serde(default, skip_serializing_if = "Option::is_none")]
3372 pub message: Option<String>,
3373 #[serde(default, skip_serializing_if = "Option::is_none")]
3375 pub results: Option<GetLinkedInAccountSchema>,
3376}
3377
3378#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3380pub struct GetModifiedPayloadFormattedSchema {
3381 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3383 pub id: Option<String>,
3384 #[serde(default, skip_serializing_if = "Option::is_none")]
3388 pub source: Option<String>,
3389 #[serde(
3393 rename = "locationId",
3394 default,
3395 skip_serializing_if = "Option::is_none"
3396 )]
3397 pub location_id: Option<String>,
3398 #[serde(
3401 rename = "displayDate",
3402 default,
3403 skip_serializing_if = "Option::is_none"
3404 )]
3405 pub display_date: Option<String>,
3406 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3409 pub created_at: Option<String>,
3410 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3413 pub updated_at: Option<String>,
3414 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3416 pub account_id: Option<String>,
3417 #[serde(default, skip_serializing_if = "Option::is_none")]
3421 pub error: Option<String>,
3422 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3424 pub post_id: Option<String>,
3425 #[serde(
3427 rename = "publishedAt",
3428 default,
3429 skip_serializing_if = "Option::is_none"
3430 )]
3431 pub published_at: Option<String>,
3432 #[serde(default, skip_serializing_if = "Option::is_none")]
3439 pub thumbnail: Option<String>,
3440 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3442 pub account_ids: Vec<String>,
3443 #[serde(default, skip_serializing_if = "Option::is_none")]
3445 pub summary: Option<String>,
3446 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3449 pub media: Vec<PostMediaSchema>,
3450 #[serde(default, skip_serializing_if = "Option::is_none")]
3453 pub status: Option<serde_json::Value>,
3454 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3456 pub created_by: Option<String>,
3457 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
3461 pub type_: Option<serde_json::Value>,
3462 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3464 pub tags: Vec<String>,
3465 #[serde(
3467 rename = "ogTagsDetails",
3468 default,
3469 skip_serializing_if = "Option::is_none"
3470 )]
3471 pub og_tags_details: Option<OgTagsSchema>,
3472 #[serde(
3474 rename = "postApprovalDetails",
3475 default,
3476 skip_serializing_if = "Option::is_none"
3477 )]
3478 pub post_approval_details: Option<FormatedApprovalDetails>,
3479 #[serde(
3481 rename = "tiktokPostDetails",
3482 default,
3483 skip_serializing_if = "Option::is_none"
3484 )]
3485 pub tiktok_post_details: Option<TiktokPostSchema>,
3486 #[serde(
3488 rename = "gmbPostDetails",
3489 default,
3490 skip_serializing_if = "Option::is_none"
3491 )]
3492 pub gmb_post_details: Option<GMBPostSchema>,
3493 #[serde(default, skip_serializing_if = "Option::is_none")]
3495 pub user: Option<PostUserSchema>,
3496 #[serde(
3498 rename = "linkedinPostDetails",
3499 default,
3500 skip_serializing_if = "Option::is_none"
3501 )]
3502 pub linkedin_post_details: Option<LinkedinPostSchema>,
3503 #[serde(
3505 rename = "pinterestPostDetails",
3506 default,
3507 skip_serializing_if = "Option::is_none"
3508 )]
3509 pub pinterest_post_details: Option<PinterestPostSchema>,
3510 #[serde(
3512 rename = "facebookPostDetails",
3513 default,
3514 skip_serializing_if = "Option::is_none"
3515 )]
3516 pub facebook_post_details: Option<FacebookPostSchema>,
3517 #[serde(
3519 rename = "instagramPostDetails",
3520 default,
3521 skip_serializing_if = "Option::is_none"
3522 )]
3523 pub instagram_post_details: Option<InstagramPostSchema>,
3524 #[serde(
3526 rename = "youtubePostDetails",
3527 default,
3528 skip_serializing_if = "Option::is_none"
3529 )]
3530 pub youtube_post_details: Option<YoutubePostSchema>,
3531 #[serde(
3533 rename = "mediaOptimization",
3534 default,
3535 skip_serializing_if = "Option::is_none"
3536 )]
3537 pub media_optimization: Option<bool>,
3538}
3539
3540#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3542pub struct GetPinterestAccountSchema {
3543 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3545 pub profile: Vec<PinterestProfileSchema>,
3546}
3547
3548#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3550pub struct GetPinterestAccountsResponseDTO {
3551 #[serde(default, skip_serializing_if = "Option::is_none")]
3555 pub success: Option<bool>,
3556 #[serde(
3560 rename = "statusCode",
3561 default,
3562 skip_serializing_if = "Option::is_none"
3563 )]
3564 pub status_code: Option<f64>,
3565 #[serde(default, skip_serializing_if = "Option::is_none")]
3569 pub message: Option<String>,
3570 #[serde(default, skip_serializing_if = "Option::is_none")]
3572 pub results: Option<GetPinterestAccountSchema>,
3573}
3574
3575#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3577pub struct GetPostFormattedSchema {
3578 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
3580 pub id: Option<String>,
3581 #[serde(default, skip_serializing_if = "Option::is_none")]
3584 pub source: Option<String>,
3585 #[serde(
3589 rename = "locationId",
3590 default,
3591 skip_serializing_if = "Option::is_none"
3592 )]
3593 pub location_id: Option<String>,
3594 #[serde(default, skip_serializing_if = "Option::is_none")]
3597 pub platform: Option<String>,
3598 #[serde(default, skip_serializing_if = "Option::is_none")]
3605 pub thumbnail: Option<String>,
3606 #[serde(
3609 rename = "displayDate",
3610 default,
3611 skip_serializing_if = "Option::is_none"
3612 )]
3613 pub display_date: Option<String>,
3614 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
3617 pub created_at: Option<String>,
3618 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
3621 pub updated_at: Option<String>,
3622 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
3624 pub account_id: Option<String>,
3625 #[serde(default, skip_serializing_if = "Option::is_none")]
3629 pub error: Option<String>,
3630 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
3632 pub post_id: Option<String>,
3633 #[serde(
3635 rename = "publishedAt",
3636 default,
3637 skip_serializing_if = "Option::is_none"
3638 )]
3639 pub published_at: Option<String>,
3640 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
3642 pub account_ids: Vec<String>,
3643 #[serde(default, skip_serializing_if = "Option::is_none")]
3645 pub summary: Option<String>,
3646 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3649 pub media: Vec<PostMediaSchema>,
3650 #[serde(default, skip_serializing_if = "Option::is_none")]
3653 pub status: Option<serde_json::Value>,
3654 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
3656 pub created_by: Option<String>,
3657 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
3661 pub type_: Option<serde_json::Value>,
3662 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3664 pub tags: Vec<String>,
3665 #[serde(
3667 rename = "ogTagsDetails",
3668 default,
3669 skip_serializing_if = "Option::is_none"
3670 )]
3671 pub og_tags_details: Option<OgTagsSchema>,
3672 #[serde(
3674 rename = "postApprovalDetails",
3675 default,
3676 skip_serializing_if = "Option::is_none"
3677 )]
3678 pub post_approval_details: Option<FormatedApprovalDetails>,
3679 #[serde(
3681 rename = "tiktokPostDetails",
3682 default,
3683 skip_serializing_if = "Option::is_none"
3684 )]
3685 pub tiktok_post_details: Option<TiktokPostSchema>,
3686 #[serde(
3688 rename = "gmbPostDetails",
3689 default,
3690 skip_serializing_if = "Option::is_none"
3691 )]
3692 pub gmb_post_details: Option<GMBPostSchema>,
3693 #[serde(
3695 rename = "blueskyPostDetails",
3696 default,
3697 skip_serializing_if = "Option::is_none"
3698 )]
3699 pub bluesky_post_details: Option<BlueskyPostSchema>,
3700 #[serde(default, skip_serializing_if = "Option::is_none")]
3702 pub user: Option<PostUserSchema>,
3703 #[serde(
3705 rename = "linkedinPostDetails",
3706 default,
3707 skip_serializing_if = "Option::is_none"
3708 )]
3709 pub linkedin_post_details: Option<LinkedinPostSchema>,
3710 #[serde(
3712 rename = "pinterestPostDetails",
3713 default,
3714 skip_serializing_if = "Option::is_none"
3715 )]
3716 pub pinterest_post_details: Option<PinterestPostSchema>,
3717 #[serde(
3719 rename = "facebookPostDetails",
3720 default,
3721 skip_serializing_if = "Option::is_none"
3722 )]
3723 pub facebook_post_details: Option<FacebookPostSchema>,
3724 #[serde(
3726 rename = "instagramPostDetails",
3727 default,
3728 skip_serializing_if = "Option::is_none"
3729 )]
3730 pub instagram_post_details: Option<InstagramPostSchema>,
3731 #[serde(
3733 rename = "youtubePostDetails",
3734 default,
3735 skip_serializing_if = "Option::is_none"
3736 )]
3737 pub youtube_post_details: Option<YoutubePostSchema>,
3738 #[serde(
3740 rename = "mediaOptimization",
3741 default,
3742 skip_serializing_if = "Option::is_none"
3743 )]
3744 pub media_optimization: Option<bool>,
3745 #[serde(default, skip_serializing_if = "Option::is_none")]
3750 pub insights: Option<PostInsightsSchema>,
3751}
3752
3753#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3755pub struct GetPostSuccessfulResponseDTO {
3756 #[serde(default, skip_serializing_if = "Option::is_none")]
3760 pub success: Option<bool>,
3761 #[serde(
3765 rename = "statusCode",
3766 default,
3767 skip_serializing_if = "Option::is_none"
3768 )]
3769 pub status_code: Option<f64>,
3770 #[serde(default, skip_serializing_if = "Option::is_none")]
3774 pub message: Option<String>,
3775 #[serde(default, skip_serializing_if = "Option::is_none")]
3777 pub results: Option<GetPostSuccessfulResponseSchema>,
3778}
3779
3780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3782pub struct GetPostSuccessfulResponseSchema {
3783 #[serde(default, skip_serializing_if = "Option::is_none")]
3785 pub post: Option<GetPostFormattedSchema>,
3786}
3787
3788#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3790pub struct GetTagsByIdResponseDTO {
3791 #[serde(default, skip_serializing_if = "Option::is_none")]
3795 pub success: Option<bool>,
3796 #[serde(
3800 rename = "statusCode",
3801 default,
3802 skip_serializing_if = "Option::is_none"
3803 )]
3804 pub status_code: Option<f64>,
3805 #[serde(default, skip_serializing_if = "Option::is_none")]
3809 pub message: Option<String>,
3810 #[serde(default, skip_serializing_if = "Option::is_none")]
3812 pub results: Option<GetTagsByIdResponseSchema>,
3813}
3814
3815#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3817pub struct GetTagsByIdResponseSchema {
3818 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3822 pub tags: Vec<SocialMediaTagSchema>,
3823 #[serde(default, skip_serializing_if = "Option::is_none")]
3825 pub count: Option<f64>,
3826}
3827
3828#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3830pub struct GetTagsByLocationIdResponseDTO {
3831 #[serde(default, skip_serializing_if = "Option::is_none")]
3835 pub success: Option<bool>,
3836 #[serde(
3840 rename = "statusCode",
3841 default,
3842 skip_serializing_if = "Option::is_none"
3843 )]
3844 pub status_code: Option<f64>,
3845 #[serde(default, skip_serializing_if = "Option::is_none")]
3849 pub message: Option<String>,
3850 #[serde(default, skip_serializing_if = "Option::is_none")]
3852 pub results: Option<GetTagsByLocationIdResponseSchema>,
3853}
3854
3855#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3857pub struct GetTagsByLocationIdResponseSchema {
3858 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3860 pub tags: Vec<SocialMediaTagSchema>,
3861 #[serde(default, skip_serializing_if = "Option::is_none")]
3863 pub count: Option<f64>,
3864}
3865
3866#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3868pub struct GetTiktokAccountResponseDTO {
3869 #[serde(default, skip_serializing_if = "Option::is_none")]
3873 pub success: Option<bool>,
3874 #[serde(
3878 rename = "statusCode",
3879 default,
3880 skip_serializing_if = "Option::is_none"
3881 )]
3882 pub status_code: Option<f64>,
3883 #[serde(default, skip_serializing_if = "Option::is_none")]
3887 pub message: Option<String>,
3888 #[serde(default, skip_serializing_if = "Option::is_none")]
3890 pub results: Option<GetTiktokAccountSchema>,
3891}
3892
3893#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3895pub struct GetTiktokAccountSchema {
3896 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3898 pub profile: Vec<TiktokProfileSchema>,
3899}
3900
3901#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3903pub struct GetTiktokBusinessAccountResponseDTO {
3904 #[serde(default, skip_serializing_if = "Option::is_none")]
3908 pub success: Option<bool>,
3909 #[serde(
3913 rename = "statusCode",
3914 default,
3915 skip_serializing_if = "Option::is_none"
3916 )]
3917 pub status_code: Option<f64>,
3918 #[serde(default, skip_serializing_if = "Option::is_none")]
3922 pub message: Option<String>,
3923 #[serde(default, skip_serializing_if = "Option::is_none")]
3925 pub results: Option<GetTiktokBusinessAccountSchema>,
3926}
3927
3928#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3930pub struct GetTiktokBusinessAccountSchema {
3931 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3933 pub profile: Vec<TiktokProfileSchema>,
3934}
3935
3936#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3938pub struct GetTwitterAccountsResponseDTO {
3939 #[serde(default, skip_serializing_if = "Option::is_none")]
3943 pub success: Option<bool>,
3944 #[serde(
3948 rename = "statusCode",
3949 default,
3950 skip_serializing_if = "Option::is_none"
3951 )]
3952 pub status_code: Option<f64>,
3953 #[serde(default, skip_serializing_if = "Option::is_none")]
3957 pub message: Option<String>,
3958 #[serde(default, skip_serializing_if = "Option::is_none")]
3960 pub results: Option<GetTwitterAccountsSchema>,
3961}
3962
3963#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3965pub struct GetTwitterAccountsSchema {
3966 #[serde(default, skip_serializing_if = "Vec::is_empty")]
3968 pub profile: Vec<TwitterProfileSchema>,
3969}
3970
3971#[derive(Debug, Clone, Default, Serialize, Deserialize)]
3973pub struct GetUploadStatusResponseDTO {
3974 #[serde(default, skip_serializing_if = "Option::is_none")]
3978 pub success: Option<bool>,
3979 #[serde(
3983 rename = "statusCode",
3984 default,
3985 skip_serializing_if = "Option::is_none"
3986 )]
3987 pub status_code: Option<f64>,
3988 #[serde(default, skip_serializing_if = "Option::is_none")]
3992 pub message: Option<String>,
3993 #[serde(default, skip_serializing_if = "Option::is_none")]
3995 pub results: Option<GetUploadStatusResponseSchema>,
3996}
3997
3998#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4000pub struct GetUploadStatusResponseSchema {
4001 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4005 pub csvs: Vec<CSVImportSchema>,
4006 #[serde(default, skip_serializing_if = "Option::is_none")]
4010 pub count: Option<f64>,
4011}
4012
4013#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4015pub struct GetYouTubeAccountsResponseDTO {
4016 #[serde(default, skip_serializing_if = "Option::is_none")]
4020 pub success: Option<bool>,
4021 #[serde(
4025 rename = "statusCode",
4026 default,
4027 skip_serializing_if = "Option::is_none"
4028 )]
4029 pub status_code: Option<f64>,
4030 #[serde(default, skip_serializing_if = "Option::is_none")]
4034 pub message: Option<String>,
4035 #[serde(default, skip_serializing_if = "Option::is_none")]
4037 pub results: Option<GetYoutubeAccountSchema>,
4038}
4039
4040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4042pub struct GetYoutubeAccountSchema {
4043 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4045 pub profile: Vec<YoutubeProfileSchema>,
4046}
4047
4048#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4050pub struct GoogleAccountsSchema {
4051 #[serde(default, skip_serializing_if = "Option::is_none")]
4053 pub name: Option<String>,
4054 #[serde(
4056 rename = "accountName",
4057 default,
4058 skip_serializing_if = "Option::is_none"
4059 )]
4060 pub account_name: Option<String>,
4061 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4063 pub type_: Option<String>,
4064 #[serde(
4066 rename = "verificationState",
4067 default,
4068 skip_serializing_if = "Option::is_none"
4069 )]
4070 pub verification_state: Option<String>,
4071 #[serde(
4073 rename = "vettedState",
4074 default,
4075 skip_serializing_if = "Option::is_none"
4076 )]
4077 pub vetted_state: Option<String>,
4078}
4079
4080#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4082pub struct GoogleLocationSchema {
4083 #[serde(default, skip_serializing_if = "Option::is_none")]
4085 pub name: Option<String>,
4086 #[serde(rename = "storeCode", default, skip_serializing_if = "Option::is_none")]
4088 pub store_code: Option<String>,
4089 #[serde(default, skip_serializing_if = "Option::is_none")]
4091 pub title: Option<String>,
4092 #[serde(default, skip_serializing_if = "Option::is_none")]
4094 pub metadata: Option<serde_json::Value>,
4095 #[serde(
4097 rename = "storefrontAddress",
4098 default,
4099 skip_serializing_if = "Option::is_none"
4100 )]
4101 pub storefront_address: Option<serde_json::Value>,
4102 #[serde(
4104 rename = "relationshipData",
4105 default,
4106 skip_serializing_if = "Option::is_none"
4107 )]
4108 pub relationship_data: Option<serde_json::Value>,
4109 #[serde(
4111 rename = "maxLocation",
4112 default,
4113 skip_serializing_if = "Option::is_none"
4114 )]
4115 pub max_location: Option<bool>,
4116 #[serde(
4118 rename = "isVerified",
4119 default,
4120 skip_serializing_if = "Option::is_none"
4121 )]
4122 pub is_verified: Option<bool>,
4123 #[serde(
4125 rename = "isConnected",
4126 default,
4127 skip_serializing_if = "Option::is_none"
4128 )]
4129 pub is_connected: Option<bool>,
4130}
4131
4132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4134pub struct IOgTagsSchema {
4135 #[serde(default, skip_serializing_if = "Option::is_none")]
4137 pub url: Option<String>,
4138 #[serde(
4140 rename = "ogDescription",
4141 default,
4142 skip_serializing_if = "Option::is_none"
4143 )]
4144 pub og_description: Option<String>,
4145 #[serde(rename = "ogImage", default, skip_serializing_if = "Option::is_none")]
4147 pub og_image: Option<OgImageSchema>,
4148 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4150 pub og_title: Option<String>,
4151 #[serde(rename = "ogUrl", default, skip_serializing_if = "Option::is_none")]
4153 pub og_url: Option<String>,
4154 #[serde(
4156 rename = "ogSiteName",
4157 default,
4158 skip_serializing_if = "Option::is_none"
4159 )]
4160 pub og_site_name: Option<String>,
4161 #[serde(default, skip_serializing_if = "Option::is_none")]
4163 pub error: Option<String>,
4164}
4165
4166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4168pub struct InstagramAccountSchema {
4169 #[serde(default, skip_serializing_if = "Option::is_none")]
4171 pub id: Option<String>,
4172 #[serde(default, skip_serializing_if = "Option::is_none")]
4174 pub name: Option<String>,
4175 #[serde(default, skip_serializing_if = "Option::is_none")]
4177 pub avatar: Option<String>,
4178 #[serde(rename = "pageId", default, skip_serializing_if = "Option::is_none")]
4180 pub page_id: Option<String>,
4181 #[serde(
4183 rename = "isConnected",
4184 default,
4185 skip_serializing_if = "Option::is_none"
4186 )]
4187 pub is_connected: Option<bool>,
4188}
4189
4190#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4192pub struct InstagramPostSchema {
4193 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4201 pub type_: Option<String>,
4202 #[serde(default, skip_serializing_if = "Option::is_none")]
4205 pub collaborators: Option<serde_json::Value>,
4206 #[serde(
4209 rename = "showOnFeed",
4210 default,
4211 skip_serializing_if = "Option::is_none"
4212 )]
4213 pub show_on_feed: Option<bool>,
4214 #[serde(
4217 rename = "publishViaPushNotification",
4218 default,
4219 skip_serializing_if = "Option::is_none"
4220 )]
4221 pub publish_via_push_notification: Option<bool>,
4222 #[serde(
4225 rename = "publisherNote",
4226 default,
4227 skip_serializing_if = "Option::is_none"
4228 )]
4229 pub publisher_note: Option<String>,
4230}
4231
4232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4234pub struct LinkedInPageSchema {
4235 #[serde(default, skip_serializing_if = "Option::is_none")]
4237 pub id: Option<String>,
4238 #[serde(default, skip_serializing_if = "Option::is_none")]
4240 pub name: Option<String>,
4241 #[serde(default, skip_serializing_if = "Option::is_none")]
4243 pub avatar: Option<String>,
4244 #[serde(default, skip_serializing_if = "Option::is_none")]
4246 pub urn: Option<String>,
4247 #[serde(
4249 rename = "isConnected",
4250 default,
4251 skip_serializing_if = "Option::is_none"
4252 )]
4253 pub is_connected: Option<bool>,
4254}
4255
4256#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4258pub struct LinkedInProfileSchema {
4259 #[serde(default, skip_serializing_if = "Option::is_none")]
4261 pub id: Option<String>,
4262 #[serde(default, skip_serializing_if = "Option::is_none")]
4264 pub name: Option<String>,
4265 #[serde(default, skip_serializing_if = "Option::is_none")]
4267 pub avatar: Option<String>,
4268 #[serde(default, skip_serializing_if = "Option::is_none")]
4270 pub urn: Option<String>,
4271 #[serde(
4273 rename = "isConnected",
4274 default,
4275 skip_serializing_if = "Option::is_none"
4276 )]
4277 pub is_connected: Option<bool>,
4278}
4279
4280#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4282pub struct LinkedinPollDto {
4283 #[serde(default, skip_serializing_if = "Option::is_none")]
4287 pub question: Option<String>,
4288 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4293 pub options: Vec<LinkedinPollOptionDto>,
4294 #[serde(default, skip_serializing_if = "Option::is_none")]
4298 pub settings: Option<LinkedinPollSettingsDto>,
4299}
4300
4301#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4303pub struct LinkedinPollOptionDto {
4304 #[serde(default, skip_serializing_if = "Option::is_none")]
4308 pub text: Option<String>,
4309}
4310
4311#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4313pub struct LinkedinPollSettingsDto {
4314 #[serde(default, skip_serializing_if = "Option::is_none")]
4319 pub duration: Option<String>,
4320}
4321
4322#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4324pub struct LinkedinPostSchema {
4325 #[serde(rename = "pdfTitle", default, skip_serializing_if = "Option::is_none")]
4331 pub pdf_title: Option<String>,
4332 #[serde(rename = "postAsPdf", default, skip_serializing_if = "Option::is_none")]
4337 pub post_as_pdf: Option<bool>,
4338 #[serde(default, skip_serializing_if = "Option::is_none")]
4344 pub poll: Option<LinkedinPollDto>,
4345}
4346
4347#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4349pub struct LocationAndAccountDeleteResponseDTO {
4350 #[serde(default, skip_serializing_if = "Option::is_none")]
4354 pub success: Option<bool>,
4355 #[serde(
4359 rename = "statusCode",
4360 default,
4361 skip_serializing_if = "Option::is_none"
4362 )]
4363 pub status_code: Option<f64>,
4364 #[serde(default, skip_serializing_if = "Option::is_none")]
4368 pub message: Option<String>,
4369 #[serde(default, skip_serializing_if = "Option::is_none")]
4371 pub results: Option<DeleteAccountResponseSchema>,
4372}
4373
4374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4376pub struct MentionsDTO {
4377 pub name: String,
4380 pub id: String,
4383 pub offset: f64,
4386 pub length: f64,
4389 #[serde(default, skip_serializing_if = "Option::is_none")]
4391 pub slug: Option<String>,
4392}
4393
4394#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4396pub struct MetaDTO {
4397 #[serde(default, skip_serializing_if = "Option::is_none")]
4399 pub count: Option<String>,
4400}
4401
4402#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4404pub struct OgImageSchema {
4405 #[serde(default, skip_serializing_if = "Option::is_none")]
4407 pub url: Option<String>,
4408 #[serde(default, skip_serializing_if = "Option::is_none")]
4410 pub width: Option<f64>,
4411 #[serde(default, skip_serializing_if = "Option::is_none")]
4413 pub height: Option<f64>,
4414 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4416 pub type_: Option<String>,
4417}
4418
4419#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4421pub struct OgTagsDTO {
4422 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4424 pub meta_link: Option<serde_json::Value>,
4425 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4427 pub meta_image: Option<serde_json::Value>,
4428 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4430 pub og_title: Option<serde_json::Value>,
4431}
4432
4433#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4435pub struct OgTagsInputDTO {
4436 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4438 pub meta_link: Option<serde_json::Value>,
4439 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4441 pub meta_image: Option<serde_json::Value>,
4442 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4444 pub og_title: Option<serde_json::Value>,
4445}
4446
4447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4449pub struct OgTagsSchema {
4450 #[serde(rename = "metaImage", default, skip_serializing_if = "Option::is_none")]
4454 pub meta_image: Option<String>,
4455 #[serde(rename = "metaLink", default, skip_serializing_if = "Option::is_none")]
4458 pub meta_link: Option<String>,
4459 #[serde(rename = "ogTitle", default, skip_serializing_if = "Option::is_none")]
4462 pub og_title: Option<String>,
4463 #[serde(
4466 rename = "ogDescription",
4467 default,
4468 skip_serializing_if = "Option::is_none"
4469 )]
4470 pub og_description: Option<String>,
4471}
4472
4473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4477pub struct PinterestBoardSelection {
4478 #[serde(rename = "accountId", default, skip_serializing_if = "Option::is_none")]
4483 pub account_id: Option<String>,
4484 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4489 pub boards: Vec<String>,
4490}
4491
4492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4494pub struct PinterestOAuthAccountSchema {
4495 #[serde(flatten)]
4497 pub extra: serde_json::Map<String, serde_json::Value>,
4498}
4499
4500#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4502pub struct PinterestPostSchema {
4503 #[serde(default, skip_serializing_if = "Option::is_none")]
4506 pub title: Option<String>,
4507 #[serde(default, skip_serializing_if = "Option::is_none")]
4511 pub link: Option<String>,
4512 #[serde(rename = "boardIds", default, skip_serializing_if = "Option::is_none")]
4516 pub board_ids: Option<serde_json::Value>,
4517 #[serde(
4522 rename = "pinterestBoards",
4523 default,
4524 skip_serializing_if = "Vec::is_empty"
4525 )]
4526 pub pinterest_boards: Vec<PinterestBoardSelection>,
4527 #[serde(
4529 rename = "shortenedLinks",
4530 default,
4531 skip_serializing_if = "Vec::is_empty"
4532 )]
4533 pub shortened_links: Vec<String>,
4534}
4535
4536#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4538pub struct PinterestProfileSchema {
4539 #[serde(default, skip_serializing_if = "Option::is_none")]
4541 pub id: Option<String>,
4542 #[serde(default, skip_serializing_if = "Option::is_none")]
4544 pub name: Option<String>,
4545 #[serde(default, skip_serializing_if = "Option::is_none")]
4547 pub username: Option<String>,
4548 #[serde(default, skip_serializing_if = "Option::is_none")]
4550 pub avatar: Option<String>,
4551 #[serde(
4553 rename = "isConnected",
4554 default,
4555 skip_serializing_if = "Option::is_none"
4556 )]
4557 pub is_connected: Option<bool>,
4558 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4560 pub type_: Option<String>,
4561 #[serde(
4563 rename = "websiteUrl",
4564 default,
4565 skip_serializing_if = "Option::is_none"
4566 )]
4567 pub website_url: Option<String>,
4568}
4569
4570#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4572pub struct PostApprovalSchema {
4573 #[serde(default, skip_serializing_if = "Option::is_none")]
4576 pub approver: Option<String>,
4577 #[serde(
4580 rename = "requesterNote",
4581 default,
4582 skip_serializing_if = "Option::is_none"
4583 )]
4584 pub requester_note: Option<String>,
4585 #[serde(
4587 rename = "approverNote",
4588 default,
4589 skip_serializing_if = "Option::is_none"
4590 )]
4591 pub approver_note: Option<String>,
4592 #[serde(
4597 rename = "approvalStatus",
4598 default,
4599 skip_serializing_if = "Option::is_none"
4600 )]
4601 pub approval_status: Option<String>,
4602}
4603
4604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4606pub struct PostCreateRequest {
4607 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4609 pub account_ids: Vec<String>,
4610 #[serde(default, skip_serializing_if = "Option::is_none")]
4613 pub summary: Option<String>,
4614 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4617 pub media: Vec<PostMediaSchema>,
4618 #[serde(default, skip_serializing_if = "Option::is_none")]
4621 pub status: Option<serde_json::Value>,
4622 #[serde(
4624 rename = "scheduleDate",
4625 default,
4626 skip_serializing_if = "Option::is_none"
4627 )]
4628 pub schedule_date: Option<String>,
4629 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
4633 pub created_by: Option<String>,
4634 #[serde(
4641 rename = "followUpComment",
4642 default,
4643 skip_serializing_if = "Option::is_none"
4644 )]
4645 pub follow_up_comment: Option<String>,
4646 #[serde(
4648 rename = "ogTagsDetails",
4649 default,
4650 skip_serializing_if = "Option::is_none"
4651 )]
4652 pub og_tags_details: Option<OgTagsSchema>,
4653 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4657 pub type_: Option<serde_json::Value>,
4658 #[serde(
4660 rename = "postApprovalDetails",
4661 default,
4662 skip_serializing_if = "Option::is_none"
4663 )]
4664 pub post_approval_details: Option<PostApprovalSchema>,
4665 #[serde(
4667 rename = "scheduleTimeUpdated",
4668 default,
4669 skip_serializing_if = "Option::is_none"
4670 )]
4671 pub schedule_time_updated: Option<bool>,
4672 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4674 pub tags: Vec<String>,
4675 #[serde(
4677 rename = "categoryId",
4678 default,
4679 skip_serializing_if = "Option::is_none"
4680 )]
4681 pub category_id: Option<String>,
4682 #[serde(
4684 rename = "tiktokPostDetails",
4685 default,
4686 skip_serializing_if = "Option::is_none"
4687 )]
4688 pub tiktok_post_details: Option<TiktokPostSchema>,
4689 #[serde(
4691 rename = "gmbPostDetails",
4692 default,
4693 skip_serializing_if = "Option::is_none"
4694 )]
4695 pub gmb_post_details: Option<GMBPostSchema>,
4696 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
4698 pub user_id: Option<String>,
4699}
4700
4701#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4703pub struct PostInsightsSchema {
4704 #[serde(default, skip_serializing_if = "Option::is_none")]
4706 pub like: Option<f64>,
4707 #[serde(default, skip_serializing_if = "Option::is_none")]
4709 pub share: Option<f64>,
4710 #[serde(default, skip_serializing_if = "Option::is_none")]
4712 pub comment: Option<f64>,
4713}
4714
4715#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4717pub struct PostMediaSchema {
4718 #[serde(default, skip_serializing_if = "Option::is_none")]
4722 pub url: Option<String>,
4723 #[serde(default, skip_serializing_if = "Option::is_none")]
4725 pub caption: Option<String>,
4726 #[serde(
4729 rename = "originalUrl",
4730 default,
4731 skip_serializing_if = "Option::is_none"
4732 )]
4733 pub original_url: Option<String>,
4734 #[serde(
4736 rename = "watermarkedUrl",
4737 default,
4738 skip_serializing_if = "Option::is_none"
4739 )]
4740 pub watermarked_url: Option<String>,
4741 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
4748 pub type_: Option<String>,
4749 #[serde(default, skip_serializing_if = "Option::is_none")]
4761 pub thumbnail: Option<String>,
4762 #[serde(default, skip_serializing_if = "Option::is_none")]
4764 pub id: Option<String>,
4765 #[serde(
4768 rename = "optimizedUrl",
4769 default,
4770 skip_serializing_if = "Option::is_none"
4771 )]
4772 pub optimized_url: Option<String>,
4773 #[serde(
4776 rename = "optimizedType",
4777 default,
4778 skip_serializing_if = "Option::is_none"
4779 )]
4780 pub optimized_type: Option<String>,
4781 #[serde(
4783 rename = "isModified",
4784 default,
4785 skip_serializing_if = "Option::is_none"
4786 )]
4787 pub is_modified: Option<bool>,
4788 #[serde(rename = "altText", default, skip_serializing_if = "Option::is_none")]
4792 pub alt_text: Option<String>,
4793}
4794
4795#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4797pub struct PostSuccessfulResponseDTO {
4798 #[serde(default, skip_serializing_if = "Option::is_none")]
4802 pub success: Option<bool>,
4803 #[serde(
4807 rename = "statusCode",
4808 default,
4809 skip_serializing_if = "Option::is_none"
4810 )]
4811 pub status_code: Option<f64>,
4812 #[serde(default, skip_serializing_if = "Option::is_none")]
4816 pub message: Option<String>,
4817 #[serde(default, skip_serializing_if = "Option::is_none")]
4819 pub results: Option<PostSuccessfulResponseSchema>,
4820}
4821
4822#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4824pub struct PostSuccessfulResponseSchema {
4825 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4827 pub posts: Vec<GetPostFormattedSchema>,
4828 #[serde(default, skip_serializing_if = "Option::is_none")]
4830 pub count: Option<f64>,
4831}
4832
4833#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4835pub struct PostUserSchema {
4836 #[serde(default, skip_serializing_if = "Option::is_none")]
4840 pub id: Option<String>,
4841 #[serde(default, skip_serializing_if = "Option::is_none")]
4845 pub title: Option<String>,
4846 #[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
4850 pub first_name: Option<String>,
4851 #[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
4855 pub last_name: Option<String>,
4856 #[serde(
4860 rename = "profilePhoto",
4861 default,
4862 skip_serializing_if = "Option::is_none"
4863 )]
4864 pub profile_photo: Option<String>,
4865 #[serde(default, skip_serializing_if = "Option::is_none")]
4869 pub phone: Option<String>,
4870 #[serde(default, skip_serializing_if = "Option::is_none")]
4874 pub email: Option<String>,
4875}
4876
4877#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4879pub struct QueueItemDTO {
4880 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4882 pub id: Option<String>,
4883 #[serde(default, skip_serializing_if = "Option::is_none")]
4885 pub order: Option<f64>,
4886 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4888 pub variations: Vec<VariationDTO>,
4889 #[serde(
4891 rename = "primaryImage",
4892 default,
4893 skip_serializing_if = "Option::is_none"
4894 )]
4895 pub primary_image: Option<String>,
4896 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4898 pub post_id: Option<String>,
4899 #[serde(default, skip_serializing_if = "Option::is_none")]
4901 pub post: Option<GetPostFormattedSchema>,
4902 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4905 pub errors: Vec<String>,
4906 #[serde(
4909 rename = "scheduledDateTime",
4910 default,
4911 skip_serializing_if = "Option::is_none"
4912 )]
4913 pub scheduled_date_time: Option<String>,
4914 #[serde(
4916 rename = "scheduledVariationIndex",
4917 default,
4918 skip_serializing_if = "Option::is_none"
4919 )]
4920 pub scheduled_variation_index: Option<f64>,
4921 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4923 pub is_skipped: Option<bool>,
4924}
4925
4926#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4928pub struct QueueItemWithVariationsDTO {
4929 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
4931 pub id: Option<String>,
4932 #[serde(default, skip_serializing_if = "Option::is_none")]
4934 pub order: Option<f64>,
4935 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4937 pub variations: Vec<VariationDTO>,
4938 #[serde(
4940 rename = "primaryImage",
4941 default,
4942 skip_serializing_if = "Option::is_none"
4943 )]
4944 pub primary_image: Option<String>,
4945 #[serde(rename = "postId", default, skip_serializing_if = "Option::is_none")]
4947 pub post_id: Option<String>,
4948 #[serde(default, skip_serializing_if = "Option::is_none")]
4950 pub post: Option<GetPostFormattedSchema>,
4951 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4954 pub errors: Vec<String>,
4955 #[serde(
4958 rename = "scheduledDateTime",
4959 default,
4960 skip_serializing_if = "Option::is_none"
4961 )]
4962 pub scheduled_date_time: Option<String>,
4963 #[serde(
4965 rename = "scheduledVariationIndex",
4966 default,
4967 skip_serializing_if = "Option::is_none"
4968 )]
4969 pub scheduled_variation_index: Option<f64>,
4970 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
4972 pub is_skipped: Option<bool>,
4973 #[serde(
4975 rename = "currentVariation",
4976 default,
4977 skip_serializing_if = "Option::is_none"
4978 )]
4979 pub current_variation: Option<f64>,
4980}
4981
4982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
4984pub struct QueueModifiedPostDTO {
4985 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
4987 pub account_ids: Vec<String>,
4988 #[serde(default, skip_serializing_if = "Option::is_none")]
4990 pub summary: Option<String>,
4991 #[serde(default, skip_serializing_if = "Vec::is_empty")]
4993 pub media: Vec<PostMediaSchema>,
4994 #[serde(default, skip_serializing_if = "Option::is_none")]
5005 pub status: Option<serde_json::Value>,
5006 #[serde(
5008 rename = "scheduleDate",
5009 default,
5010 skip_serializing_if = "Option::is_none"
5011 )]
5012 pub schedule_date: Option<String>,
5013 #[serde(
5015 rename = "selectedBestTime",
5016 default,
5017 skip_serializing_if = "Option::is_none"
5018 )]
5019 pub selected_best_time: Option<String>,
5020 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
5022 pub created_by: Option<String>,
5023 #[serde(
5030 rename = "followUpComment",
5031 default,
5032 skip_serializing_if = "Option::is_none"
5033 )]
5034 pub follow_up_comment: Option<String>,
5035 #[serde(
5037 rename = "ogTagsDetails",
5038 default,
5039 skip_serializing_if = "Option::is_none"
5040 )]
5041 pub og_tags_details: Option<OgTagsSchema>,
5042 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5044 pub type_: Option<serde_json::Value>,
5045 #[serde(
5047 rename = "postApprovalDetails",
5048 default,
5049 skip_serializing_if = "Option::is_none"
5050 )]
5051 pub post_approval_details: Option<PostApprovalSchema>,
5052 #[serde(
5055 rename = "scheduleTimeUpdated",
5056 default,
5057 skip_serializing_if = "Option::is_none"
5058 )]
5059 pub schedule_time_updated: Option<bool>,
5060 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5064 pub tags: Vec<String>,
5065 #[serde(
5069 rename = "categoryId",
5070 default,
5071 skip_serializing_if = "Option::is_none"
5072 )]
5073 pub category_id: Option<String>,
5074 #[serde(
5077 rename = "applyWatermark",
5078 default,
5079 skip_serializing_if = "Option::is_none"
5080 )]
5081 pub apply_watermark: Option<bool>,
5082 #[serde(
5084 rename = "tiktokPostDetails",
5085 default,
5086 skip_serializing_if = "Option::is_none"
5087 )]
5088 pub tiktok_post_details: Option<TiktokPostSchema>,
5089 #[serde(
5091 rename = "gmbPostDetails",
5092 default,
5093 skip_serializing_if = "Option::is_none"
5094 )]
5095 pub gmb_post_details: Option<GMBPostSchema>,
5096 #[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
5098 pub user_id: Option<String>,
5099 #[serde(
5101 rename = "linkedinPostDetails",
5102 default,
5103 skip_serializing_if = "Option::is_none"
5104 )]
5105 pub linkedin_post_details: Option<LinkedinPostSchema>,
5106 #[serde(
5108 rename = "pinterestPostDetails",
5109 default,
5110 skip_serializing_if = "Option::is_none"
5111 )]
5112 pub pinterest_post_details: Option<PinterestPostSchema>,
5113 #[serde(
5115 rename = "facebookPostDetails",
5116 default,
5117 skip_serializing_if = "Option::is_none"
5118 )]
5119 pub facebook_post_details: Option<FacebookPostSchema>,
5120 #[serde(
5122 rename = "instagramPostDetails",
5123 default,
5124 skip_serializing_if = "Option::is_none"
5125 )]
5126 pub instagram_post_details: Option<InstagramPostSchema>,
5127 #[serde(
5129 rename = "youtubePostDetails",
5130 default,
5131 skip_serializing_if = "Option::is_none"
5132 )]
5133 pub youtube_post_details: Option<YoutubePostSchema>,
5134 #[serde(
5136 rename = "locationId",
5137 default,
5138 skip_serializing_if = "Option::is_none"
5139 )]
5140 pub location_id: Option<String>,
5141}
5142
5143#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5145pub struct ResetQueueItemDTO {
5146 #[serde(rename = "locationId")]
5149 pub location_id: String,
5150 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
5152 pub session_id: Option<String>,
5153}
5154
5155#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5157pub struct ResetQueueItemResponseDTO {
5158 #[serde(default, skip_serializing_if = "Option::is_none")]
5161 pub message: Option<String>,
5162 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
5164 pub queue_item: Option<QueueItemWithVariationsDTO>,
5165}
5166
5167#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5169pub struct SaveEditSessionDTO {
5170 #[serde(rename = "locationId")]
5173 pub location_id: String,
5174 #[serde(rename = "sessionId")]
5177 pub session_id: String,
5178 #[serde(
5181 rename = "keepInDraft",
5182 default,
5183 skip_serializing_if = "Option::is_none"
5184 )]
5185 pub keep_in_draft: Option<bool>,
5186}
5187
5188#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5190pub struct SaveEditSessionResponseDTO {
5191 #[serde(default, skip_serializing_if = "Option::is_none")]
5193 pub message: Option<String>,
5194 #[serde(
5196 rename = "updatedSlots",
5197 default,
5198 skip_serializing_if = "Vec::is_empty"
5199 )]
5200 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
5201 #[serde(
5203 rename = "totalPostsChanged",
5204 default,
5205 skip_serializing_if = "Option::is_none"
5206 )]
5207 pub total_posts_changed: Option<f64>,
5208}
5209
5210#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5212pub struct ScheduledPostDTO {
5213 #[serde(
5216 rename = "scheduledDateTime",
5217 default,
5218 skip_serializing_if = "Option::is_none"
5219 )]
5220 pub scheduled_date_time: Option<String>,
5221 #[serde(default, skip_serializing_if = "Option::is_none")]
5223 pub post: Option<GetPostFormattedSchema>,
5224 #[serde(
5226 rename = "queueItemId",
5227 default,
5228 skip_serializing_if = "Option::is_none"
5229 )]
5230 pub queue_item_id: Option<String>,
5231 #[serde(rename = "queueId", default, skip_serializing_if = "Option::is_none")]
5233 pub queue_id: Option<String>,
5234 #[serde(default, skip_serializing_if = "Option::is_none")]
5236 pub order: Option<f64>,
5237 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5239 pub variations: Vec<VariationDTO>,
5240 #[serde(
5242 rename = "primaryImage",
5243 default,
5244 skip_serializing_if = "Option::is_none"
5245 )]
5246 pub primary_image: Option<String>,
5247 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5250 pub errors: Vec<String>,
5251 #[serde(default, skip_serializing_if = "Option::is_none")]
5253 pub category: Option<CategoryInfoDTO>,
5254 #[serde(
5256 rename = "currentVariation",
5257 default,
5258 skip_serializing_if = "Option::is_none"
5259 )]
5260 pub current_variation: Option<f64>,
5261 #[serde(default, skip_serializing_if = "Option::is_none")]
5263 pub timezone: Option<String>,
5264}
5265
5266#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5268pub struct SearchPostDTO {
5269 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5272 pub type_: Option<String>,
5273 #[serde(default, skip_serializing_if = "Option::is_none")]
5275 pub accounts: Option<String>,
5276 pub skip: String,
5279 pub limit: String,
5282 #[serde(rename = "fromDate")]
5285 pub from_date: String,
5286 #[serde(rename = "toDate")]
5289 pub to_date: String,
5290 #[serde(rename = "includeUsers")]
5293 pub include_users: String,
5294 #[serde(rename = "postType", default, skip_serializing_if = "Option::is_none")]
5296 pub post_type: Option<serde_json::Value>,
5297}
5298
5299#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5301pub struct SetAccountsDTO {
5302 #[serde(rename = "accountIds", default, skip_serializing_if = "Vec::is_empty")]
5305 pub account_ids: Vec<String>,
5306 #[serde(rename = "filePath")]
5309 pub file_path: String,
5310 #[serde(rename = "rowsCount")]
5313 pub rows_count: f64,
5314 #[serde(rename = "fileName")]
5317 pub file_name: String,
5318 #[serde(default, skip_serializing_if = "Option::is_none")]
5320 pub approver: Option<String>,
5321 #[serde(rename = "userId")]
5324 pub user_id: String,
5325 #[serde(
5328 rename = "csvFileType",
5329 default,
5330 skip_serializing_if = "Option::is_none"
5331 )]
5332 pub csv_file_type: Option<String>,
5333}
5334
5335#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5337pub struct SetAccountsResponseDTO {
5338 #[serde(default, skip_serializing_if = "Option::is_none")]
5342 pub success: Option<bool>,
5343 #[serde(
5347 rename = "statusCode",
5348 default,
5349 skip_serializing_if = "Option::is_none"
5350 )]
5351 pub status_code: Option<f64>,
5352 #[serde(default, skip_serializing_if = "Option::is_none")]
5356 pub message: Option<String>,
5357 #[serde(default, skip_serializing_if = "Option::is_none")]
5359 pub results: Option<SetAccountsResultSchema>,
5360}
5361
5362#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5364pub struct SetAccountsResultSchema {
5365 #[serde(rename = "csvId", default, skip_serializing_if = "Option::is_none")]
5369 pub csv_id: Option<String>,
5370}
5371
5372#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5374pub struct SetAccountsUnprocessableDTO {
5375 #[serde(default, skip_serializing_if = "Option::is_none")]
5379 pub status: Option<f64>,
5380 #[serde(default, skip_serializing_if = "Option::is_none")]
5382 pub options: Option<serde_json::Value>,
5383 #[serde(default, skip_serializing_if = "Vec::is_empty")]
5387 pub message: Vec<String>,
5388 #[serde(default, skip_serializing_if = "Option::is_none")]
5392 pub name: Option<String>,
5393 #[serde(default, skip_serializing_if = "Option::is_none")]
5397 pub error: Option<String>,
5398 #[serde(
5402 rename = "statusCode",
5403 default,
5404 skip_serializing_if = "Option::is_none"
5405 )]
5406 pub status_code: Option<f64>,
5407 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
5409 pub trace_id: Option<String>,
5410}
5411
5412#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5414pub struct SocialGoogleMediaAccountSchema {
5415 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5417 pub id: Option<String>,
5418 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5420 pub o_auth_id: Option<String>,
5421 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5423 pub old_id: Option<String>,
5424 #[serde(
5426 rename = "locationId",
5427 default,
5428 skip_serializing_if = "Option::is_none"
5429 )]
5430 pub location_id: Option<String>,
5431 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5433 pub origin_id: Option<String>,
5434 #[serde(default, skip_serializing_if = "Option::is_none")]
5436 pub platform: Option<serde_json::Value>,
5437 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5439 pub type_: Option<serde_json::Value>,
5440 #[serde(default, skip_serializing_if = "Option::is_none")]
5442 pub name: Option<String>,
5443 #[serde(default, skip_serializing_if = "Option::is_none")]
5445 pub avatar: Option<String>,
5446 #[serde(default, skip_serializing_if = "Option::is_none")]
5448 pub meta: Option<serde_json::Value>,
5449 #[serde(default, skip_serializing_if = "Option::is_none")]
5451 pub active: Option<bool>,
5452 #[serde(default, skip_serializing_if = "Option::is_none")]
5454 pub deleted: Option<bool>,
5455 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5458 pub created_at: Option<String>,
5459 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5462 pub updated_at: Option<String>,
5463}
5464
5465#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5467pub struct SocialMediaFBAccountResponseDTO {
5468 #[serde(default, skip_serializing_if = "Option::is_none")]
5472 pub success: Option<bool>,
5473 #[serde(
5477 rename = "statusCode",
5478 default,
5479 skip_serializing_if = "Option::is_none"
5480 )]
5481 pub status_code: Option<f64>,
5482 #[serde(default, skip_serializing_if = "Option::is_none")]
5486 pub message: Option<String>,
5487 #[serde(default, skip_serializing_if = "Option::is_none")]
5489 pub results: Option<SocialMediaFacebookAccountSchema>,
5490}
5491
5492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5494pub struct SocialMediaFacebookAccountSchema {
5495 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5497 pub id: Option<String>,
5498 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5500 pub o_auth_id: Option<String>,
5501 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5503 pub old_id: Option<String>,
5504 #[serde(
5506 rename = "locationId",
5507 default,
5508 skip_serializing_if = "Option::is_none"
5509 )]
5510 pub location_id: Option<String>,
5511 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5513 pub origin_id: Option<String>,
5514 #[serde(default, skip_serializing_if = "Option::is_none")]
5516 pub platform: Option<serde_json::Value>,
5517 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5519 pub type_: Option<serde_json::Value>,
5520 #[serde(default, skip_serializing_if = "Option::is_none")]
5522 pub name: Option<String>,
5523 #[serde(default, skip_serializing_if = "Option::is_none")]
5525 pub avatar: Option<String>,
5526 #[serde(default, skip_serializing_if = "Option::is_none")]
5528 pub meta: Option<serde_json::Value>,
5529 #[serde(default, skip_serializing_if = "Option::is_none")]
5531 pub active: Option<bool>,
5532 #[serde(default, skip_serializing_if = "Option::is_none")]
5534 pub deleted: Option<bool>,
5535 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5538 pub created_at: Option<String>,
5539 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5542 pub updated_at: Option<String>,
5543}
5544
5545#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5547pub struct SocialMediaGmbAccountResponseDTO {
5548 #[serde(default, skip_serializing_if = "Option::is_none")]
5552 pub success: Option<bool>,
5553 #[serde(
5557 rename = "statusCode",
5558 default,
5559 skip_serializing_if = "Option::is_none"
5560 )]
5561 pub status_code: Option<f64>,
5562 #[serde(default, skip_serializing_if = "Option::is_none")]
5566 pub message: Option<String>,
5567 #[serde(default, skip_serializing_if = "Option::is_none")]
5569 pub results: Option<SocialGoogleMediaAccountSchema>,
5570}
5571
5572#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5574pub struct SocialMediaInstagramAccountResponseDTO {
5575 #[serde(default, skip_serializing_if = "Option::is_none")]
5579 pub success: Option<bool>,
5580 #[serde(
5584 rename = "statusCode",
5585 default,
5586 skip_serializing_if = "Option::is_none"
5587 )]
5588 pub status_code: Option<f64>,
5589 #[serde(default, skip_serializing_if = "Option::is_none")]
5593 pub message: Option<String>,
5594 #[serde(default, skip_serializing_if = "Option::is_none")]
5596 pub results: Option<SocialMediaInstagramAccountSchema>,
5597}
5598
5599#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5601pub struct SocialMediaInstagramAccountSchema {
5602 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5604 pub id: Option<String>,
5605 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5607 pub o_auth_id: Option<String>,
5608 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5610 pub old_id: Option<String>,
5611 #[serde(
5613 rename = "locationId",
5614 default,
5615 skip_serializing_if = "Option::is_none"
5616 )]
5617 pub location_id: Option<String>,
5618 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5620 pub origin_id: Option<String>,
5621 #[serde(default, skip_serializing_if = "Option::is_none")]
5623 pub platform: Option<serde_json::Value>,
5624 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5626 pub type_: Option<serde_json::Value>,
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 avatar: Option<String>,
5633 #[serde(default, skip_serializing_if = "Option::is_none")]
5635 pub meta: Option<serde_json::Value>,
5636 #[serde(default, skip_serializing_if = "Option::is_none")]
5638 pub active: Option<bool>,
5639 #[serde(default, skip_serializing_if = "Option::is_none")]
5641 pub deleted: Option<bool>,
5642 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5645 pub created_at: Option<String>,
5646 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5649 pub updated_at: Option<String>,
5650}
5651
5652#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5654pub struct SocialMediaLinkedInAccountResponseDTO {
5655 #[serde(default, skip_serializing_if = "Option::is_none")]
5659 pub success: Option<bool>,
5660 #[serde(
5664 rename = "statusCode",
5665 default,
5666 skip_serializing_if = "Option::is_none"
5667 )]
5668 pub status_code: Option<f64>,
5669 #[serde(default, skip_serializing_if = "Option::is_none")]
5673 pub message: Option<String>,
5674 #[serde(default, skip_serializing_if = "Option::is_none")]
5676 pub results: Option<SocialMediaLinkedInAccountSchema>,
5677}
5678
5679#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5681pub struct SocialMediaLinkedInAccountSchema {
5682 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5684 pub id: Option<String>,
5685 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5687 pub o_auth_id: Option<String>,
5688 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5690 pub old_id: Option<String>,
5691 #[serde(
5693 rename = "locationId",
5694 default,
5695 skip_serializing_if = "Option::is_none"
5696 )]
5697 pub location_id: Option<String>,
5698 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5700 pub origin_id: Option<String>,
5701 #[serde(default, skip_serializing_if = "Option::is_none")]
5703 pub platform: Option<serde_json::Value>,
5704 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5706 pub type_: Option<serde_json::Value>,
5707 #[serde(default, skip_serializing_if = "Option::is_none")]
5709 pub name: Option<String>,
5710 #[serde(default, skip_serializing_if = "Option::is_none")]
5712 pub avatar: Option<String>,
5713 #[serde(default, skip_serializing_if = "Option::is_none")]
5715 pub meta: Option<serde_json::Value>,
5716 #[serde(default, skip_serializing_if = "Option::is_none")]
5718 pub active: Option<bool>,
5719 #[serde(default, skip_serializing_if = "Option::is_none")]
5721 pub deleted: Option<bool>,
5722 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5725 pub created_at: Option<String>,
5726 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5729 pub updated_at: Option<String>,
5730}
5731
5732#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5734pub struct SocialMediaPinterestAccountResponseDTO {
5735 #[serde(default, skip_serializing_if = "Option::is_none")]
5739 pub success: Option<bool>,
5740 #[serde(
5744 rename = "statusCode",
5745 default,
5746 skip_serializing_if = "Option::is_none"
5747 )]
5748 pub status_code: Option<f64>,
5749 #[serde(default, skip_serializing_if = "Option::is_none")]
5753 pub message: Option<String>,
5754 #[serde(default, skip_serializing_if = "Option::is_none")]
5756 pub results: Option<PinterestOAuthAccountSchema>,
5757}
5758
5759#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5761pub struct SocialMediaTagSchema {
5762 #[serde(default, skip_serializing_if = "Option::is_none")]
5764 pub tag: Option<String>,
5765 #[serde(
5767 rename = "locationId",
5768 default,
5769 skip_serializing_if = "Option::is_none"
5770 )]
5771 pub location_id: Option<String>,
5772 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5774 pub id: Option<String>,
5775 #[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
5777 pub created_by: Option<String>,
5778 #[serde(default, skip_serializing_if = "Option::is_none")]
5780 pub deleted: Option<bool>,
5781 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5784 pub created_at: Option<String>,
5785 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5788 pub updated_at: Option<String>,
5789}
5790
5791#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5793pub struct SocialMediaThreadsAccountResponseDTO {
5794 #[serde(default, skip_serializing_if = "Option::is_none")]
5798 pub success: Option<bool>,
5799 #[serde(
5803 rename = "statusCode",
5804 default,
5805 skip_serializing_if = "Option::is_none"
5806 )]
5807 pub status_code: Option<f64>,
5808 #[serde(default, skip_serializing_if = "Option::is_none")]
5812 pub message: Option<String>,
5813 #[serde(default, skip_serializing_if = "Option::is_none")]
5815 pub results: Option<SocialMediaThreadsAccountSchema>,
5816}
5817
5818#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5820pub struct SocialMediaThreadsAccountSchema {
5821 #[serde(flatten)]
5823 pub extra: serde_json::Map<String, serde_json::Value>,
5824}
5825
5826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5828pub struct SocialMediaTiktokAccountResponseDTO {
5829 #[serde(default, skip_serializing_if = "Option::is_none")]
5833 pub success: Option<bool>,
5834 #[serde(
5838 rename = "statusCode",
5839 default,
5840 skip_serializing_if = "Option::is_none"
5841 )]
5842 pub status_code: Option<f64>,
5843 #[serde(default, skip_serializing_if = "Option::is_none")]
5847 pub message: Option<String>,
5848 #[serde(default, skip_serializing_if = "Option::is_none")]
5850 pub results: Option<SocialMediaTiktokAccountSchema>,
5851}
5852
5853#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5855pub struct SocialMediaTiktokAccountSchema {
5856 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5858 pub id: Option<String>,
5859 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5861 pub o_auth_id: Option<String>,
5862 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5864 pub old_id: Option<String>,
5865 #[serde(
5867 rename = "locationId",
5868 default,
5869 skip_serializing_if = "Option::is_none"
5870 )]
5871 pub location_id: Option<String>,
5872 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5874 pub origin_id: Option<String>,
5875 #[serde(default, skip_serializing_if = "Option::is_none")]
5877 pub platform: Option<serde_json::Value>,
5878 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5880 pub type_: Option<serde_json::Value>,
5881 #[serde(default, skip_serializing_if = "Option::is_none")]
5883 pub name: Option<String>,
5884 #[serde(default, skip_serializing_if = "Option::is_none")]
5886 pub avatar: Option<String>,
5887 #[serde(default, skip_serializing_if = "Option::is_none")]
5889 pub meta: Option<serde_json::Value>,
5890 #[serde(default, skip_serializing_if = "Option::is_none")]
5892 pub active: Option<bool>,
5893 #[serde(default, skip_serializing_if = "Option::is_none")]
5895 pub deleted: Option<bool>,
5896 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
5899 pub created_at: Option<String>,
5900 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
5903 pub updated_at: Option<String>,
5904}
5905
5906#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5908pub struct SocialMediaTiktokBusinessAccountResponseDTO {
5909 #[serde(default, skip_serializing_if = "Option::is_none")]
5913 pub success: Option<bool>,
5914 #[serde(
5918 rename = "statusCode",
5919 default,
5920 skip_serializing_if = "Option::is_none"
5921 )]
5922 pub status_code: Option<f64>,
5923 #[serde(default, skip_serializing_if = "Option::is_none")]
5927 pub message: Option<String>,
5928 #[serde(default, skip_serializing_if = "Option::is_none")]
5930 pub results: Option<TikTokOAuthAccountSchema>,
5931}
5932
5933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5935pub struct SocialMediaTwitterAccountResponseDTO {
5936 #[serde(default, skip_serializing_if = "Option::is_none")]
5940 pub success: Option<bool>,
5941 #[serde(
5945 rename = "statusCode",
5946 default,
5947 skip_serializing_if = "Option::is_none"
5948 )]
5949 pub status_code: Option<f64>,
5950 #[serde(default, skip_serializing_if = "Option::is_none")]
5954 pub message: Option<String>,
5955 #[serde(default, skip_serializing_if = "Option::is_none")]
5957 pub results: Option<SocialMediaTwitterAccountSchema>,
5958}
5959
5960#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5962pub struct SocialMediaTwitterAccountSchema {
5963 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
5965 pub id: Option<String>,
5966 #[serde(rename = "oAuthId", default, skip_serializing_if = "Option::is_none")]
5968 pub o_auth_id: Option<String>,
5969 #[serde(rename = "oldId", default, skip_serializing_if = "Option::is_none")]
5971 pub old_id: Option<String>,
5972 #[serde(
5974 rename = "locationId",
5975 default,
5976 skip_serializing_if = "Option::is_none"
5977 )]
5978 pub location_id: Option<String>,
5979 #[serde(rename = "originId", default, skip_serializing_if = "Option::is_none")]
5981 pub origin_id: Option<String>,
5982 #[serde(default, skip_serializing_if = "Option::is_none")]
5984 pub platform: Option<serde_json::Value>,
5985 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
5987 pub type_: Option<serde_json::Value>,
5988 #[serde(default, skip_serializing_if = "Option::is_none")]
5990 pub name: Option<String>,
5991 #[serde(default, skip_serializing_if = "Option::is_none")]
5993 pub avatar: Option<String>,
5994 #[serde(default, skip_serializing_if = "Option::is_none")]
5996 pub meta: Option<serde_json::Value>,
5997 #[serde(default, skip_serializing_if = "Option::is_none")]
5999 pub active: Option<bool>,
6000 #[serde(default, skip_serializing_if = "Option::is_none")]
6002 pub deleted: Option<bool>,
6003 #[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
6006 pub created_at: Option<String>,
6007 #[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
6010 pub updated_at: Option<String>,
6011}
6012
6013#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6015pub struct SocialMediaYouTubeAccountResponseDTO {
6016 #[serde(default, skip_serializing_if = "Option::is_none")]
6020 pub success: Option<bool>,
6021 #[serde(
6025 rename = "statusCode",
6026 default,
6027 skip_serializing_if = "Option::is_none"
6028 )]
6029 pub status_code: Option<f64>,
6030 #[serde(default, skip_serializing_if = "Option::is_none")]
6034 pub message: Option<String>,
6035 #[serde(default, skip_serializing_if = "Option::is_none")]
6037 pub results: Option<YouTubeOAuthAccountSchema>,
6038}
6039
6040#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6042pub struct StartDateSchema {
6043 #[serde(rename = "startDate", default, skip_serializing_if = "Option::is_none")]
6045 pub start_date: Option<DateSchema>,
6046 #[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
6048 pub start_time: Option<TimeSchema>,
6049}
6050
6051#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6053pub struct StartEditSessionDTO {
6054 #[serde(rename = "locationId")]
6057 pub location_id: String,
6058}
6059
6060#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6062pub struct StartEditSessionResponseDTO {
6063 #[serde(default, skip_serializing_if = "Option::is_none")]
6065 pub message: Option<String>,
6066 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
6068 pub session_id: Option<String>,
6069 #[serde(rename = "itemCount", default, skip_serializing_if = "Option::is_none")]
6071 pub item_count: Option<f64>,
6072}
6073
6074#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6076pub struct TikTokOAuthAccountSchema {
6077 #[serde(flatten)]
6079 pub extra: serde_json::Map<String, serde_json::Value>,
6080}
6081
6082#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6084pub struct TiktokPostSchema {
6085 #[serde(
6093 rename = "privacyLevel",
6094 default,
6095 skip_serializing_if = "Option::is_none"
6096 )]
6097 pub privacy_level: Option<String>,
6098 #[serde(
6101 rename = "promoteOtherBrand",
6102 default,
6103 skip_serializing_if = "Option::is_none"
6104 )]
6105 pub promote_other_brand: Option<bool>,
6106 #[serde(
6108 rename = "enableComment",
6109 default,
6110 skip_serializing_if = "Option::is_none"
6111 )]
6112 pub enable_comment: Option<bool>,
6113 #[serde(
6116 rename = "enableDuet",
6117 default,
6118 skip_serializing_if = "Option::is_none"
6119 )]
6120 pub enable_duet: Option<bool>,
6121 #[serde(
6124 rename = "enableStitch",
6125 default,
6126 skip_serializing_if = "Option::is_none"
6127 )]
6128 pub enable_stitch: Option<bool>,
6129 #[serde(
6133 rename = "videoDisclosure",
6134 default,
6135 skip_serializing_if = "Option::is_none"
6136 )]
6137 pub video_disclosure: Option<bool>,
6138 #[serde(
6141 rename = "promoteYourBrand",
6142 default,
6143 skip_serializing_if = "Option::is_none"
6144 )]
6145 pub promote_your_brand: Option<bool>,
6146}
6147
6148#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6150pub struct TiktokProfileSchema {
6151 #[serde(default, skip_serializing_if = "Option::is_none")]
6153 pub id: Option<String>,
6154 #[serde(default, skip_serializing_if = "Option::is_none")]
6156 pub name: Option<String>,
6157 #[serde(default, skip_serializing_if = "Option::is_none")]
6159 pub username: Option<String>,
6160 #[serde(default, skip_serializing_if = "Option::is_none")]
6162 pub avatar: Option<String>,
6163 #[serde(default, skip_serializing_if = "Option::is_none")]
6165 pub verified: Option<bool>,
6166 #[serde(
6168 rename = "isConnected",
6169 default,
6170 skip_serializing_if = "Option::is_none"
6171 )]
6172 pub is_connected: Option<bool>,
6173 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
6175 pub type_: Option<serde_json::Value>,
6176}
6177
6178#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6180pub struct TimeSchema {
6181 #[serde(default, skip_serializing_if = "Option::is_none")]
6185 pub hours: Option<f64>,
6186 #[serde(default, skip_serializing_if = "Option::is_none")]
6190 pub minutes: Option<f64>,
6191 #[serde(default, skip_serializing_if = "Option::is_none")]
6195 pub seconds: Option<f64>,
6196}
6197
6198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6200pub struct TimeSlotDTO {
6201 #[serde(rename = "dayOfWeek", default, skip_serializing_if = "Option::is_none")]
6205 pub day_of_week: Option<f64>,
6206 #[serde(default, skip_serializing_if = "Option::is_none")]
6210 pub time: Option<String>,
6211}
6212
6213#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6215pub struct TwitterProfileSchema {
6216 #[serde(default, skip_serializing_if = "Option::is_none")]
6218 pub id: Option<String>,
6219 #[serde(default, skip_serializing_if = "Option::is_none")]
6221 pub name: Option<String>,
6222 #[serde(default, skip_serializing_if = "Option::is_none")]
6224 pub username: Option<String>,
6225 #[serde(default, skip_serializing_if = "Option::is_none")]
6227 pub avatar: Option<String>,
6228 #[serde(default, skip_serializing_if = "Option::is_none")]
6230 pub protected: Option<bool>,
6231 #[serde(default, skip_serializing_if = "Option::is_none")]
6233 pub verified: Option<bool>,
6234 #[serde(
6236 rename = "isConnected",
6237 default,
6238 skip_serializing_if = "Option::is_none"
6239 )]
6240 pub is_connected: Option<bool>,
6241}
6242
6243#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6245pub struct UpdateCategoryQueueDTO {
6246 #[serde(rename = "locationId")]
6249 pub location_id: String,
6250 #[serde(
6252 rename = "skipLegacyWatermark",
6253 default,
6254 skip_serializing_if = "Option::is_none"
6255 )]
6256 pub skip_legacy_watermark: Option<bool>,
6257 #[serde(default, skip_serializing_if = "Option::is_none")]
6259 pub status: Option<serde_json::Value>,
6260 #[serde(
6262 rename = "skipDateTime",
6263 default,
6264 skip_serializing_if = "Option::is_none"
6265 )]
6266 pub skip_date_time: Option<String>,
6267 #[serde(rename = "timeSlots", default, skip_serializing_if = "Vec::is_empty")]
6268 pub time_slots: Vec<TimeSlotDTO>,
6269 #[serde(
6272 rename = "enableFuturePosts",
6273 default,
6274 skip_serializing_if = "Option::is_none"
6275 )]
6276 pub enable_future_posts: Option<bool>,
6277 #[serde(
6280 rename = "prioritizeNewContent",
6281 default,
6282 skip_serializing_if = "Option::is_none"
6283 )]
6284 pub prioritize_new_content: Option<bool>,
6285}
6286
6287#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6289pub struct UpdateCategoryQueueResponseDTO {
6290 #[serde(default, skip_serializing_if = "Option::is_none")]
6294 pub message: Option<String>,
6295 #[serde(default, skip_serializing_if = "Option::is_none")]
6297 pub queue: Option<CategoryQueueDTO>,
6298}
6299
6300#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6302pub struct UpdatePostSuccessfulResponseDTO {
6303 #[serde(default, skip_serializing_if = "Option::is_none")]
6307 pub success: Option<bool>,
6308 #[serde(
6312 rename = "statusCode",
6313 default,
6314 skip_serializing_if = "Option::is_none"
6315 )]
6316 pub status_code: Option<f64>,
6317 #[serde(default, skip_serializing_if = "Option::is_none")]
6321 pub message: Option<String>,
6322}
6323
6324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6326pub struct UpdateQueueItemDTO {
6327 #[serde(rename = "locationId")]
6330 pub location_id: String,
6331 #[serde(rename = "sessionId", default, skip_serializing_if = "Option::is_none")]
6333 pub session_id: Option<String>,
6334 #[serde(
6336 rename = "modifiedPostPayload",
6337 default,
6338 skip_serializing_if = "Option::is_none"
6339 )]
6340 pub modified_post_payload: Option<QueueModifiedPostDTO>,
6341 #[serde(rename = "newOrder", default, skip_serializing_if = "Option::is_none")]
6348 pub new_order: Option<serde_json::Value>,
6349 #[serde(default, skip_serializing_if = "Vec::is_empty")]
6351 pub variations: Vec<VariationInputDTO>,
6352 #[serde(
6354 rename = "primaryImage",
6355 default,
6356 skip_serializing_if = "Option::is_none"
6357 )]
6358 pub primary_image: Option<String>,
6359}
6360
6361#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6363pub struct UpdateQueueItemResponseDTO {
6364 #[serde(default, skip_serializing_if = "Option::is_none")]
6366 pub message: Option<String>,
6367 #[serde(rename = "queueItem", default, skip_serializing_if = "Option::is_none")]
6369 pub queue_item: Option<CreatedQueueItemWithVariationsDTO>,
6370 #[serde(
6372 rename = "updatedSlots",
6373 default,
6374 skip_serializing_if = "Vec::is_empty"
6375 )]
6376 pub updated_slots: Vec<UpdatedSlotInfoDTO>,
6377 #[serde(
6379 rename = "totalPostsChanged",
6380 default,
6381 skip_serializing_if = "Option::is_none"
6382 )]
6383 pub total_posts_changed: Option<f64>,
6384}
6385
6386#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6388pub struct UpdateTagDTO {
6389 #[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
6392 pub tag_ids: Vec<String>,
6393}
6394
6395#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6397pub struct UpdatedSlotInfoDTO {
6398 #[serde(rename = "itemId", default, skip_serializing_if = "Option::is_none")]
6400 pub item_id: Option<String>,
6401 #[serde(
6404 rename = "scheduledDateTime",
6405 default,
6406 skip_serializing_if = "Option::is_none"
6407 )]
6408 pub scheduled_date_time: Option<String>,
6409 #[serde(rename = "isSkipped", default, skip_serializing_if = "Option::is_none")]
6411 pub is_skipped: Option<bool>,
6412}
6413
6414#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6416pub struct UploadCSVDTO {
6417 #[serde(default, skip_serializing_if = "Option::is_none")]
6418 pub file: Option<String>,
6419}
6420
6421#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6423pub struct UploadFileResponseDTO {
6424 #[serde(default, skip_serializing_if = "Option::is_none")]
6428 pub success: Option<bool>,
6429 #[serde(
6433 rename = "statusCode",
6434 default,
6435 skip_serializing_if = "Option::is_none"
6436 )]
6437 pub status_code: Option<f64>,
6438 #[serde(default, skip_serializing_if = "Option::is_none")]
6442 pub message: Option<String>,
6443 #[serde(default, skip_serializing_if = "Option::is_none")]
6445 pub results: Option<UploadFileResponseSchema>,
6446}
6447
6448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6450pub struct UploadFileResponseSchema {
6451 #[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
6453 pub file_path: Option<String>,
6454 #[serde(rename = "rowsCount", default, skip_serializing_if = "Option::is_none")]
6456 pub rows_count: Option<f64>,
6457 #[serde(rename = "fileName", default, skip_serializing_if = "Option::is_none")]
6459 pub file_name: Option<String>,
6460 #[serde(rename = "fileSize", default, skip_serializing_if = "Option::is_none")]
6462 pub file_size: Option<f64>,
6463 #[serde(
6466 rename = "csvFileType",
6467 default,
6468 skip_serializing_if = "Option::is_none"
6469 )]
6470 pub csv_file_type: Option<String>,
6471}
6472
6473#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6475pub struct VariationDTO {
6476 #[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
6478 pub id: Option<String>,
6479 #[serde(default, skip_serializing_if = "Option::is_none")]
6481 pub content: Option<String>,
6482 #[serde(default, skip_serializing_if = "Vec::is_empty")]
6484 pub mentions: Vec<serde_json::Value>,
6485 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
6487 pub og_tags: Option<OgTagsDTO>,
6488}
6489
6490#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6492pub struct VariationInputDTO {
6493 #[serde(default, skip_serializing_if = "Option::is_none")]
6495 pub content: Option<String>,
6496 #[serde(default, skip_serializing_if = "Vec::is_empty")]
6498 pub mentions: Vec<serde_json::Value>,
6499 #[serde(rename = "ogTags", default, skip_serializing_if = "Option::is_none")]
6501 pub og_tags: Option<OgTagsInputDTO>,
6502}
6503
6504#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6506pub struct WrappedCloneQueueItemResponseDTO {
6507 #[serde(default, skip_serializing_if = "Option::is_none")]
6510 pub success: Option<bool>,
6511 #[serde(
6514 rename = "statusCode",
6515 default,
6516 skip_serializing_if = "Option::is_none"
6517 )]
6518 pub status_code: Option<f64>,
6519 #[serde(default, skip_serializing_if = "Option::is_none")]
6522 pub results: Option<CloneQueueItemResponseDTO>,
6523 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6524 pub trace_id: Option<String>,
6525}
6526
6527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6529pub struct WrappedCreateCategoryQueueResponseDTO {
6530 #[serde(default, skip_serializing_if = "Option::is_none")]
6533 pub success: Option<bool>,
6534 #[serde(
6537 rename = "statusCode",
6538 default,
6539 skip_serializing_if = "Option::is_none"
6540 )]
6541 pub status_code: Option<f64>,
6542 #[serde(default, skip_serializing_if = "Option::is_none")]
6545 pub results: Option<CreateCategoryQueueResponseDTO>,
6546 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6547 pub trace_id: Option<String>,
6548}
6549
6550#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6552pub struct WrappedCreateQueueItemResponseDTO {
6553 #[serde(default, skip_serializing_if = "Option::is_none")]
6556 pub success: Option<bool>,
6557 #[serde(
6560 rename = "statusCode",
6561 default,
6562 skip_serializing_if = "Option::is_none"
6563 )]
6564 pub status_code: Option<f64>,
6565 #[serde(default, skip_serializing_if = "Option::is_none")]
6568 pub results: Option<CreateQueueItemResponseDTO>,
6569 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6570 pub trace_id: Option<String>,
6571}
6572
6573#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6575pub struct WrappedDeleteActivePostResponseDTO {
6576 #[serde(default, skip_serializing_if = "Option::is_none")]
6579 pub success: Option<bool>,
6580 #[serde(
6583 rename = "statusCode",
6584 default,
6585 skip_serializing_if = "Option::is_none"
6586 )]
6587 pub status_code: Option<f64>,
6588 #[serde(default, skip_serializing_if = "Option::is_none")]
6591 pub results: Option<DeleteActivePostResponseDTO>,
6592 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6593 pub trace_id: Option<String>,
6594}
6595
6596#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6598pub struct WrappedDiscardEditSessionResponseDTO {
6599 #[serde(default, skip_serializing_if = "Option::is_none")]
6602 pub success: Option<bool>,
6603 #[serde(
6606 rename = "statusCode",
6607 default,
6608 skip_serializing_if = "Option::is_none"
6609 )]
6610 pub status_code: Option<f64>,
6611 #[serde(default, skip_serializing_if = "Option::is_none")]
6614 pub results: Option<DiscardEditSessionResponseDTO>,
6615 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6616 pub trace_id: Option<String>,
6617}
6618
6619#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6621pub struct WrappedEditSessionCalendarResponseDTO {
6622 #[serde(default, skip_serializing_if = "Option::is_none")]
6625 pub success: Option<bool>,
6626 #[serde(
6629 rename = "statusCode",
6630 default,
6631 skip_serializing_if = "Option::is_none"
6632 )]
6633 pub status_code: Option<f64>,
6634 #[serde(default, skip_serializing_if = "Option::is_none")]
6637 pub results: Option<EditSessionCalendarResponseDTO>,
6638 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6639 pub trace_id: Option<String>,
6640}
6641
6642#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6644pub struct WrappedFetchAvailableCategoriesResponseDTO {
6645 #[serde(default, skip_serializing_if = "Option::is_none")]
6648 pub success: Option<bool>,
6649 #[serde(
6652 rename = "statusCode",
6653 default,
6654 skip_serializing_if = "Option::is_none"
6655 )]
6656 pub status_code: Option<f64>,
6657 #[serde(default, skip_serializing_if = "Option::is_none")]
6660 pub results: Option<FetchAvailableCategoriesResponseDTO>,
6661 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6662 pub trace_id: Option<String>,
6663}
6664
6665#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6667pub struct WrappedFetchCalendarListResponseDTO {
6668 #[serde(default, skip_serializing_if = "Option::is_none")]
6671 pub success: Option<bool>,
6672 #[serde(
6675 rename = "statusCode",
6676 default,
6677 skip_serializing_if = "Option::is_none"
6678 )]
6679 pub status_code: Option<f64>,
6680 #[serde(default, skip_serializing_if = "Option::is_none")]
6683 pub results: Option<FetchCalendarListResponseDTO>,
6684 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6685 pub trace_id: Option<String>,
6686}
6687
6688#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6690pub struct WrappedFetchCategoryQueuesResponseDTO {
6691 #[serde(default, skip_serializing_if = "Option::is_none")]
6694 pub success: Option<bool>,
6695 #[serde(
6698 rename = "statusCode",
6699 default,
6700 skip_serializing_if = "Option::is_none"
6701 )]
6702 pub status_code: Option<f64>,
6703 #[serde(default, skip_serializing_if = "Option::is_none")]
6706 pub results: Option<FetchCategoryQueuesResponseDTO>,
6707 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6708 pub trace_id: Option<String>,
6709}
6710
6711#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6713pub struct WrappedFetchQueueByIdResponseDTO {
6714 #[serde(default, skip_serializing_if = "Option::is_none")]
6717 pub success: Option<bool>,
6718 #[serde(
6721 rename = "statusCode",
6722 default,
6723 skip_serializing_if = "Option::is_none"
6724 )]
6725 pub status_code: Option<f64>,
6726 #[serde(default, skip_serializing_if = "Option::is_none")]
6729 pub results: Option<FetchQueueByIdResponseDTO>,
6730 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6731 pub trace_id: Option<String>,
6732}
6733
6734#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6736pub struct WrappedFetchQueueItemsResponseDTO {
6737 #[serde(default, skip_serializing_if = "Option::is_none")]
6740 pub success: Option<bool>,
6741 #[serde(
6744 rename = "statusCode",
6745 default,
6746 skip_serializing_if = "Option::is_none"
6747 )]
6748 pub status_code: Option<f64>,
6749 #[serde(default, skip_serializing_if = "Option::is_none")]
6752 pub results: Option<FetchQueueItemsResponseDTO>,
6753 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6754 pub trace_id: Option<String>,
6755}
6756
6757#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6759pub struct WrappedFetchSlotsResponseDTO {
6760 #[serde(default, skip_serializing_if = "Option::is_none")]
6763 pub success: Option<bool>,
6764 #[serde(
6767 rename = "statusCode",
6768 default,
6769 skip_serializing_if = "Option::is_none"
6770 )]
6771 pub status_code: Option<f64>,
6772 #[serde(default, skip_serializing_if = "Option::is_none")]
6775 pub results: Option<FetchSlotsResponseDTO>,
6776 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6777 pub trace_id: Option<String>,
6778}
6779
6780#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6782pub struct WrappedGeneralSuccessResponseDTO {
6783 #[serde(default, skip_serializing_if = "Option::is_none")]
6786 pub success: Option<bool>,
6787 #[serde(
6790 rename = "statusCode",
6791 default,
6792 skip_serializing_if = "Option::is_none"
6793 )]
6794 pub status_code: Option<f64>,
6795 #[serde(default, skip_serializing_if = "Option::is_none")]
6798 pub results: Option<GeneralSuccessResponseDTO>,
6799 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6800 pub trace_id: Option<String>,
6801}
6802
6803#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6805pub struct WrappedResetQueueItemResponseDTO {
6806 #[serde(default, skip_serializing_if = "Option::is_none")]
6809 pub success: Option<bool>,
6810 #[serde(
6813 rename = "statusCode",
6814 default,
6815 skip_serializing_if = "Option::is_none"
6816 )]
6817 pub status_code: Option<f64>,
6818 #[serde(default, skip_serializing_if = "Option::is_none")]
6821 pub results: Option<ResetQueueItemResponseDTO>,
6822 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6823 pub trace_id: Option<String>,
6824}
6825
6826#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6828pub struct WrappedSaveEditSessionResponseDTO {
6829 #[serde(default, skip_serializing_if = "Option::is_none")]
6832 pub success: Option<bool>,
6833 #[serde(
6836 rename = "statusCode",
6837 default,
6838 skip_serializing_if = "Option::is_none"
6839 )]
6840 pub status_code: Option<f64>,
6841 #[serde(default, skip_serializing_if = "Option::is_none")]
6844 pub results: Option<SaveEditSessionResponseDTO>,
6845 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6846 pub trace_id: Option<String>,
6847}
6848
6849#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6851pub struct WrappedStartEditSessionResponseDTO {
6852 #[serde(default, skip_serializing_if = "Option::is_none")]
6855 pub success: Option<bool>,
6856 #[serde(
6859 rename = "statusCode",
6860 default,
6861 skip_serializing_if = "Option::is_none"
6862 )]
6863 pub status_code: Option<f64>,
6864 #[serde(default, skip_serializing_if = "Option::is_none")]
6867 pub results: Option<StartEditSessionResponseDTO>,
6868 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6869 pub trace_id: Option<String>,
6870}
6871
6872#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6874pub struct WrappedUpdateCategoryQueueResponseDTO {
6875 #[serde(default, skip_serializing_if = "Option::is_none")]
6878 pub success: Option<bool>,
6879 #[serde(
6882 rename = "statusCode",
6883 default,
6884 skip_serializing_if = "Option::is_none"
6885 )]
6886 pub status_code: Option<f64>,
6887 #[serde(default, skip_serializing_if = "Option::is_none")]
6890 pub results: Option<UpdateCategoryQueueResponseDTO>,
6891 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6892 pub trace_id: Option<String>,
6893}
6894
6895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6897pub struct WrappedUpdateQueueItemResponseDTO {
6898 #[serde(default, skip_serializing_if = "Option::is_none")]
6901 pub success: Option<bool>,
6902 #[serde(
6905 rename = "statusCode",
6906 default,
6907 skip_serializing_if = "Option::is_none"
6908 )]
6909 pub status_code: Option<f64>,
6910 #[serde(default, skip_serializing_if = "Option::is_none")]
6913 pub results: Option<UpdateQueueItemResponseDTO>,
6914 #[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
6915 pub trace_id: Option<String>,
6916}
6917
6918#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6920pub struct YouTubeOAuthAccountSchema {
6921 #[serde(flatten)]
6923 pub extra: serde_json::Map<String, serde_json::Value>,
6924}
6925
6926#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6928pub struct YoutubePostSchema {
6929 #[serde(default, skip_serializing_if = "Option::is_none")]
6932 pub title: Option<String>,
6933 #[serde(
6938 rename = "privacyLevel",
6939 default,
6940 skip_serializing_if = "Option::is_none"
6941 )]
6942 pub privacy_level: Option<String>,
6943 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
6950 pub type_: Option<String>,
6951}
6952
6953#[derive(Debug, Clone, Default, Serialize, Deserialize)]
6955pub struct YoutubeProfileSchema {
6956 #[serde(default, skip_serializing_if = "Option::is_none")]
6958 pub id: Option<String>,
6959 #[serde(default, skip_serializing_if = "Option::is_none")]
6961 pub name: Option<String>,
6962 #[serde(default, skip_serializing_if = "Option::is_none")]
6964 pub username: Option<String>,
6965 #[serde(default, skip_serializing_if = "Option::is_none")]
6967 pub avatar: Option<String>,
6968 #[serde(default, skip_serializing_if = "Option::is_none")]
6970 pub verified: Option<bool>,
6971 #[serde(
6973 rename = "isConnected",
6974 default,
6975 skip_serializing_if = "Option::is_none"
6976 )]
6977 pub is_connected: Option<bool>,
6978 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
6980 pub type_: Option<String>,
6981}