@gofynd/fdk-client-javascript 1.4.0-beta.1 → 1.4.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationModel.d.ts +2 -0
  4. package/sdk/application/Cart/CartApplicationModel.js +2 -0
  5. package/sdk/application/Order/OrderApplicationModel.d.ts +2 -0
  6. package/sdk/application/Order/OrderApplicationModel.js +2 -0
  7. package/sdk/partner/Theme/ThemePartnerModel.d.ts +240 -315
  8. package/sdk/partner/Theme/ThemePartnerModel.js +332 -222
  9. package/sdk/platform/Cart/CartPlatformApplicationClient.js +4 -1
  10. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +4 -1
  11. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +2 -12
  12. package/sdk/platform/Catalog/CatalogPlatformClient.js +17 -87
  13. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +11 -25
  14. package/sdk/platform/Catalog/CatalogPlatformValidator.js +4 -17
  15. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +1 -1
  16. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +8 -2
  17. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +5 -0
  18. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +2 -0
  19. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +4 -1
  20. package/sdk/platform/Content/ContentPlatformApplicationClient.js +4 -1
  21. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +2 -0
  22. package/sdk/platform/Discount/DiscountPlatformModel.js +2 -0
  23. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +4 -1
  24. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +116 -44
  25. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +120 -54
  26. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +4 -1
  27. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +0 -12
  28. package/sdk/platform/Order/OrderPlatformApplicationClient.js +4 -86
  29. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +1 -12
  30. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +0 -14
  31. package/sdk/platform/Order/OrderPlatformClient.d.ts +11 -61
  32. package/sdk/platform/Order/OrderPlatformClient.js +87 -481
  33. package/sdk/platform/Order/OrderPlatformModel.d.ts +442 -171
  34. package/sdk/platform/Order/OrderPlatformModel.js +483 -169
  35. package/sdk/platform/Order/OrderPlatformValidator.d.ts +22 -69
  36. package/sdk/platform/Order/OrderPlatformValidator.js +17 -79
  37. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +4 -1
  38. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +4 -1
  39. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +4 -1
  40. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +4 -1
  41. package/sdk/platform/Share/SharePlatformApplicationClient.js +4 -1
  42. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +4 -1
  43. package/sdk/platform/Theme/ThemePlatformModel.d.ts +103 -21
  44. package/sdk/platform/Theme/ThemePlatformModel.js +108 -20
  45. package/sdk/platform/User/UserPlatformApplicationClient.js +4 -1
  46. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +2 -2
  47. package/sdk/platform/Webhook/WebhookPlatformClient.js +4 -2
  48. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +21 -27
  49. package/sdk/platform/Webhook/WebhookPlatformModel.js +30 -27
@@ -1,10 +1,18 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef AdvanceSetting
5
- * @property {DividerStrokeHighlightSetting} [divider_stroke_highlight]
6
- * @property {OverlayPopupSetting} [overlay_popup]
7
- * @property {UserAlertsSetting} [user_alerts]
4
+ * @typedef Action
5
+ * @property {ActionPage} [page]
6
+ * @property {ActionPage} [popup]
7
+ * @property {string} [type]
8
+ */
9
+
10
+ /**
11
+ * @typedef ActionPage
12
+ * @property {Object} [params]
13
+ * @property {Object} [query]
14
+ * @property {PageType} type
15
+ * @property {string} [url]
8
16
  */
9
17
 
10
18
  /**
@@ -20,16 +28,20 @@ const Joi = require("joi");
20
28
  */
21
29
 
22
30
  /**
23
- * @typedef AuthConfig
24
- * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not
25
- * @property {boolean} [show_header_auth] - Whether to show header authentication or not
31
+ * @typedef AvailablePagePlatformPredicate
32
+ * @property {boolean} [android] - Section visibility on android platform
33
+ * @property {boolean} [ios] - Section visibility on ios platform
34
+ * @property {boolean} [web] - Section visibility on web platform
26
35
  */
27
36
 
28
37
  /**
29
38
  * @typedef AvailablePagePredicate
39
+ * @property {AvailablePagePlatformPredicate} [platform]
30
40
  * @property {AvailablePageRoutePredicate} [route]
41
+ * @property {AvailablePageSchedulePredicate} [schedule]
31
42
  * @property {AvailablePageScreenPredicate} [screen]
32
43
  * @property {AvailablePageUserPredicate} [user]
44
+ * @property {string[]} [zones] - An array of zone ids associated with the section
33
45
  */
34
46
 
35
47
  /**
@@ -39,9 +51,17 @@ const Joi = require("joi");
39
51
  * @property {string} [selected]
40
52
  */
41
53
 
54
+ /**
55
+ * @typedef AvailablePageSchedulePredicate
56
+ * @property {string} [cron]
57
+ * @property {string} [end]
58
+ * @property {string} [start]
59
+ */
60
+
42
61
  /**
43
62
  * @typedef AvailablePageSchema
44
63
  * @property {string} [_id]
64
+ * @property {string} [created_at] - The creation timestamp of the page
45
65
  * @property {string} [path]
46
66
  * @property {Object[]} [props]
47
67
  * @property {AvailablePageSchemaSections[]} [sections]
@@ -50,6 +70,7 @@ const Joi = require("joi");
50
70
  * @property {string} [text]
51
71
  * @property {string} [theme]
52
72
  * @property {string} [type]
73
+ * @property {string} [updated_at] - The last update timestamp of the page
53
74
  * @property {string} [value]
54
75
  */
55
76
 
@@ -61,6 +82,7 @@ const Joi = require("joi");
61
82
  * @property {AvailablePagePredicate} [predicate]
62
83
  * @property {Object} [preset]
63
84
  * @property {Object} [props]
85
+ * @property {string} [source]
64
86
  */
65
87
 
66
88
  /**
@@ -78,7 +100,10 @@ const Joi = require("joi");
78
100
  /**
79
101
  * @typedef AvailablePageSeo
80
102
  * @property {string} [_id]
103
+ * @property {SEObreadcrumb[]} [breadcrumb]
81
104
  * @property {string} [description]
105
+ * @property {SEOMetaItem[]} [meta_tags]
106
+ * @property {SEOSitemap} [sitemap]
82
107
  * @property {string} [title]
83
108
  */
84
109
 
@@ -111,13 +136,6 @@ const Joi = require("joi");
111
136
  * @property {UrlProp} [slide_link]
112
137
  */
113
138
 
114
- /**
115
- * @typedef ButtonSetting
116
- * @property {string} [button_link] - The button link color
117
- * @property {string} [button_primary] - The primary button color
118
- * @property {string} [button_secondary] - The secondary button color
119
- */
120
-
121
139
  /**
122
140
  * @typedef CarouselItem
123
141
  * @property {string} [desktop] - Desktop carousel image URL
@@ -136,16 +154,6 @@ const Joi = require("joi");
136
154
  * @property {boolean} [value] - The value of the checkbox property.
137
155
  */
138
156
 
139
- /**
140
- * @typedef Colors
141
- * @property {string} [accent_color] - The accent color
142
- * @property {string} [bg_color] - The background color
143
- * @property {string} [button_secondary_color] - The secondary button color
144
- * @property {string} [link_color] - The link color
145
- * @property {string} [primary_color] - The primary color
146
- * @property {string} [secondary_color] - The secondary color
147
- */
148
-
149
157
  /**
150
158
  * @typedef Comments
151
159
  * @property {string} [developer_remark] - Developer remark
@@ -186,6 +194,7 @@ const Joi = require("joi");
186
194
 
187
195
  /**
188
196
  * @typedef CSS
197
+ * @property {string} [link]
189
198
  * @property {string[]} [links]
190
199
  */
191
200
 
@@ -234,9 +243,9 @@ const Joi = require("joi");
234
243
  */
235
244
 
236
245
  /**
237
- * @typedef DividerStrokeHighlightSetting
238
- * @property {string} [divider_strokes] - The divider strokes color
239
- * @property {string} [highlight] - The highlight color
246
+ * @typedef DividerStrokeHighlight
247
+ * @property {string} [divider_strokes]
248
+ * @property {string} [highlight]
240
249
  */
241
250
 
242
251
  /**
@@ -284,44 +293,11 @@ const Joi = require("joi");
284
293
  * @property {FontVariant} [semi_bold]
285
294
  */
286
295
 
287
- /**
288
- * @typedef FooterSetting
289
- * @property {string} [footer_background] - The footer background color
290
- * @property {string} [footer_body_text] - The footer body text color
291
- * @property {string} [footer_bottom_background] - The footer bottom background color
292
- * @property {string} [footer_heading_text] - The footer heading text color
293
- * @property {string} [footer_icon] - The footer icon color
294
- */
295
-
296
- /**
297
- * @typedef GeneralSetting
298
- * @property {ButtonSetting} [button]
299
- * @property {FooterSetting} [footer]
300
- * @property {HeaderSetting} [header]
301
- * @property {SaleDiscountSetting} [sale_discount]
302
- * @property {TextSetting} [text]
303
- * @property {ThemeSetting} [theme]
304
- */
305
-
306
- /**
307
- * @typedef GlobalConfig
308
- * @property {AuthConfig} [auth]
309
- * @property {PaletteConfig} [palette]
310
- * @property {StaticConfig} [statics]
311
- */
312
-
313
296
  /**
314
297
  * @typedef GlobalSchema
315
298
  * @property {Prop[]} [props]
316
299
  */
317
300
 
318
- /**
319
- * @typedef HeaderSetting
320
- * @property {string} [header_background] - The header background color
321
- * @property {string} [header_icon] - The header icon color
322
- * @property {string} [header_nav] - The header navigation color
323
- */
324
-
325
301
  /**
326
302
  * @typedef Highlight
327
303
  * @property {string} [description] - Highlight description
@@ -386,9 +362,15 @@ const Joi = require("joi");
386
362
  */
387
363
 
388
364
  /**
389
- * @typedef OverlayPopupSetting
390
- * @property {string} [dialog_backgroung] - The dialog background color
391
- * @property {string} [overlay] - The overlay color
365
+ * @typedef OrderTracking
366
+ * @property {boolean} [show_footer]
367
+ * @property {boolean} [show_header]
368
+ */
369
+
370
+ /**
371
+ * @typedef OverlayPopup
372
+ * @property {string} [dialog_backgroung]
373
+ * @property {string} [overlay]
392
374
  */
393
375
 
394
376
  /**
@@ -411,12 +393,6 @@ const Joi = require("joi");
411
393
  * @property {string} [type]
412
394
  */
413
395
 
414
- /**
415
- * @typedef PaletteConfig
416
- * @property {AdvanceSetting} [advance_setting]
417
- * @property {GeneralSetting} [general_setting]
418
- */
419
-
420
396
  /**
421
397
  * @typedef PaymentInfo
422
398
  * @property {number} [amount] - Amount of payment
@@ -442,6 +418,7 @@ const Joi = require("joi");
442
418
  * @property {string} [info] - Additional information about the property
443
419
  * @property {string} [label] - The label of the property
444
420
  * @property {string} [type] - The type of the property
421
+ * @property {string} [value] - The value of the property
445
422
  */
446
423
 
447
424
  /**
@@ -462,14 +439,6 @@ const Joi = require("joi");
462
439
  * @property {string} [selected] - The selected route.
463
440
  */
464
441
 
465
- /**
466
- * @typedef SaleDiscountSetting
467
- * @property {string} [sale_badge_background] - The sale badge background color
468
- * @property {string} [sale_badge_text] - The sale badge text color
469
- * @property {string} [sale_discount_text] - The sale discount text color
470
- * @property {string} [sale_timer] - The sale timer color
471
- */
472
-
473
442
  /**
474
443
  * @typedef Screen
475
444
  * @property {boolean} [desktop] - True if the screen is a desktop device.
@@ -508,14 +477,27 @@ const Joi = require("joi");
508
477
  */
509
478
 
510
479
  /**
511
- * @typedef StaticConfig
512
- * @property {StaticProps} [props]
480
+ * @typedef SEObreadcrumb
481
+ * @property {Action} [action]
482
+ * @property {string} [url]
483
+ */
484
+
485
+ /**
486
+ * @typedef SEOMetaItem
487
+ * @property {SEOMetaItems[]} [items]
488
+ * @property {string} [title]
489
+ */
490
+
491
+ /**
492
+ * @typedef SEOMetaItems
493
+ * @property {string} [key]
494
+ * @property {string} [value]
513
495
  */
514
496
 
515
497
  /**
516
- * @typedef StaticProps
517
- * @property {AuthConfig} [auth]
518
- * @property {Colors} [colors]
498
+ * @typedef SEOSitemap
499
+ * @property {string} [frequency]
500
+ * @property {number} [priority]
519
501
  */
520
502
 
521
503
  /**
@@ -525,19 +507,21 @@ const Joi = require("joi");
525
507
  */
526
508
 
527
509
  /**
528
- * @typedef TextSetting
529
- * @property {string} [text_body] - The text body color
530
- * @property {string} [text_heading] - The text heading color
531
- * @property {string} [text_label] - The text label color
532
- * @property {string} [text_secondary] - The secondary text color
510
+ * @typedef ThemeConfigListPage
511
+ * @property {string} [page] - Name of the page
512
+ * @property {ThemeConfigListPageSettingsProps} [settings]
513
+ */
514
+
515
+ /**
516
+ * @typedef ThemeConfigListPageSettingsProps
517
+ * @property {Object} [props]
533
518
  */
534
519
 
535
520
  /**
536
521
  * @typedef ThemeConfiguration
537
- * @property {CustomConfig} [custom]
538
- * @property {GlobalConfig} [global_config]
522
+ * @property {Object} [global_config]
539
523
  * @property {string} [name] - The name of the configuration
540
- * @property {string[]} [page] - An array of pages
524
+ * @property {ThemeConfigListPage[]} [page] - An array of pages
541
525
  */
542
526
 
543
527
  /**
@@ -573,12 +557,6 @@ const Joi = require("joi");
573
557
  * @property {string} user_id - The ID of the user who submitted the theme
574
558
  */
575
559
 
576
- /**
577
- * @typedef ThemeSetting
578
- * @property {string} [page_background] - The page background color
579
- * @property {string} [theme_accent] - The theme accent color
580
- */
581
-
582
560
  /**
583
561
  * @typedef ThemesSchema
584
562
  * @property {string} [_id] - The unique identifier of the theme
@@ -594,6 +572,7 @@ const Joi = require("joi");
594
572
  * @property {string} [marketplace_theme_id] - The ID of the theme in the marketplace
595
573
  * @property {ThemeMeta} [meta]
596
574
  * @property {string} [name] - The name of the theme
575
+ * @property {string} [src]
597
576
  * @property {Object} [styles] - The styles associated with the theme
598
577
  * @property {string[]} [tags] - An array of tags associated with the theme
599
578
  * @property {string} [template_theme_id] - The ID of the template theme
@@ -610,6 +589,7 @@ const Joi = require("joi");
610
589
 
611
590
  /**
612
591
  * @typedef UMDJs
592
+ * @property {string} [link]
613
593
  * @property {string[]} [links]
614
594
  */
615
595
 
@@ -626,13 +606,13 @@ const Joi = require("joi");
626
606
  */
627
607
 
628
608
  /**
629
- * @typedef UserAlertsSetting
630
- * @property {string} [error_background] - The error background color
631
- * @property {string} [error_text] - The error text color
632
- * @property {string} [info_background] - The info background color
633
- * @property {string} [info_text] - The info text color
634
- * @property {string} [success_background] - The success background color
635
- * @property {string} [success_text] - The success text color
609
+ * @typedef UserAlerts
610
+ * @property {string} [error_background]
611
+ * @property {string} [error_text]
612
+ * @property {string} [info_background]
613
+ * @property {string} [info_text]
614
+ * @property {string} [success_background]
615
+ * @property {string} [success_text]
636
616
  */
637
617
 
638
618
  /**
@@ -643,13 +623,78 @@ const Joi = require("joi");
643
623
  * @property {string} [name] - Variation name
644
624
  */
645
625
 
626
+ /**
627
+ * @typedef {| "about-us"
628
+ * | "addresses"
629
+ * | "blog"
630
+ * | "brands"
631
+ * | "cards"
632
+ * | "cart"
633
+ * | "categories"
634
+ * | "brand"
635
+ * | "category"
636
+ * | "collection"
637
+ * | "collections"
638
+ * | "contact-us"
639
+ * | "external"
640
+ * | "faq"
641
+ * | "freshchat"
642
+ * | "home"
643
+ * | "notification-settings"
644
+ * | "orders"
645
+ * | "page"
646
+ * | "policy"
647
+ * | "product"
648
+ * | "product-request"
649
+ * | "products"
650
+ * | "profile"
651
+ * | "profile-order-shipment"
652
+ * | "profile-basic"
653
+ * | "profile-company"
654
+ * | "profile-emails"
655
+ * | "profile-phones"
656
+ * | "rate-us"
657
+ * | "refer-earn"
658
+ * | "settings"
659
+ * | "shared-cart"
660
+ * | "tnc"
661
+ * | "track-order"
662
+ * | "wishlist"
663
+ * | "sections"
664
+ * | "form"
665
+ * | "cart-delivery"
666
+ * | "cart-payment"
667
+ * | "cart-review"
668
+ * | "login"
669
+ * | "register"
670
+ * | "shipping-policy"
671
+ * | "return-policy"
672
+ * | "order-status"} PageType
673
+ */
674
+
646
675
  class ThemePartnerModel {
647
- /** @returns {AdvanceSetting} */
648
- static AdvanceSetting() {
676
+ /** @returns {Action} */
677
+ static Action() {
649
678
  return Joi.object({
650
- divider_stroke_highlight: ThemePartnerModel.DividerStrokeHighlightSetting(),
651
- overlay_popup: ThemePartnerModel.OverlayPopupSetting(),
652
- user_alerts: ThemePartnerModel.UserAlertsSetting(),
679
+ page: ThemePartnerModel.ActionPage(),
680
+ popup: ThemePartnerModel.ActionPage(),
681
+ type: Joi.string().allow(""),
682
+ });
683
+ }
684
+
685
+ /** @returns {ActionPage} */
686
+ static ActionPage() {
687
+ return Joi.object({
688
+ params: Joi.object().pattern(
689
+ /\S/,
690
+ Joi.array().items(Joi.string().allow(""))
691
+ ),
692
+ query: Joi.object().pattern(
693
+ /\S/,
694
+ Joi.array().items(Joi.string().allow(""))
695
+ ),
696
+ type: ThemePartnerModel.PageType().required(),
697
+ url: Joi.string().allow(""),
653
698
  });
654
699
  }
655
700
 
@@ -669,20 +714,24 @@ class ThemePartnerModel {
669
714
  });
670
715
  }
671
716
 
672
- /** @returns {AuthConfig} */
673
- static AuthConfig() {
717
+ /** @returns {AvailablePagePlatformPredicate} */
718
+ static AvailablePagePlatformPredicate() {
674
719
  return Joi.object({
675
- show_footer_auth: Joi.boolean(),
676
- show_header_auth: Joi.boolean(),
720
+ android: Joi.boolean(),
721
+ ios: Joi.boolean(),
722
+ web: Joi.boolean(),
677
723
  });
678
724
  }
679
725
 
680
726
  /** @returns {AvailablePagePredicate} */
681
727
  static AvailablePagePredicate() {
682
728
  return Joi.object({
729
+ platform: ThemePartnerModel.AvailablePagePlatformPredicate(),
683
730
  route: ThemePartnerModel.AvailablePageRoutePredicate(),
731
+ schedule: ThemePartnerModel.AvailablePageSchedulePredicate(),
684
732
  screen: ThemePartnerModel.AvailablePageScreenPredicate(),
685
733
  user: ThemePartnerModel.AvailablePageUserPredicate(),
734
+ zones: Joi.array().items(Joi.string().allow("")),
686
735
  });
687
736
  }
688
737
 
@@ -695,10 +744,20 @@ class ThemePartnerModel {
695
744
  });
696
745
  }
697
746
 
747
+ /** @returns {AvailablePageSchedulePredicate} */
748
+ static AvailablePageSchedulePredicate() {
749
+ return Joi.object({
750
+ cron: Joi.string().allow(""),
751
+ end: Joi.string().allow(""),
752
+ start: Joi.string().allow(""),
753
+ });
754
+ }
755
+
698
756
  /** @returns {AvailablePageSchema} */
699
757
  static AvailablePageSchema() {
700
758
  return Joi.object({
701
759
  _id: Joi.string().allow(""),
760
+ created_at: Joi.string().allow(""),
702
761
  path: Joi.string().allow(""),
703
762
  props: Joi.array().items(Joi.any()),
704
763
  sections: Joi.array().items(
@@ -711,6 +770,7 @@ class ThemePartnerModel {
711
770
  text: Joi.string().allow(""),
712
771
  theme: Joi.string().allow(""),
713
772
  type: Joi.string().allow(""),
773
+ updated_at: Joi.string().allow(""),
714
774
  value: Joi.string().allow(""),
715
775
  });
716
776
  }
@@ -724,6 +784,7 @@ class ThemePartnerModel {
724
784
  predicate: ThemePartnerModel.AvailablePagePredicate(),
725
785
  preset: Joi.any(),
726
786
  props: Joi.any(),
787
+ source: Joi.string().allow(""),
727
788
  });
728
789
  }
729
790
 
@@ -747,7 +808,10 @@ class ThemePartnerModel {
747
808
  static AvailablePageSeo() {
748
809
  return Joi.object({
749
810
  _id: Joi.string().allow(""),
811
+ breadcrumb: Joi.array().items(ThemePartnerModel.SEObreadcrumb()),
750
812
  description: Joi.string().allow(""),
813
+ meta_tags: Joi.array().items(ThemePartnerModel.SEOMetaItem()),
814
+ sitemap: ThemePartnerModel.SEOSitemap(),
751
815
  title: Joi.string().allow(""),
752
816
  });
753
817
  }
@@ -791,15 +855,6 @@ class ThemePartnerModel {
791
855
  });
792
856
  }
793
857
 
794
- /** @returns {ButtonSetting} */
795
- static ButtonSetting() {
796
- return Joi.object({
797
- button_link: Joi.string().allow(""),
798
- button_primary: Joi.string().allow(""),
799
- button_secondary: Joi.string().allow(""),
800
- });
801
- }
802
-
803
858
  /** @returns {CarouselItem} */
804
859
  static CarouselItem() {
805
860
  return Joi.object({
@@ -824,18 +879,6 @@ class ThemePartnerModel {
824
879
  });
825
880
  }
826
881
 
827
- /** @returns {Colors} */
828
- static Colors() {
829
- return Joi.object({
830
- accent_color: Joi.string().allow(""),
831
- bg_color: Joi.string().allow(""),
832
- button_secondary_color: Joi.string().allow(""),
833
- link_color: Joi.string().allow(""),
834
- primary_color: Joi.string().allow(""),
835
- secondary_color: Joi.string().allow(""),
836
- });
837
- }
838
-
839
882
  /** @returns {Comments} */
840
883
  static Comments() {
841
884
  return Joi.object({
@@ -891,6 +934,7 @@ class ThemePartnerModel {
891
934
  /** @returns {CSS} */
892
935
  static CSS() {
893
936
  return Joi.object({
937
+ link: Joi.string().allow(""),
894
938
  links: Joi.array().items(Joi.string().allow("")),
895
939
  });
896
940
  }
@@ -938,8 +982,8 @@ class ThemePartnerModel {
938
982
  });
939
983
  }
940
984
 
941
- /** @returns {DividerStrokeHighlightSetting} */
942
- static DividerStrokeHighlightSetting() {
985
+ /** @returns {DividerStrokeHighlight} */
986
+ static DividerStrokeHighlight() {
943
987
  return Joi.object({
944
988
  divider_strokes: Joi.string().allow(""),
945
989
  highlight: Joi.string().allow(""),
@@ -1005,38 +1049,6 @@ class ThemePartnerModel {
1005
1049
  });
1006
1050
  }
1007
1051
 
1008
- /** @returns {FooterSetting} */
1009
- static FooterSetting() {
1010
- return Joi.object({
1011
- footer_background: Joi.string().allow(""),
1012
- footer_body_text: Joi.string().allow(""),
1013
- footer_bottom_background: Joi.string().allow(""),
1014
- footer_heading_text: Joi.string().allow(""),
1015
- footer_icon: Joi.string().allow(""),
1016
- });
1017
- }
1018
-
1019
- /** @returns {GeneralSetting} */
1020
- static GeneralSetting() {
1021
- return Joi.object({
1022
- button: ThemePartnerModel.ButtonSetting(),
1023
- footer: ThemePartnerModel.FooterSetting(),
1024
- header: ThemePartnerModel.HeaderSetting(),
1025
- sale_discount: ThemePartnerModel.SaleDiscountSetting(),
1026
- text: ThemePartnerModel.TextSetting(),
1027
- theme: ThemePartnerModel.ThemeSetting(),
1028
- });
1029
- }
1030
-
1031
- /** @returns {GlobalConfig} */
1032
- static GlobalConfig() {
1033
- return Joi.object({
1034
- auth: ThemePartnerModel.AuthConfig(),
1035
- palette: ThemePartnerModel.PaletteConfig(),
1036
- statics: ThemePartnerModel.StaticConfig(),
1037
- });
1038
- }
1039
-
1040
1052
  /** @returns {GlobalSchema} */
1041
1053
  static GlobalSchema() {
1042
1054
  return Joi.object({
@@ -1044,15 +1056,6 @@ class ThemePartnerModel {
1044
1056
  });
1045
1057
  }
1046
1058
 
1047
- /** @returns {HeaderSetting} */
1048
- static HeaderSetting() {
1049
- return Joi.object({
1050
- header_background: Joi.string().allow(""),
1051
- header_icon: Joi.string().allow(""),
1052
- header_nav: Joi.string().allow(""),
1053
- });
1054
- }
1055
-
1056
1059
  /** @returns {Highlight} */
1057
1060
  static Highlight() {
1058
1061
  return Joi.object({
@@ -1128,8 +1131,16 @@ class ThemePartnerModel {
1128
1131
  });
1129
1132
  }
1130
1133
 
1131
- /** @returns {OverlayPopupSetting} */
1132
- static OverlayPopupSetting() {
1134
+ /** @returns {OrderTracking} */
1135
+ static OrderTracking() {
1136
+ return Joi.object({
1137
+ show_footer: Joi.boolean(),
1138
+ show_header: Joi.boolean(),
1139
+ });
1140
+ }
1141
+
1142
+ /** @returns {OverlayPopup} */
1143
+ static OverlayPopup() {
1133
1144
  return Joi.object({
1134
1145
  dialog_backgroung: Joi.string().allow(""),
1135
1146
  overlay: Joi.string().allow(""),
@@ -1160,14 +1171,6 @@ class ThemePartnerModel {
1160
1171
  });
1161
1172
  }
1162
1173
 
1163
- /** @returns {PaletteConfig} */
1164
- static PaletteConfig() {
1165
- return Joi.object({
1166
- advance_setting: ThemePartnerModel.AdvanceSetting(),
1167
- general_setting: ThemePartnerModel.GeneralSetting(),
1168
- });
1169
- }
1170
-
1171
1174
  /** @returns {PaymentInfo} */
1172
1175
  static PaymentInfo() {
1173
1176
  return Joi.object({
@@ -1200,6 +1203,7 @@ class ThemePartnerModel {
1200
1203
  info: Joi.string().allow(""),
1201
1204
  label: Joi.string().allow(""),
1202
1205
  type: Joi.string().allow(""),
1206
+ value: Joi.string().allow(""),
1203
1207
  });
1204
1208
  }
1205
1209
 
@@ -1227,16 +1231,6 @@ class ThemePartnerModel {
1227
1231
  });
1228
1232
  }
1229
1233
 
1230
- /** @returns {SaleDiscountSetting} */
1231
- static SaleDiscountSetting() {
1232
- return Joi.object({
1233
- sale_badge_background: Joi.string().allow(""),
1234
- sale_badge_text: Joi.string().allow(""),
1235
- sale_discount_text: Joi.string().allow(""),
1236
- sale_timer: Joi.string().allow(""),
1237
- });
1238
- }
1239
-
1240
1234
  /** @returns {Screen} */
1241
1235
  static Screen() {
1242
1236
  return Joi.object({
@@ -1284,18 +1278,35 @@ class ThemePartnerModel {
1284
1278
  });
1285
1279
  }
1286
1280
 
1287
- /** @returns {StaticConfig} */
1288
- static StaticConfig() {
1281
+ /** @returns {SEObreadcrumb} */
1282
+ static SEObreadcrumb() {
1289
1283
  return Joi.object({
1290
- props: ThemePartnerModel.StaticProps(),
1284
+ action: ThemePartnerModel.Action(),
1285
+ url: Joi.string().allow(""),
1291
1286
  });
1292
1287
  }
1293
1288
 
1294
- /** @returns {StaticProps} */
1295
- static StaticProps() {
1289
+ /** @returns {SEOMetaItem} */
1290
+ static SEOMetaItem() {
1296
1291
  return Joi.object({
1297
- auth: ThemePartnerModel.AuthConfig(),
1298
- colors: ThemePartnerModel.Colors(),
1292
+ items: Joi.array().items(ThemePartnerModel.SEOMetaItems()),
1293
+ title: Joi.string().allow(""),
1294
+ });
1295
+ }
1296
+
1297
+ /** @returns {SEOMetaItems} */
1298
+ static SEOMetaItems() {
1299
+ return Joi.object({
1300
+ key: Joi.string().allow(""),
1301
+ value: Joi.string().allow(""),
1302
+ });
1303
+ }
1304
+
1305
+ /** @returns {SEOSitemap} */
1306
+ static SEOSitemap() {
1307
+ return Joi.object({
1308
+ frequency: Joi.string().allow(""),
1309
+ priority: Joi.number(),
1299
1310
  });
1300
1311
  }
1301
1312
 
@@ -1307,23 +1318,27 @@ class ThemePartnerModel {
1307
1318
  });
1308
1319
  }
1309
1320
 
1310
- /** @returns {TextSetting} */
1311
- static TextSetting() {
1321
+ /** @returns {ThemeConfigListPage} */
1322
+ static ThemeConfigListPage() {
1323
+ return Joi.object({
1324
+ page: Joi.string().allow(""),
1325
+ settings: ThemePartnerModel.ThemeConfigListPageSettingsProps(),
1326
+ });
1327
+ }
1328
+
1329
+ /** @returns {ThemeConfigListPageSettingsProps} */
1330
+ static ThemeConfigListPageSettingsProps() {
1312
1331
  return Joi.object({
1313
- text_body: Joi.string().allow(""),
1314
- text_heading: Joi.string().allow(""),
1315
- text_label: Joi.string().allow(""),
1316
- text_secondary: Joi.string().allow(""),
1332
+ props: Joi.any(),
1317
1333
  });
1318
1334
  }
1319
1335
 
1320
1336
  /** @returns {ThemeConfiguration} */
1321
1337
  static ThemeConfiguration() {
1322
1338
  return Joi.object({
1323
- custom: ThemePartnerModel.CustomConfig(),
1324
- global_config: ThemePartnerModel.GlobalConfig(),
1339
+ global_config: Joi.any(),
1325
1340
  name: Joi.string().allow(""),
1326
- page: Joi.array().items(Joi.string().allow("")),
1341
+ page: Joi.array().items(ThemePartnerModel.ThemeConfigListPage()),
1327
1342
  });
1328
1343
  }
1329
1344
 
@@ -1364,14 +1379,6 @@ class ThemePartnerModel {
1364
1379
  });
1365
1380
  }
1366
1381
 
1367
- /** @returns {ThemeSetting} */
1368
- static ThemeSetting() {
1369
- return Joi.object({
1370
- page_background: Joi.string().allow(""),
1371
- theme_accent: Joi.string().allow(""),
1372
- });
1373
- }
1374
-
1375
1382
  /** @returns {ThemesSchema} */
1376
1383
  static ThemesSchema() {
1377
1384
  return Joi.object({
@@ -1388,6 +1395,7 @@ class ThemePartnerModel {
1388
1395
  marketplace_theme_id: Joi.string().allow(""),
1389
1396
  meta: ThemePartnerModel.ThemeMeta(),
1390
1397
  name: Joi.string().allow(""),
1398
+ src: Joi.string().allow(""),
1391
1399
  styles: Joi.any(),
1392
1400
  tags: Joi.array().items(Joi.string().allow("")),
1393
1401
  template_theme_id: Joi.string().allow(""),
@@ -1408,6 +1416,7 @@ class ThemePartnerModel {
1408
1416
  /** @returns {UMDJs} */
1409
1417
  static UMDJs() {
1410
1418
  return Joi.object({
1419
+ link: Joi.string().allow(""),
1411
1420
  links: Joi.array().items(Joi.string().allow("")),
1412
1421
  });
1413
1422
  }
@@ -1428,8 +1437,8 @@ class ThemePartnerModel {
1428
1437
  });
1429
1438
  }
1430
1439
 
1431
- /** @returns {UserAlertsSetting} */
1432
- static UserAlertsSetting() {
1440
+ /** @returns {UserAlerts} */
1441
+ static UserAlerts() {
1433
1442
  return Joi.object({
1434
1443
  error_background: Joi.string().allow(""),
1435
1444
  error_text: Joi.string().allow(""),
@@ -1449,5 +1458,106 @@ class ThemePartnerModel {
1449
1458
  name: Joi.string().allow(""),
1450
1459
  });
1451
1460
  }
1461
+
1462
+ /**
1463
+ * Enum: PageType Used By: Theme
1464
+ *
1465
+ * @returns {PageType}
1466
+ */
1467
+ static PageType() {
1468
+ return Joi.string().valid(
1469
+ "about-us",
1470
+
1471
+ "addresses",
1472
+
1473
+ "blog",
1474
+
1475
+ "brands",
1476
+
1477
+ "cards",
1478
+
1479
+ "cart",
1480
+
1481
+ "categories",
1482
+
1483
+ "brand",
1484
+
1485
+ "category",
1486
+
1487
+ "collection",
1488
+
1489
+ "collections",
1490
+
1491
+ "contact-us",
1492
+
1493
+ "external",
1494
+
1495
+ "faq",
1496
+
1497
+ "freshchat",
1498
+
1499
+ "home",
1500
+
1501
+ "notification-settings",
1502
+
1503
+ "orders",
1504
+
1505
+ "page",
1506
+
1507
+ "policy",
1508
+
1509
+ "product",
1510
+
1511
+ "product-request",
1512
+
1513
+ "products",
1514
+
1515
+ "profile",
1516
+
1517
+ "profile-order-shipment",
1518
+
1519
+ "profile-basic",
1520
+
1521
+ "profile-company",
1522
+
1523
+ "profile-emails",
1524
+
1525
+ "profile-phones",
1526
+
1527
+ "rate-us",
1528
+
1529
+ "refer-earn",
1530
+
1531
+ "settings",
1532
+
1533
+ "shared-cart",
1534
+
1535
+ "tnc",
1536
+
1537
+ "track-order",
1538
+
1539
+ "wishlist",
1540
+
1541
+ "sections",
1542
+
1543
+ "form",
1544
+
1545
+ "cart-delivery",
1546
+
1547
+ "cart-payment",
1548
+
1549
+ "cart-review",
1550
+
1551
+ "login",
1552
+
1553
+ "register",
1554
+
1555
+ "shipping-policy",
1556
+
1557
+ "return-policy",
1558
+
1559
+ "order-status"
1560
+ );
1561
+ }
1452
1562
  }
1453
1563
  module.exports = ThemePartnerModel;