@gofynd/fdk-client-javascript 1.4.2-beta.2 → 1.4.2-beta.4

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 (126) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationModel.d.ts +1742 -1726
  4. package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
  5. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
  6. package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
  7. package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
  8. package/sdk/application/Common/CommonApplicationModel.js +172 -172
  9. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
  10. package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
  11. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
  12. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
  13. package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
  14. package/sdk/application/Content/ContentApplicationModel.js +757 -757
  15. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
  16. package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
  17. package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
  18. package/sdk/application/Lead/LeadApplicationModel.js +301 -301
  19. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
  20. package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
  21. package/sdk/application/Order/OrderApplicationModel.d.ts +852 -846
  22. package/sdk/application/Order/OrderApplicationModel.js +828 -822
  23. package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
  24. package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
  25. package/sdk/application/Payment/PaymentApplicationModel.d.ts +2176 -2145
  26. package/sdk/application/Payment/PaymentApplicationModel.js +1474 -1453
  27. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
  28. package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
  29. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
  30. package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
  31. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
  32. package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
  33. package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
  34. package/sdk/application/Share/ShareApplicationModel.js +121 -121
  35. package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
  36. package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
  37. package/sdk/application/User/UserApplicationClient.d.ts +2 -2
  38. package/sdk/application/User/UserApplicationClient.js +4 -7
  39. package/sdk/application/User/UserApplicationModel.d.ts +769 -764
  40. package/sdk/application/User/UserApplicationModel.js +731 -741
  41. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
  42. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
  43. package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
  44. package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
  45. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
  46. package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
  47. package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
  48. package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
  49. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
  50. package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
  51. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
  52. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
  53. package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
  54. package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
  55. package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
  56. package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
  57. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +26 -0
  58. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +182 -0
  59. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +70 -1
  60. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +44 -0
  61. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -980
  62. package/sdk/platform/Catalog/CatalogPlatformModel.js +977 -933
  63. package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
  64. package/sdk/platform/Common/CommonPlatformModel.js +187 -187
  65. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
  66. package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
  67. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
  68. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
  69. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
  70. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
  71. package/sdk/platform/Content/ContentPlatformModel.d.ts +1842 -1825
  72. package/sdk/platform/Content/ContentPlatformModel.js +1868 -1848
  73. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
  74. package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
  75. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +1 -1
  76. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +4 -1
  77. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +2 -0
  78. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +2 -0
  79. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +2 -2
  80. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +7 -4
  81. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +882 -869
  82. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +894 -878
  83. package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
  84. package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
  85. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
  86. package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
  87. package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
  88. package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
  89. package/sdk/platform/Order/OrderPlatformModel.d.ts +5192 -5176
  90. package/sdk/platform/Order/OrderPlatformModel.js +4752 -4736
  91. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
  92. package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
  93. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2693 -2657
  94. package/sdk/platform/Payment/PaymentPlatformModel.js +1842 -1819
  95. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
  96. package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
  97. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +7 -6
  98. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +11 -10
  99. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1674 -1539
  100. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1663 -1534
  101. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +4 -4
  102. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +4 -4
  103. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +1 -1
  104. package/sdk/platform/Share/SharePlatformApplicationClient.js +19 -6
  105. package/sdk/platform/Share/SharePlatformApplicationValidator.d.ts +13 -3
  106. package/sdk/platform/Share/SharePlatformApplicationValidator.js +6 -2
  107. package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
  108. package/sdk/platform/Share/SharePlatformModel.js +139 -139
  109. package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
  110. package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
  111. package/sdk/platform/User/UserPlatformModel.d.ts +823 -753
  112. package/sdk/platform/User/UserPlatformModel.js +731 -661
  113. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
  114. package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
  115. package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
  116. package/sdk/public/Billing/BillingPublicModel.js +51 -51
  117. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
  118. package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
  119. package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
  120. package/sdk/public/Content/ContentPublicModel.js +28 -28
  121. package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
  122. package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
  123. package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
  124. package/sdk/public/Partner/PartnerPublicModel.js +113 -113
  125. package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
  126. package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
@@ -1,191 +1,183 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef Action
5
- * @property {ActionPage} [page]
6
- * @property {ActionPage} [popup]
7
- * @property {string} [type]
4
+ * @typedef AllAvailablePageSchema
5
+ * @property {AvailablePageSchema[]} [pages]
8
6
  */
9
7
 
10
8
  /**
11
- * @typedef ActionPage
12
- * @property {Object} [params]
13
- * @property {Object} [query]
14
- * @property {PageType} type
15
- * @property {string} [url]
9
+ * @typedef AvailablePageSchema
10
+ * @property {string} [value]
11
+ * @property {string} [text]
12
+ * @property {string} [path]
13
+ * @property {string} [type]
14
+ * @property {AvailablePageSchemaSections[]} [sections]
15
+ * @property {AvailablePageSectionMetaAttributes[]} [sections_meta]
16
+ * @property {string} [theme]
17
+ * @property {AvailablePageSeo} [seo]
18
+ * @property {Object[]} [props]
19
+ * @property {string} [_id]
16
20
  */
17
21
 
18
22
  /**
19
- * @typedef AdvanceSetting
20
- * @property {DividerStrokeHighlightSetting} [divider_stroke_highlight]
21
- * @property {OverlayPopupSetting} [overlay_popup]
22
- * @property {UserAlertsSetting} [user_alerts]
23
+ * @typedef AvailablePageSectionMetaAttributes
24
+ * @property {Object} [attributes]
23
25
  */
24
26
 
25
27
  /**
26
- * @typedef AllAvailablePageSchema
27
- * @property {AvailablePageSchema[]} [pages]
28
+ * @typedef SEOMetaItem
29
+ * @property {string} [title]
30
+ * @property {SEOMetaItems[]} [items]
28
31
  */
29
32
 
30
33
  /**
31
- * @typedef Assets
32
- * @property {CommonJS} [common_js]
33
- * @property {CSS} [css]
34
- * @property {UMDJs} [umd_js]
34
+ * @typedef SEOMetaItems
35
+ * @property {string} [key]
36
+ * @property {string} [value]
35
37
  */
36
38
 
37
39
  /**
38
- * @typedef AuthConfig
39
- * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not
40
- * @property {boolean} [show_header_auth] - Whether to show header authentication or not
40
+ * @typedef SEOSitemap
41
+ * @property {number} [priority]
42
+ * @property {string} [frequency]
41
43
  */
42
44
 
43
45
  /**
44
- * @typedef AvailablePagePlatformPredicate
45
- * @property {boolean} [android] - Section visibility on android platform
46
- * @property {boolean} [ios] - Section visibility on ios platform
47
- * @property {boolean} [web] - Section visibility on web platform
46
+ * @typedef SEObreadcrumb
47
+ * @property {string} [url]
48
+ * @property {Action} [action]
48
49
  */
49
50
 
50
51
  /**
51
- * @typedef AvailablePagePredicate
52
- * @property {AvailablePagePlatformPredicate} [platform]
53
- * @property {AvailablePageRoutePredicate} [route]
54
- * @property {AvailablePageSchedulePredicate} [schedule]
55
- * @property {AvailablePageScreenPredicate} [screen]
56
- * @property {AvailablePageUserPredicate} [user]
57
- * @property {string[]} [zones] - An array of zone ids associated with the section
52
+ * @typedef Action
53
+ * @property {ActionPage} [page]
54
+ * @property {ActionPage} [popup]
55
+ * @property {string} [type]
58
56
  */
59
57
 
60
58
  /**
61
- * @typedef AvailablePageRoutePredicate
62
- * @property {string} [exact_url]
59
+ * @typedef ActionPage
60
+ * @property {Object} [params]
63
61
  * @property {Object} [query]
64
- * @property {string} [selected]
65
- */
66
-
67
- /**
68
- * @typedef AvailablePageSchedulePredicate
69
- * @property {string} [cron]
70
- * @property {string} [end]
71
- * @property {string} [start]
62
+ * @property {string} [url]
63
+ * @property {PageType} type
72
64
  */
73
65
 
74
66
  /**
75
- * @typedef AvailablePageSchema
67
+ * @typedef AvailablePageSeo
68
+ * @property {string} [title]
69
+ * @property {string} [description]
70
+ * @property {string} [canonical_url]
71
+ * @property {SEOMetaItem[]} [meta_tags]
72
+ * @property {SEOSitemap} [sitemap]
73
+ * @property {SEObreadcrumb[]} [breadcrumb]
76
74
  * @property {string} [_id]
77
- * @property {string} [path]
78
- * @property {Object[]} [props]
79
- * @property {AvailablePageSchemaSections[]} [sections]
80
- * @property {AvailablePageSectionMetaAttributes[]} [sections_meta]
81
- * @property {AvailablePageSeo} [seo]
82
- * @property {string} [text]
83
- * @property {string} [theme]
84
- * @property {string} [type]
85
- * @property {string} [value]
86
75
  */
87
76
 
88
77
  /**
89
78
  * @typedef AvailablePageSchemaSections
90
- * @property {Object[]} [blocks]
91
- * @property {string} [label]
92
79
  * @property {string} [name]
93
- * @property {AvailablePagePredicate} [predicate]
94
- * @property {Object} [preset]
80
+ * @property {string} [label]
95
81
  * @property {Object} [props]
82
+ * @property {Object[]} [blocks]
83
+ * @property {Object} [preset]
84
+ * @property {AvailablePagePredicate} [predicate]
96
85
  */
97
86
 
98
87
  /**
99
- * @typedef AvailablePageScreenPredicate
100
- * @property {boolean} [desktop]
101
- * @property {boolean} [mobile]
102
- * @property {boolean} [tablet]
103
- */
104
-
105
- /**
106
- * @typedef AvailablePageSectionMetaAttributes
107
- * @property {Object} [attributes]
88
+ * @typedef AvailablePagePredicate
89
+ * @property {AvailablePageScreenPredicate} [screen]
90
+ * @property {AvailablePageUserPredicate} [user]
91
+ * @property {AvailablePageRoutePredicate} [route]
92
+ * @property {AvailablePageSchedulePredicate} [schedule]
93
+ * @property {AvailablePagePlatformPredicate} [platform]
94
+ * @property {string[]} [zones] - An array of zone ids associated with the section
108
95
  */
109
96
 
110
97
  /**
111
- * @typedef AvailablePageSeo
112
- * @property {string} [_id]
113
- * @property {SEObreadcrumb[]} [breadcrumb]
114
- * @property {string} [canonical_url]
115
- * @property {string} [description]
116
- * @property {SEOMetaItem[]} [meta_tags]
117
- * @property {SEOSitemap} [sitemap]
118
- * @property {string} [title]
98
+ * @typedef AvailablePageScreenPredicate
99
+ * @property {boolean} [mobile]
100
+ * @property {boolean} [desktop]
101
+ * @property {boolean} [tablet]
119
102
  */
120
103
 
121
104
  /**
122
105
  * @typedef AvailablePageUserPredicate
123
- * @property {boolean} [anonymous]
124
106
  * @property {boolean} [authenticated]
107
+ * @property {boolean} [anonymous]
125
108
  */
126
109
 
127
110
  /**
128
- * @typedef BlitzkriegApiErrorSchema
129
- * @property {string} [message]
130
- */
131
-
132
- /**
133
- * @typedef BlitzkriegInternalServerErrorSchema
134
- * @property {string} [message]
135
- */
136
-
137
- /**
138
- * @typedef Block
139
- * @property {string} [name] - The name of the block.
140
- * @property {BlockProps} [props]
141
- * @property {string} [type] - The type of the block.
111
+ * @typedef AvailablePageRoutePredicate
112
+ * @property {string} [selected]
113
+ * @property {string} [exact_url]
114
+ * @property {Object} [query]
142
115
  */
143
116
 
144
117
  /**
145
- * @typedef BlockProps
146
- * @property {ImagePickerProp} [image]
147
- * @property {UrlProp} [slide_link]
118
+ * @typedef AvailablePageSchedulePredicate
119
+ * @property {string} [cron]
120
+ * @property {string} [start]
121
+ * @property {string} [end]
148
122
  */
149
123
 
150
124
  /**
151
- * @typedef ButtonSetting
152
- * @property {string} [button_link] - The button link color
153
- * @property {string} [button_primary] - The primary button color
154
- * @property {string} [button_secondary] - The secondary button color
125
+ * @typedef ThemesSchema
126
+ * @property {Font} [font]
127
+ * @property {Config} [config]
128
+ * @property {boolean} [applied] - Whether the theme has been applied or not
129
+ * @property {boolean} [is_private] - Whether the theme is private or not
130
+ * @property {string[]} [tags] - An array of tags associated with the theme
131
+ * @property {string} [_id] - The unique identifier of the theme
132
+ * @property {string} [application_id] - The ID of the application
133
+ * @property {string} [marketplace_theme_id] - The ID of the theme in the marketplace
134
+ * @property {ThemeMeta} [meta]
135
+ * @property {string} [name] - The name of the theme
136
+ * @property {string} [template_theme_id] - The ID of the template theme
137
+ * @property {string} [version] - The version of the theme
138
+ * @property {Object} [styles] - The styles associated with the theme
139
+ * @property {string} [created_at] - The creation timestamp of the theme
140
+ * @property {string} [updated_at] - The last update timestamp of the theme
141
+ * @property {Assets} [assets]
142
+ * @property {SectionItem[]} [available_sections] - Available sections information
143
+ * @property {string} [theme_type]
144
+ * @property {number} [company_id] - The company id in which sales channel exists
155
145
  */
156
146
 
157
147
  /**
158
- * @typedef CheckboxProp
159
- * @property {string} [type] - The type of the property.
160
- * @property {boolean} [value] - The value of the checkbox property.
148
+ * @typedef Font
149
+ * @property {FontVariants} variants
150
+ * @property {string} family - The font family
161
151
  */
162
152
 
163
153
  /**
164
- * @typedef Colors
165
- * @property {string} [accent_color] - The accent color
166
- * @property {string} [bg_color] - The background color
167
- * @property {string} [button_secondary_color] - The secondary button color
168
- * @property {string} [link_color] - The link color
169
- * @property {string} [primary_color] - The primary color
170
- * @property {string} [secondary_color] - The secondary color
154
+ * @typedef FontVariants
155
+ * @property {FontVariant} [light]
156
+ * @property {FontVariant} [regular]
157
+ * @property {FontVariant} [medium]
158
+ * @property {FontVariant} [semi_bold]
159
+ * @property {FontVariant} [bold]
171
160
  */
172
161
 
173
162
  /**
174
- * @typedef CommonJS
175
- * @property {string} [link]
163
+ * @typedef FontVariant
164
+ * @property {string} name - The name of the font variant
165
+ * @property {string} file - The URL of the font file
176
166
  */
177
167
 
178
168
  /**
179
169
  * @typedef Config
180
170
  * @property {string} current - The current configuration
181
- * @property {GlobalSchema} [global_schema]
182
171
  * @property {ThemeConfiguration[]} list - A list of configurations
172
+ * @property {GlobalSchema} [global_schema]
183
173
  * @property {Preset} [preset]
184
174
  */
185
175
 
186
176
  /**
187
- * @typedef CSS
188
- * @property {string[]} [links]
177
+ * @typedef ThemeConfiguration
178
+ * @property {string} [name] - The name of the configuration
179
+ * @property {Object} [global_config]
180
+ * @property {string[]} [page] - An array of pages
189
181
  */
190
182
 
191
183
  /**
@@ -195,167 +187,182 @@ const Joi = require("joi");
195
187
 
196
188
  /**
197
189
  * @typedef CustomProps
190
+ * @property {string} [header_bg_color] - The header background color
191
+ * @property {string} [header_text_color] - The header text color
192
+ * @property {string} [header_border_color] - The header border color
193
+ * @property {string} [header_icon_color] - The header icon color
194
+ * @property {string} [header_cart_notification_bg_color] - The header cart
195
+ * notification background color
196
+ * @property {string} [header_cart_notification_text_color] - The header cart
197
+ * notification text color
198
+ * @property {string} [header_nav_hover_color] - The header navigation hover color
199
+ * @property {string} [button_primary_color] - The primary button color
200
+ * @property {string} [button_primary_label_color] - The primary button label color
198
201
  * @property {string} [button_add_to_cart_color] - The add to cart button color
199
202
  * @property {string} [button_add_to_cart_label_color] - The add to cart button
200
203
  * label color
201
- * @property {string} [button_primary_color] - The primary button color
202
- * @property {string} [button_primary_label_color] - The primary button label color
203
204
  * @property {string} [button_secondary_color] - The secondary button color
204
205
  * @property {string} [button_secondary_label_color] - The secondary button label color
205
206
  * @property {string} [button_tertiary_color] - The tertiary button color
207
+ * @property {string} [button_tertiary_label_color] - The tertiary button label color
206
208
  * @property {string} [button_tertiary_hover_color] - The tertiary button hover color
207
209
  * @property {string} [button_tertiary_hover_text_color] - The tertiary button
208
210
  * hover text color
209
- * @property {string} [button_tertiary_label_color] - The tertiary button label color
210
- * @property {boolean} [disable_cart] - Whether to disable the cart or not
211
- * @property {string} [footer_bg_color] - The footer background color
212
- * @property {string} [footer_border_color] - The footer border color
213
- * @property {string} [footer_nav_hover_color] - The footer navigation hover color
214
- * @property {string} [footer_text_color] - The footer text color
215
- * @property {string} [header_bg_color] - The header background color
216
- * @property {string} [header_border_color] - The header border color
217
- * @property {string} [header_cart_notification_bg_color] - The header cart
218
- * notification background color
219
- * @property {string} [header_cart_notification_text_color] - The header cart
220
- * notification text color
221
- * @property {string} [header_icon_color] - The header icon color
222
- * @property {string} [header_nav_hover_color] - The header navigation hover color
223
- * @property {string} [header_text_color] - The header text color
224
- * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not
225
- * @property {string} [menu_position] - The position of the menu
226
- * @property {string} [text_body_color] - The text body color
227
- * @property {string} [text_discount_color] - The text discount color
228
211
  * @property {string} [text_heading_link_color] - The text heading link color
212
+ * @property {string} [text_body_color] - The text body color
229
213
  * @property {string} [text_price_color] - The text price color
230
214
  * @property {string} [text_sale_price_color] - The text sale price color
231
215
  * @property {string} [text_strikethrough_price_color] - The text strikethrough
232
216
  * price color
217
+ * @property {string} [text_discount_color] - The text discount color
218
+ * @property {string} [footer_bg_color] - The footer background color
219
+ * @property {string} [footer_text_color] - The footer text color
220
+ * @property {string} [footer_border_color] - The footer border color
221
+ * @property {string} [footer_nav_hover_color] - The footer navigation hover color
222
+ * @property {boolean} [disable_cart] - Whether to disable the cart or not
223
+ * @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not
224
+ * @property {string} [menu_position] - The position of the menu
233
225
  */
234
226
 
235
227
  /**
236
- * @typedef DividerStrokeHighlightSetting
237
- * @property {string} [divider_strokes] - The divider strokes color
238
- * @property {string} [highlight] - The highlight color
228
+ * @typedef GlobalConfig
229
+ * @property {StaticConfig} [statics]
230
+ * @property {CustomConfig} [custom]
239
231
  */
240
232
 
241
233
  /**
242
- * @typedef Font
243
- * @property {string} family - The font family
244
- * @property {FontVariants} variants
234
+ * @typedef GeneralSetting
235
+ * @property {ThemeSetting} [theme]
236
+ * @property {TextSetting} [text]
237
+ * @property {ButtonSetting} [button]
238
+ * @property {SaleDiscountSetting} [sale_discount]
239
+ * @property {HeaderSetting} [header]
240
+ * @property {FooterSetting} [footer]
245
241
  */
246
242
 
247
243
  /**
248
- * @typedef FontVariant
249
- * @property {string} file - The URL of the font file
250
- * @property {string} name - The name of the font variant
244
+ * @typedef AdvanceSetting
245
+ * @property {OverlayPopupSetting} [overlay_popup]
246
+ * @property {DividerStrokeHighlightSetting} [divider_stroke_highlight]
247
+ * @property {UserAlertsSetting} [user_alerts]
251
248
  */
252
249
 
253
250
  /**
254
- * @typedef FontVariants
255
- * @property {FontVariant} [bold]
256
- * @property {FontVariant} [light]
257
- * @property {FontVariant} [medium]
258
- * @property {FontVariant} [regular]
259
- * @property {FontVariant} [semi_bold]
251
+ * @typedef UserAlertsSetting
252
+ * @property {string} [success_background] - The success background color
253
+ * @property {string} [success_text] - The success text color
254
+ * @property {string} [error_background] - The error background color
255
+ * @property {string} [error_text] - The error text color
256
+ * @property {string} [info_background] - The info background color
257
+ * @property {string} [info_text] - The info text color
260
258
  */
261
259
 
262
260
  /**
263
- * @typedef FooterSetting
264
- * @property {string} [footer_background] - The footer background color
265
- * @property {string} [footer_body_text] - The footer body text color
266
- * @property {string} [footer_bottom_background] - The footer bottom background color
267
- * @property {string} [footer_heading_text] - The footer heading text color
268
- * @property {string} [footer_icon] - The footer icon color
261
+ * @typedef ThemeSetting
262
+ * @property {string} [page_background] - The page background color
263
+ * @property {string} [theme_accent] - The theme accent color
269
264
  */
270
265
 
271
266
  /**
272
- * @typedef GeneralSetting
273
- * @property {ButtonSetting} [button]
274
- * @property {FooterSetting} [footer]
275
- * @property {HeaderSetting} [header]
276
- * @property {SaleDiscountSetting} [sale_discount]
277
- * @property {TextSetting} [text]
278
- * @property {ThemeSetting} [theme]
267
+ * @typedef TextSetting
268
+ * @property {string} [text_heading] - The text heading color
269
+ * @property {string} [text_body] - The text body color
270
+ * @property {string} [text_label] - The text label color
271
+ * @property {string} [text_secondary] - The secondary text color
279
272
  */
280
273
 
281
274
  /**
282
- * @typedef GlobalConfig
283
- * @property {CustomConfig} [custom]
284
- * @property {StaticConfig} [statics]
275
+ * @typedef ButtonSetting
276
+ * @property {string} [button_primary] - The primary button color
277
+ * @property {string} [button_secondary] - The secondary button color
278
+ * @property {string} [button_link] - The button link color
279
+ */
280
+
281
+ /**
282
+ * @typedef SaleDiscountSetting
283
+ * @property {string} [sale_badge_background] - The sale badge background color
284
+ * @property {string} [sale_badge_text] - The sale badge text color
285
+ * @property {string} [sale_discount_text] - The sale discount text color
286
+ * @property {string} [sale_timer] - The sale timer color
287
+ */
288
+
289
+ /**
290
+ * @typedef HeaderSetting
291
+ * @property {string} [header_background] - The header background color
292
+ * @property {string} [header_nav] - The header navigation color
293
+ * @property {string} [header_icon] - The header icon color
294
+ */
295
+
296
+ /**
297
+ * @typedef FooterSetting
298
+ * @property {string} [footer_background] - The footer background color
299
+ * @property {string} [footer_bottom_background] - The footer bottom background color
300
+ * @property {string} [footer_heading_text] - The footer heading text color
301
+ * @property {string} [footer_body_text] - The footer body text color
302
+ * @property {string} [footer_icon] - The footer icon color
285
303
  */
286
304
 
287
305
  /**
288
- * @typedef GlobalSchema
289
- * @property {Prop[]} [props]
306
+ * @typedef OverlayPopupSetting
307
+ * @property {string} [dialog_backgroung] - The dialog background color
308
+ * @property {string} [overlay] - The overlay color
290
309
  */
291
310
 
292
311
  /**
293
- * @typedef HeaderSetting
294
- * @property {string} [header_background] - The header background color
295
- * @property {string} [header_icon] - The header icon color
296
- * @property {string} [header_nav] - The header navigation color
312
+ * @typedef DividerStrokeHighlightSetting
313
+ * @property {string} [divider_strokes] - The divider strokes color
314
+ * @property {string} [highlight] - The highlight color
297
315
  */
298
316
 
299
317
  /**
300
- * @typedef ImagePickerProp
301
- * @property {string} [type] - The type of the property.
302
- * @property {string} [value] - The value of the image picker property.
318
+ * @typedef StaticConfig
319
+ * @property {StaticProps} [props]
303
320
  */
304
321
 
305
322
  /**
306
- * @typedef Images
307
- * @property {string} [desktop] - The URL of the desktop image
308
- * @property {string} [mobile] - The URL of the mobile image
323
+ * @typedef StaticProps
324
+ * @property {Colors} [colors]
325
+ * @property {AuthConfig} [auth]
326
+ * @property {PaletteConfig} [palette]
309
327
  */
310
328
 
311
329
  /**
312
- * @typedef OverlayPopupSetting
313
- * @property {string} [dialog_backgroung] - The dialog background color
314
- * @property {string} [overlay] - The overlay color
330
+ * @typedef Colors
331
+ * @property {string} [primary_color] - The primary color
332
+ * @property {string} [secondary_color] - The secondary color
333
+ * @property {string} [accent_color] - The accent color
334
+ * @property {string} [link_color] - The link color
335
+ * @property {string} [button_secondary_color] - The secondary button color
336
+ * @property {string} [bg_color] - The background color
315
337
  */
316
338
 
317
339
  /**
318
- * @typedef Page
319
- * @property {number} [current]
320
- * @property {boolean} [has_next]
321
- * @property {boolean} [has_previous]
322
- * @property {number} [item_total]
323
- * @property {string} [next_id]
324
- * @property {number} [size]
325
- * @property {string} type
340
+ * @typedef AuthConfig
341
+ * @property {boolean} [show_header_auth] - Whether to show header authentication or not
342
+ * @property {boolean} [show_footer_auth] - Whether to show footer authentication or not
326
343
  */
327
344
 
328
345
  /**
329
346
  * @typedef PaletteConfig
330
- * @property {AdvanceSetting} [advance_setting]
331
347
  * @property {GeneralSetting} [general_setting]
348
+ * @property {AdvanceSetting} [advance_setting]
332
349
  */
333
350
 
334
351
  /**
335
- * @typedef Predicate
336
- * @property {Route} [route]
337
- * @property {Screen} [screen]
338
- * @property {ThemeUserSchema} [user]
339
- */
340
-
341
- /**
342
- * @typedef Preset
343
- * @property {Page[]} [pages]
344
- */
345
-
346
- /**
347
- * @typedef Prop
348
- * @property {string} [category] - The category of the property
349
- * @property {string} [id] - The ID of the property
350
- * @property {string} [info] - Additional information about the property
351
- * @property {string} [label] - The label of the property
352
- * @property {string} [type] - The type of the property
352
+ * @typedef ThemeMeta
353
+ * @property {ThemePayment} [payment]
354
+ * @property {string} [description] - The description of the theme
355
+ * @property {string[]} [industry] - An array of industries associated with the theme
356
+ * @property {Release} [release]
357
+ * @property {Images} [images]
358
+ * @property {string} [slug] - The slug of the theme
359
+ * @property {string} [name] - The name of the theme
353
360
  */
354
361
 
355
362
  /**
356
- * @typedef RangeProp
357
- * @property {string} [type] - The type of the property.
358
- * @property {number} [value] - The value of the range property.
363
+ * @typedef ThemePayment
364
+ * @property {boolean} [is_paid] - Whether the theme is paid or not
365
+ * @property {number} [amount] - The amount of the theme
359
366
  */
360
367
 
361
368
  /**
@@ -365,184 +372,177 @@ const Joi = require("joi");
365
372
  */
366
373
 
367
374
  /**
368
- * @typedef Route
369
- * @property {string} [exact_url] - The exact URL of the route.
370
- * @property {string} [selected] - The selected route.
375
+ * @typedef Images
376
+ * @property {string} [desktop] - The URL of the desktop image
377
+ * @property {string} [mobile] - The URL of the mobile image
371
378
  */
372
379
 
373
380
  /**
374
- * @typedef SaleDiscountSetting
375
- * @property {string} [sale_badge_background] - The sale badge background color
376
- * @property {string} [sale_badge_text] - The sale badge text color
377
- * @property {string} [sale_discount_text] - The sale discount text color
378
- * @property {string} [sale_timer] - The sale timer color
381
+ * @typedef Assets
382
+ * @property {UMDJs} [umd_js]
383
+ * @property {CommonJS} [common_js]
384
+ * @property {CSS} [css]
379
385
  */
380
386
 
381
387
  /**
382
- * @typedef Screen
383
- * @property {boolean} [desktop] - True if the screen is a desktop device.
384
- * @property {boolean} [mobile] - True if the screen is a mobile device.
385
- * @property {boolean} [tablet] - True if the screen is a tablet device.
388
+ * @typedef UMDJs
389
+ * @property {string[]} [links]
386
390
  */
387
391
 
388
392
  /**
389
- * @typedef Section
390
- * @property {Block[]} [blocks]
391
- * @property {string} [name] - The name of the section.
392
- * @property {Predicate} [predicate]
393
- * @property {SectionPreset} [preset]
394
- * @property {SectionProps} [props]
393
+ * @typedef CommonJS
394
+ * @property {string} [link]
395
+ */
396
+
397
+ /**
398
+ * @typedef CSS
399
+ * @property {string[]} [links]
395
400
  */
396
401
 
397
402
  /**
398
403
  * @typedef SectionItem
404
+ * @property {Object[]} [props]
399
405
  * @property {Object[]} [blocks] - Blocks
400
- * @property {string} [label] - Label for the section
401
406
  * @property {string} [name] - Name of the section
402
- * @property {Object[]} [props]
407
+ * @property {string} [label] - Label for the section
403
408
  */
404
409
 
405
410
  /**
406
- * @typedef SectionPreset
407
- * @property {Block[]} [blocks]
411
+ * @typedef GlobalSchema
412
+ * @property {Prop[]} [props]
408
413
  */
409
414
 
410
415
  /**
411
- * @typedef SectionProps
412
- * @property {CheckboxProp} [autoplay]
413
- * @property {TextProp} [item_margin]
414
- * @property {RangeProp} [slide_interval]
415
- * @property {TextProp} [title]
416
+ * @typedef Prop
417
+ * @property {string} [type] - The type of the property
418
+ * @property {string} [category] - The category of the property
419
+ * @property {string} [id] - The ID of the property
420
+ * @property {string} [label] - The label of the property
421
+ * @property {string} [info] - Additional information about the property
416
422
  */
417
423
 
418
424
  /**
419
- * @typedef SEObreadcrumb
420
- * @property {Action} [action]
421
- * @property {string} [url]
425
+ * @typedef Preset
426
+ * @property {Page[]} [pages]
422
427
  */
423
428
 
424
429
  /**
425
- * @typedef SEOMetaItem
426
- * @property {SEOMetaItems[]} [items]
427
- * @property {string} [title]
430
+ * @typedef Page
431
+ * @property {number} [item_total]
432
+ * @property {string} [next_id]
433
+ * @property {boolean} [has_previous]
434
+ * @property {boolean} [has_next]
435
+ * @property {number} [current]
436
+ * @property {string} type
437
+ * @property {number} [size]
428
438
  */
429
439
 
430
440
  /**
431
- * @typedef SEOMetaItems
432
- * @property {string} [key]
433
- * @property {string} [value]
441
+ * @typedef SectionProps
442
+ * @property {TextProp} [title]
443
+ * @property {TextProp} [item_margin]
444
+ * @property {CheckboxProp} [autoplay]
445
+ * @property {RangeProp} [slide_interval]
434
446
  */
435
447
 
436
448
  /**
437
- * @typedef SEOSitemap
438
- * @property {string} [frequency]
439
- * @property {number} [priority]
449
+ * @typedef SectionPreset
450
+ * @property {Block[]} [blocks]
440
451
  */
441
452
 
442
453
  /**
443
- * @typedef StaticConfig
444
- * @property {StaticProps} [props]
454
+ * @typedef ImagePickerProp
455
+ * @property {string} [type] - The type of the property.
456
+ * @property {string} [value] - The value of the image picker property.
445
457
  */
446
458
 
447
459
  /**
448
- * @typedef StaticProps
449
- * @property {AuthConfig} [auth]
450
- * @property {Colors} [colors]
451
- * @property {PaletteConfig} [palette]
460
+ * @typedef UrlProp
461
+ * @property {string} [type] - The type of the property.
462
+ * @property {string} [value] - The value of the URL property.
463
+ */
464
+
465
+ /**
466
+ * @typedef BlockProps
467
+ * @property {ImagePickerProp} [image]
468
+ * @property {UrlProp} [slide_link]
452
469
  */
453
470
 
454
471
  /**
455
472
  * @typedef TextProp
456
- * @property {string} [type] - The type of the property.
457
473
  * @property {string} [value] - The value of the text property.
474
+ * @property {string} [type] - The type of the property.
458
475
  */
459
476
 
460
477
  /**
461
- * @typedef TextSetting
462
- * @property {string} [text_body] - The text body color
463
- * @property {string} [text_heading] - The text heading color
464
- * @property {string} [text_label] - The text label color
465
- * @property {string} [text_secondary] - The secondary text color
478
+ * @typedef CheckboxProp
479
+ * @property {boolean} [value] - The value of the checkbox property.
480
+ * @property {string} [type] - The type of the property.
466
481
  */
467
482
 
468
483
  /**
469
- * @typedef ThemeConfiguration
470
- * @property {Object} [global_config]
471
- * @property {string} [name] - The name of the configuration
472
- * @property {string[]} [page] - An array of pages
484
+ * @typedef RangeProp
485
+ * @property {number} [value] - The value of the range property.
486
+ * @property {string} [type] - The type of the property.
473
487
  */
474
488
 
475
489
  /**
476
- * @typedef ThemeMeta
477
- * @property {string} [description] - The description of the theme
478
- * @property {Images} [images]
479
- * @property {string[]} [industry] - An array of industries associated with the theme
480
- * @property {string} [name] - The name of the theme
481
- * @property {ThemePayment} [payment]
482
- * @property {Release} [release]
483
- * @property {string} [slug] - The slug of the theme
490
+ * @typedef Section
491
+ * @property {Block[]} [blocks]
492
+ * @property {Predicate} [predicate]
493
+ * @property {string} [name] - The name of the section.
494
+ * @property {SectionProps} [props]
495
+ * @property {SectionPreset} [preset]
484
496
  */
485
497
 
486
498
  /**
487
- * @typedef ThemePayment
488
- * @property {number} [amount] - The amount of the theme
489
- * @property {boolean} [is_paid] - Whether the theme is paid or not
499
+ * @typedef Block
500
+ * @property {string} [type] - The type of the block.
501
+ * @property {string} [name] - The name of the block.
502
+ * @property {BlockProps} [props]
490
503
  */
491
504
 
492
505
  /**
493
- * @typedef ThemeSetting
494
- * @property {string} [page_background] - The page background color
495
- * @property {string} [theme_accent] - The theme accent color
506
+ * @typedef Predicate
507
+ * @property {Screen} [screen]
508
+ * @property {ThemeUserSchema} [user]
509
+ * @property {Route} [route]
496
510
  */
497
511
 
498
512
  /**
499
- * @typedef ThemesSchema
500
- * @property {string} [_id] - The unique identifier of the theme
501
- * @property {string} [application_id] - The ID of the application
502
- * @property {boolean} [applied] - Whether the theme has been applied or not
503
- * @property {Assets} [assets]
504
- * @property {SectionItem[]} [available_sections] - Available sections information
505
- * @property {number} [company_id] - The company id in which sales channel exists
506
- * @property {Config} [config]
507
- * @property {string} [created_at] - The creation timestamp of the theme
508
- * @property {Font} [font]
509
- * @property {boolean} [is_private] - Whether the theme is private or not
510
- * @property {string} [marketplace_theme_id] - The ID of the theme in the marketplace
511
- * @property {ThemeMeta} [meta]
512
- * @property {string} [name] - The name of the theme
513
- * @property {Object} [styles] - The styles associated with the theme
514
- * @property {string[]} [tags] - An array of tags associated with the theme
515
- * @property {string} [template_theme_id] - The ID of the template theme
516
- * @property {string} [theme_type]
517
- * @property {string} [updated_at] - The last update timestamp of the theme
518
- * @property {string} [version] - The version of the theme
513
+ * @typedef Screen
514
+ * @property {boolean} [mobile] - True if the screen is a mobile device.
515
+ * @property {boolean} [desktop] - True if the screen is a desktop device.
516
+ * @property {boolean} [tablet] - True if the screen is a tablet device.
519
517
  */
520
518
 
521
519
  /**
522
520
  * @typedef ThemeUserSchema
523
- * @property {boolean} [anonymous] - True if the user is anonymous.
524
521
  * @property {boolean} [authenticated] - True if the user is authenticated.
522
+ * @property {boolean} [anonymous] - True if the user is anonymous.
523
+ */
524
+
525
+ /**
526
+ * @typedef Route
527
+ * @property {string} [selected] - The selected route.
528
+ * @property {string} [exact_url] - The exact URL of the route.
525
529
  */
526
530
 
527
531
  /**
528
- * @typedef UMDJs
529
- * @property {string[]} [links]
532
+ * @typedef AvailablePagePlatformPredicate
533
+ * @property {boolean} [ios] - Section visibility on ios platform
534
+ * @property {boolean} [android] - Section visibility on android platform
535
+ * @property {boolean} [web] - Section visibility on web platform
530
536
  */
531
537
 
532
538
  /**
533
- * @typedef UrlProp
534
- * @property {string} [type] - The type of the property.
535
- * @property {string} [value] - The value of the URL property.
539
+ * @typedef BlitzkriegInternalServerErrorSchema
540
+ * @property {string} [message]
536
541
  */
537
542
 
538
543
  /**
539
- * @typedef UserAlertsSetting
540
- * @property {string} [error_background] - The error background color
541
- * @property {string} [error_text] - The error text color
542
- * @property {string} [info_background] - The info background color
543
- * @property {string} [info_text] - The info text color
544
- * @property {string} [success_background] - The success background color
545
- * @property {string} [success_text] - The success text color
544
+ * @typedef BlitzkriegApiErrorSchema
545
+ * @property {string} [message]
546
546
  */
547
547
 
548
548
  /**
@@ -595,236 +595,220 @@ const Joi = require("joi");
595
595
  */
596
596
 
597
597
  class ThemeApplicationModel {
598
- /** @returns {Action} */
599
- static Action() {
598
+ /** @returns {AllAvailablePageSchema} */
599
+ static AllAvailablePageSchema() {
600
600
  return Joi.object({
601
- page: ThemeApplicationModel.ActionPage(),
602
- popup: ThemeApplicationModel.ActionPage(),
603
- type: Joi.string().allow(""),
601
+ pages: Joi.array().items(ThemeApplicationModel.AvailablePageSchema()),
604
602
  });
605
603
  }
606
604
 
607
- /** @returns {ActionPage} */
608
- static ActionPage() {
605
+ /** @returns {AvailablePageSchema} */
606
+ static AvailablePageSchema() {
609
607
  return Joi.object({
610
- params: Joi.object().pattern(
611
- /\S/,
612
- Joi.array().items(Joi.string().allow(""))
608
+ value: Joi.string().allow(""),
609
+ text: Joi.string().allow(""),
610
+ path: Joi.string().allow(""),
611
+ type: Joi.string().allow(""),
612
+ sections: Joi.array().items(
613
+ ThemeApplicationModel.AvailablePageSchemaSections()
613
614
  ),
614
- query: Joi.object().pattern(
615
- /\S/,
616
- Joi.array().items(Joi.string().allow(""))
615
+ sections_meta: Joi.array().items(
616
+ ThemeApplicationModel.AvailablePageSectionMetaAttributes()
617
617
  ),
618
- type: ThemeApplicationModel.PageType().required(),
619
- url: Joi.string().allow(""),
620
- });
621
- }
622
-
623
- /** @returns {AdvanceSetting} */
624
- static AdvanceSetting() {
625
- return Joi.object({
626
- divider_stroke_highlight: ThemeApplicationModel.DividerStrokeHighlightSetting(),
627
- overlay_popup: ThemeApplicationModel.OverlayPopupSetting(),
628
- user_alerts: ThemeApplicationModel.UserAlertsSetting(),
618
+ theme: Joi.string().allow(""),
619
+ seo: ThemeApplicationModel.AvailablePageSeo(),
620
+ props: Joi.array().items(Joi.any()),
621
+ _id: Joi.string().allow(""),
629
622
  });
630
623
  }
631
624
 
632
- /** @returns {AllAvailablePageSchema} */
633
- static AllAvailablePageSchema() {
625
+ /** @returns {AvailablePageSectionMetaAttributes} */
626
+ static AvailablePageSectionMetaAttributes() {
634
627
  return Joi.object({
635
- pages: Joi.array().items(ThemeApplicationModel.AvailablePageSchema()),
628
+ attributes: Joi.any(),
636
629
  });
637
630
  }
638
631
 
639
- /** @returns {Assets} */
640
- static Assets() {
632
+ /** @returns {SEOMetaItem} */
633
+ static SEOMetaItem() {
641
634
  return Joi.object({
642
- common_js: ThemeApplicationModel.CommonJS(),
643
- css: ThemeApplicationModel.CSS(),
644
- umd_js: ThemeApplicationModel.UMDJs(),
635
+ title: Joi.string().allow(""),
636
+ items: Joi.array().items(ThemeApplicationModel.SEOMetaItems()),
645
637
  });
646
638
  }
647
639
 
648
- /** @returns {AuthConfig} */
649
- static AuthConfig() {
640
+ /** @returns {SEOMetaItems} */
641
+ static SEOMetaItems() {
650
642
  return Joi.object({
651
- show_footer_auth: Joi.boolean(),
652
- show_header_auth: Joi.boolean(),
643
+ key: Joi.string().allow(""),
644
+ value: Joi.string().allow(""),
653
645
  });
654
646
  }
655
647
 
656
- /** @returns {AvailablePagePlatformPredicate} */
657
- static AvailablePagePlatformPredicate() {
648
+ /** @returns {SEOSitemap} */
649
+ static SEOSitemap() {
658
650
  return Joi.object({
659
- android: Joi.boolean(),
660
- ios: Joi.boolean(),
661
- web: Joi.boolean(),
651
+ priority: Joi.number(),
652
+ frequency: Joi.string().allow(""),
662
653
  });
663
654
  }
664
655
 
665
- /** @returns {AvailablePagePredicate} */
666
- static AvailablePagePredicate() {
656
+ /** @returns {SEObreadcrumb} */
657
+ static SEObreadcrumb() {
667
658
  return Joi.object({
668
- platform: ThemeApplicationModel.AvailablePagePlatformPredicate(),
669
- route: ThemeApplicationModel.AvailablePageRoutePredicate(),
670
- schedule: ThemeApplicationModel.AvailablePageSchedulePredicate(),
671
- screen: ThemeApplicationModel.AvailablePageScreenPredicate(),
672
- user: ThemeApplicationModel.AvailablePageUserPredicate(),
673
- zones: Joi.array().items(Joi.string().allow("")),
659
+ url: Joi.string().allow(""),
660
+ action: ThemeApplicationModel.Action(),
674
661
  });
675
662
  }
676
663
 
677
- /** @returns {AvailablePageRoutePredicate} */
678
- static AvailablePageRoutePredicate() {
664
+ /** @returns {Action} */
665
+ static Action() {
679
666
  return Joi.object({
680
- exact_url: Joi.string().allow(""),
681
- query: Joi.any(),
682
- selected: Joi.string().allow(""),
667
+ page: ThemeApplicationModel.ActionPage(),
668
+ popup: ThemeApplicationModel.ActionPage(),
669
+ type: Joi.string().allow(""),
683
670
  });
684
671
  }
685
672
 
686
- /** @returns {AvailablePageSchedulePredicate} */
687
- static AvailablePageSchedulePredicate() {
673
+ /** @returns {ActionPage} */
674
+ static ActionPage() {
688
675
  return Joi.object({
689
- cron: Joi.string().allow(""),
690
- end: Joi.string().allow(""),
691
- start: Joi.string().allow(""),
676
+ params: Joi.object().pattern(
677
+ /\S/,
678
+ Joi.array().items(Joi.string().allow(""))
679
+ ),
680
+ query: Joi.object().pattern(
681
+ /\S/,
682
+ Joi.array().items(Joi.string().allow(""))
683
+ ),
684
+ url: Joi.string().allow(""),
685
+ type: ThemeApplicationModel.PageType().required(),
692
686
  });
693
687
  }
694
688
 
695
- /** @returns {AvailablePageSchema} */
696
- static AvailablePageSchema() {
689
+ /** @returns {AvailablePageSeo} */
690
+ static AvailablePageSeo() {
697
691
  return Joi.object({
692
+ title: Joi.string().allow(""),
693
+ description: Joi.string().allow(""),
694
+ canonical_url: Joi.string().allow(""),
695
+ meta_tags: Joi.array().items(ThemeApplicationModel.SEOMetaItem()),
696
+ sitemap: ThemeApplicationModel.SEOSitemap(),
697
+ breadcrumb: Joi.array().items(ThemeApplicationModel.SEObreadcrumb()),
698
698
  _id: Joi.string().allow(""),
699
- path: Joi.string().allow(""),
700
- props: Joi.array().items(Joi.any()),
701
- sections: Joi.array().items(
702
- ThemeApplicationModel.AvailablePageSchemaSections()
703
- ),
704
- sections_meta: Joi.array().items(
705
- ThemeApplicationModel.AvailablePageSectionMetaAttributes()
706
- ),
707
- seo: ThemeApplicationModel.AvailablePageSeo(),
708
- text: Joi.string().allow(""),
709
- theme: Joi.string().allow(""),
710
- type: Joi.string().allow(""),
711
- value: Joi.string().allow(""),
712
699
  });
713
700
  }
714
701
 
715
702
  /** @returns {AvailablePageSchemaSections} */
716
703
  static AvailablePageSchemaSections() {
717
704
  return Joi.object({
718
- blocks: Joi.array().items(Joi.any()),
719
- label: Joi.string().allow(""),
720
705
  name: Joi.string().allow(""),
721
- predicate: ThemeApplicationModel.AvailablePagePredicate(),
722
- preset: Joi.any(),
706
+ label: Joi.string().allow(""),
723
707
  props: Joi.any(),
708
+ blocks: Joi.array().items(Joi.any()),
709
+ preset: Joi.any(),
710
+ predicate: ThemeApplicationModel.AvailablePagePredicate(),
724
711
  });
725
712
  }
726
713
 
727
- /** @returns {AvailablePageScreenPredicate} */
728
- static AvailablePageScreenPredicate() {
729
- return Joi.object({
730
- desktop: Joi.boolean(),
731
- mobile: Joi.boolean(),
732
- tablet: Joi.boolean(),
733
- });
734
- }
735
-
736
- /** @returns {AvailablePageSectionMetaAttributes} */
737
- static AvailablePageSectionMetaAttributes() {
714
+ /** @returns {AvailablePagePredicate} */
715
+ static AvailablePagePredicate() {
738
716
  return Joi.object({
739
- attributes: Joi.any(),
717
+ screen: ThemeApplicationModel.AvailablePageScreenPredicate(),
718
+ user: ThemeApplicationModel.AvailablePageUserPredicate(),
719
+ route: ThemeApplicationModel.AvailablePageRoutePredicate(),
720
+ schedule: ThemeApplicationModel.AvailablePageSchedulePredicate(),
721
+ platform: ThemeApplicationModel.AvailablePagePlatformPredicate(),
722
+ zones: Joi.array().items(Joi.string().allow("")),
740
723
  });
741
724
  }
742
725
 
743
- /** @returns {AvailablePageSeo} */
744
- static AvailablePageSeo() {
726
+ /** @returns {AvailablePageScreenPredicate} */
727
+ static AvailablePageScreenPredicate() {
745
728
  return Joi.object({
746
- _id: Joi.string().allow(""),
747
- breadcrumb: Joi.array().items(ThemeApplicationModel.SEObreadcrumb()),
748
- canonical_url: Joi.string().allow(""),
749
- description: Joi.string().allow(""),
750
- meta_tags: Joi.array().items(ThemeApplicationModel.SEOMetaItem()),
751
- sitemap: ThemeApplicationModel.SEOSitemap(),
752
- title: Joi.string().allow(""),
729
+ mobile: Joi.boolean(),
730
+ desktop: Joi.boolean(),
731
+ tablet: Joi.boolean(),
753
732
  });
754
733
  }
755
734
 
756
735
  /** @returns {AvailablePageUserPredicate} */
757
736
  static AvailablePageUserPredicate() {
758
737
  return Joi.object({
759
- anonymous: Joi.boolean(),
760
738
  authenticated: Joi.boolean(),
739
+ anonymous: Joi.boolean(),
761
740
  });
762
741
  }
763
742
 
764
- /** @returns {BlitzkriegApiErrorSchema} */
765
- static BlitzkriegApiErrorSchema() {
743
+ /** @returns {AvailablePageRoutePredicate} */
744
+ static AvailablePageRoutePredicate() {
766
745
  return Joi.object({
767
- message: Joi.string().allow(""),
746
+ selected: Joi.string().allow(""),
747
+ exact_url: Joi.string().allow(""),
748
+ query: Joi.any(),
768
749
  });
769
750
  }
770
751
 
771
- /** @returns {BlitzkriegInternalServerErrorSchema} */
772
- static BlitzkriegInternalServerErrorSchema() {
752
+ /** @returns {AvailablePageSchedulePredicate} */
753
+ static AvailablePageSchedulePredicate() {
773
754
  return Joi.object({
774
- message: Joi.string().allow(""),
755
+ cron: Joi.string().allow(""),
756
+ start: Joi.string().allow(""),
757
+ end: Joi.string().allow(""),
775
758
  });
776
759
  }
777
760
 
778
- /** @returns {Block} */
779
- static Block() {
761
+ /** @returns {ThemesSchema} */
762
+ static ThemesSchema() {
780
763
  return Joi.object({
764
+ font: ThemeApplicationModel.Font(),
765
+ config: ThemeApplicationModel.Config(),
766
+ applied: Joi.boolean(),
767
+ is_private: Joi.boolean(),
768
+ tags: Joi.array().items(Joi.string().allow("")),
769
+ _id: Joi.string().allow(""),
770
+ application_id: Joi.string().allow(""),
771
+ marketplace_theme_id: Joi.string().allow(""),
772
+ meta: ThemeApplicationModel.ThemeMeta(),
781
773
  name: Joi.string().allow(""),
782
- props: ThemeApplicationModel.BlockProps(),
783
- type: Joi.string().allow(""),
784
- });
785
- }
786
-
787
- /** @returns {BlockProps} */
788
- static BlockProps() {
789
- return Joi.object({
790
- image: ThemeApplicationModel.ImagePickerProp(),
791
- slide_link: ThemeApplicationModel.UrlProp(),
792
- });
793
- }
794
-
795
- /** @returns {ButtonSetting} */
796
- static ButtonSetting() {
797
- return Joi.object({
798
- button_link: Joi.string().allow(""),
799
- button_primary: Joi.string().allow(""),
800
- button_secondary: Joi.string().allow(""),
774
+ template_theme_id: Joi.string().allow(""),
775
+ version: Joi.string().allow(""),
776
+ styles: Joi.any(),
777
+ created_at: Joi.string().allow(""),
778
+ updated_at: Joi.string().allow(""),
779
+ assets: ThemeApplicationModel.Assets(),
780
+ available_sections: Joi.array().items(
781
+ ThemeApplicationModel.SectionItem()
782
+ ),
783
+ theme_type: Joi.string().allow(""),
784
+ company_id: Joi.number(),
801
785
  });
802
786
  }
803
787
 
804
- /** @returns {CheckboxProp} */
805
- static CheckboxProp() {
788
+ /** @returns {Font} */
789
+ static Font() {
806
790
  return Joi.object({
807
- type: Joi.string().allow(""),
808
- value: Joi.boolean(),
791
+ variants: ThemeApplicationModel.FontVariants().required(),
792
+ family: Joi.string().allow("").required(),
809
793
  });
810
794
  }
811
795
 
812
- /** @returns {Colors} */
813
- static Colors() {
796
+ /** @returns {FontVariants} */
797
+ static FontVariants() {
814
798
  return Joi.object({
815
- accent_color: Joi.string().allow(""),
816
- bg_color: Joi.string().allow(""),
817
- button_secondary_color: Joi.string().allow(""),
818
- link_color: Joi.string().allow(""),
819
- primary_color: Joi.string().allow(""),
820
- secondary_color: Joi.string().allow(""),
799
+ light: ThemeApplicationModel.FontVariant(),
800
+ regular: ThemeApplicationModel.FontVariant(),
801
+ medium: ThemeApplicationModel.FontVariant(),
802
+ semi_bold: ThemeApplicationModel.FontVariant(),
803
+ bold: ThemeApplicationModel.FontVariant(),
821
804
  });
822
805
  }
823
806
 
824
- /** @returns {CommonJS} */
825
- static CommonJS() {
807
+ /** @returns {FontVariant} */
808
+ static FontVariant() {
826
809
  return Joi.object({
827
- link: Joi.string().allow(""),
810
+ name: Joi.string().allow("").required(),
811
+ file: Joi.string().allow("").required(),
828
812
  });
829
813
  }
830
814
 
@@ -832,18 +816,20 @@ class ThemeApplicationModel {
832
816
  static Config() {
833
817
  return Joi.object({
834
818
  current: Joi.string().allow("").required(),
835
- global_schema: ThemeApplicationModel.GlobalSchema(),
836
819
  list: Joi.array()
837
820
  .items(ThemeApplicationModel.ThemeConfiguration())
838
821
  .required(),
822
+ global_schema: ThemeApplicationModel.GlobalSchema(),
839
823
  preset: ThemeApplicationModel.Preset(),
840
824
  });
841
825
  }
842
826
 
843
- /** @returns {CSS} */
844
- static CSS() {
827
+ /** @returns {ThemeConfiguration} */
828
+ static ThemeConfiguration() {
845
829
  return Joi.object({
846
- links: Joi.array().items(Joi.string().allow("")),
830
+ name: Joi.string().allow(""),
831
+ global_config: Joi.any(),
832
+ page: Joi.array().items(Joi.string().allow("")),
847
833
  });
848
834
  }
849
835
 
@@ -857,109 +843,114 @@ class ThemeApplicationModel {
857
843
  /** @returns {CustomProps} */
858
844
  static CustomProps() {
859
845
  return Joi.object({
860
- button_add_to_cart_color: Joi.string().allow(""),
861
- button_add_to_cart_label_color: Joi.string().allow(""),
846
+ header_bg_color: Joi.string().allow(""),
847
+ header_text_color: Joi.string().allow(""),
848
+ header_border_color: Joi.string().allow(""),
849
+ header_icon_color: Joi.string().allow(""),
850
+ header_cart_notification_bg_color: Joi.string().allow(""),
851
+ header_cart_notification_text_color: Joi.string().allow(""),
852
+ header_nav_hover_color: Joi.string().allow(""),
862
853
  button_primary_color: Joi.string().allow(""),
863
854
  button_primary_label_color: Joi.string().allow(""),
855
+ button_add_to_cart_color: Joi.string().allow(""),
856
+ button_add_to_cart_label_color: Joi.string().allow(""),
864
857
  button_secondary_color: Joi.string().allow(""),
865
858
  button_secondary_label_color: Joi.string().allow(""),
866
859
  button_tertiary_color: Joi.string().allow(""),
860
+ button_tertiary_label_color: Joi.string().allow(""),
867
861
  button_tertiary_hover_color: Joi.string().allow(""),
868
862
  button_tertiary_hover_text_color: Joi.string().allow(""),
869
- button_tertiary_label_color: Joi.string().allow(""),
870
- disable_cart: Joi.boolean(),
863
+ text_heading_link_color: Joi.string().allow(""),
864
+ text_body_color: Joi.string().allow(""),
865
+ text_price_color: Joi.string().allow(""),
866
+ text_sale_price_color: Joi.string().allow(""),
867
+ text_strikethrough_price_color: Joi.string().allow(""),
868
+ text_discount_color: Joi.string().allow(""),
871
869
  footer_bg_color: Joi.string().allow(""),
870
+ footer_text_color: Joi.string().allow(""),
872
871
  footer_border_color: Joi.string().allow(""),
873
872
  footer_nav_hover_color: Joi.string().allow(""),
874
- footer_text_color: Joi.string().allow(""),
875
- header_bg_color: Joi.string().allow(""),
876
- header_border_color: Joi.string().allow(""),
877
- header_cart_notification_bg_color: Joi.string().allow(""),
878
- header_cart_notification_text_color: Joi.string().allow(""),
879
- header_icon_color: Joi.string().allow(""),
880
- header_nav_hover_color: Joi.string().allow(""),
881
- header_text_color: Joi.string().allow(""),
873
+ disable_cart: Joi.boolean(),
882
874
  is_menu_below_logo: Joi.boolean(),
883
875
  menu_position: Joi.string().allow(""),
884
- text_body_color: Joi.string().allow(""),
885
- text_discount_color: Joi.string().allow(""),
886
- text_heading_link_color: Joi.string().allow(""),
887
- text_price_color: Joi.string().allow(""),
888
- text_sale_price_color: Joi.string().allow(""),
889
- text_strikethrough_price_color: Joi.string().allow(""),
890
876
  });
891
877
  }
892
878
 
893
- /** @returns {DividerStrokeHighlightSetting} */
894
- static DividerStrokeHighlightSetting() {
879
+ /** @returns {GlobalConfig} */
880
+ static GlobalConfig() {
895
881
  return Joi.object({
896
- divider_strokes: Joi.string().allow(""),
897
- highlight: Joi.string().allow(""),
882
+ statics: ThemeApplicationModel.StaticConfig(),
883
+ custom: ThemeApplicationModel.CustomConfig(),
898
884
  });
899
885
  }
900
886
 
901
- /** @returns {Font} */
902
- static Font() {
887
+ /** @returns {GeneralSetting} */
888
+ static GeneralSetting() {
903
889
  return Joi.object({
904
- family: Joi.string().allow("").required(),
905
- variants: ThemeApplicationModel.FontVariants().required(),
890
+ theme: ThemeApplicationModel.ThemeSetting(),
891
+ text: ThemeApplicationModel.TextSetting(),
892
+ button: ThemeApplicationModel.ButtonSetting(),
893
+ sale_discount: ThemeApplicationModel.SaleDiscountSetting(),
894
+ header: ThemeApplicationModel.HeaderSetting(),
895
+ footer: ThemeApplicationModel.FooterSetting(),
906
896
  });
907
897
  }
908
898
 
909
- /** @returns {FontVariant} */
910
- static FontVariant() {
899
+ /** @returns {AdvanceSetting} */
900
+ static AdvanceSetting() {
911
901
  return Joi.object({
912
- file: Joi.string().allow("").required(),
913
- name: Joi.string().allow("").required(),
902
+ overlay_popup: ThemeApplicationModel.OverlayPopupSetting(),
903
+ divider_stroke_highlight: ThemeApplicationModel.DividerStrokeHighlightSetting(),
904
+ user_alerts: ThemeApplicationModel.UserAlertsSetting(),
914
905
  });
915
906
  }
916
907
 
917
- /** @returns {FontVariants} */
918
- static FontVariants() {
908
+ /** @returns {UserAlertsSetting} */
909
+ static UserAlertsSetting() {
919
910
  return Joi.object({
920
- bold: ThemeApplicationModel.FontVariant(),
921
- light: ThemeApplicationModel.FontVariant(),
922
- medium: ThemeApplicationModel.FontVariant(),
923
- regular: ThemeApplicationModel.FontVariant(),
924
- semi_bold: ThemeApplicationModel.FontVariant(),
911
+ success_background: Joi.string().allow(""),
912
+ success_text: Joi.string().allow(""),
913
+ error_background: Joi.string().allow(""),
914
+ error_text: Joi.string().allow(""),
915
+ info_background: Joi.string().allow(""),
916
+ info_text: Joi.string().allow(""),
925
917
  });
926
918
  }
927
919
 
928
- /** @returns {FooterSetting} */
929
- static FooterSetting() {
920
+ /** @returns {ThemeSetting} */
921
+ static ThemeSetting() {
930
922
  return Joi.object({
931
- footer_background: Joi.string().allow(""),
932
- footer_body_text: Joi.string().allow(""),
933
- footer_bottom_background: Joi.string().allow(""),
934
- footer_heading_text: Joi.string().allow(""),
935
- footer_icon: Joi.string().allow(""),
923
+ page_background: Joi.string().allow(""),
924
+ theme_accent: Joi.string().allow(""),
936
925
  });
937
926
  }
938
927
 
939
- /** @returns {GeneralSetting} */
940
- static GeneralSetting() {
928
+ /** @returns {TextSetting} */
929
+ static TextSetting() {
941
930
  return Joi.object({
942
- button: ThemeApplicationModel.ButtonSetting(),
943
- footer: ThemeApplicationModel.FooterSetting(),
944
- header: ThemeApplicationModel.HeaderSetting(),
945
- sale_discount: ThemeApplicationModel.SaleDiscountSetting(),
946
- text: ThemeApplicationModel.TextSetting(),
947
- theme: ThemeApplicationModel.ThemeSetting(),
931
+ text_heading: Joi.string().allow(""),
932
+ text_body: Joi.string().allow(""),
933
+ text_label: Joi.string().allow(""),
934
+ text_secondary: Joi.string().allow(""),
948
935
  });
949
936
  }
950
937
 
951
- /** @returns {GlobalConfig} */
952
- static GlobalConfig() {
938
+ /** @returns {ButtonSetting} */
939
+ static ButtonSetting() {
953
940
  return Joi.object({
954
- custom: ThemeApplicationModel.CustomConfig(),
955
- statics: ThemeApplicationModel.StaticConfig(),
941
+ button_primary: Joi.string().allow(""),
942
+ button_secondary: Joi.string().allow(""),
943
+ button_link: Joi.string().allow(""),
956
944
  });
957
945
  }
958
946
 
959
- /** @returns {GlobalSchema} */
960
- static GlobalSchema() {
947
+ /** @returns {SaleDiscountSetting} */
948
+ static SaleDiscountSetting() {
961
949
  return Joi.object({
962
- props: Joi.array().items(ThemeApplicationModel.Prop()),
950
+ sale_badge_background: Joi.string().allow(""),
951
+ sale_badge_text: Joi.string().allow(""),
952
+ sale_discount_text: Joi.string().allow(""),
953
+ sale_timer: Joi.string().allow(""),
963
954
  });
964
955
  }
965
956
 
@@ -967,24 +958,19 @@ class ThemeApplicationModel {
967
958
  static HeaderSetting() {
968
959
  return Joi.object({
969
960
  header_background: Joi.string().allow(""),
970
- header_icon: Joi.string().allow(""),
971
961
  header_nav: Joi.string().allow(""),
962
+ header_icon: Joi.string().allow(""),
972
963
  });
973
964
  }
974
965
 
975
- /** @returns {ImagePickerProp} */
976
- static ImagePickerProp() {
977
- return Joi.object({
978
- type: Joi.string().allow(""),
979
- value: Joi.string().allow(""),
980
- });
981
- }
982
-
983
- /** @returns {Images} */
984
- static Images() {
966
+ /** @returns {FooterSetting} */
967
+ static FooterSetting() {
985
968
  return Joi.object({
986
- desktop: Joi.string().allow(""),
987
- mobile: Joi.string().allow(""),
969
+ footer_background: Joi.string().allow(""),
970
+ footer_bottom_background: Joi.string().allow(""),
971
+ footer_heading_text: Joi.string().allow(""),
972
+ footer_body_text: Joi.string().allow(""),
973
+ footer_icon: Joi.string().allow(""),
988
974
  });
989
975
  }
990
976
 
@@ -996,59 +982,76 @@ class ThemeApplicationModel {
996
982
  });
997
983
  }
998
984
 
999
- /** @returns {Page} */
1000
- static Page() {
985
+ /** @returns {DividerStrokeHighlightSetting} */
986
+ static DividerStrokeHighlightSetting() {
1001
987
  return Joi.object({
1002
- current: Joi.number(),
1003
- has_next: Joi.boolean(),
1004
- has_previous: Joi.boolean(),
1005
- item_total: Joi.number(),
1006
- next_id: Joi.string().allow(""),
1007
- size: Joi.number(),
1008
- type: Joi.string().allow("").required(),
988
+ divider_strokes: Joi.string().allow(""),
989
+ highlight: Joi.string().allow(""),
1009
990
  });
1010
991
  }
1011
992
 
1012
- /** @returns {PaletteConfig} */
1013
- static PaletteConfig() {
993
+ /** @returns {StaticConfig} */
994
+ static StaticConfig() {
1014
995
  return Joi.object({
1015
- advance_setting: ThemeApplicationModel.AdvanceSetting(),
1016
- general_setting: ThemeApplicationModel.GeneralSetting(),
996
+ props: ThemeApplicationModel.StaticProps(),
1017
997
  });
1018
998
  }
1019
999
 
1020
- /** @returns {Predicate} */
1021
- static Predicate() {
1000
+ /** @returns {StaticProps} */
1001
+ static StaticProps() {
1022
1002
  return Joi.object({
1023
- route: ThemeApplicationModel.Route(),
1024
- screen: ThemeApplicationModel.Screen(),
1025
- user: ThemeApplicationModel.ThemeUserSchema(),
1003
+ colors: ThemeApplicationModel.Colors(),
1004
+ auth: ThemeApplicationModel.AuthConfig(),
1005
+ palette: ThemeApplicationModel.PaletteConfig(),
1026
1006
  });
1027
1007
  }
1028
1008
 
1029
- /** @returns {Preset} */
1030
- static Preset() {
1009
+ /** @returns {Colors} */
1010
+ static Colors() {
1031
1011
  return Joi.object({
1032
- pages: Joi.array().items(ThemeApplicationModel.Page()),
1012
+ primary_color: Joi.string().allow(""),
1013
+ secondary_color: Joi.string().allow(""),
1014
+ accent_color: Joi.string().allow(""),
1015
+ link_color: Joi.string().allow(""),
1016
+ button_secondary_color: Joi.string().allow(""),
1017
+ bg_color: Joi.string().allow(""),
1033
1018
  });
1034
1019
  }
1035
1020
 
1036
- /** @returns {Prop} */
1037
- static Prop() {
1021
+ /** @returns {AuthConfig} */
1022
+ static AuthConfig() {
1038
1023
  return Joi.object({
1039
- category: Joi.string().allow(""),
1040
- id: Joi.string().allow(""),
1041
- info: Joi.string().allow(""),
1042
- label: Joi.string().allow(""),
1043
- type: Joi.string().allow(""),
1024
+ show_header_auth: Joi.boolean(),
1025
+ show_footer_auth: Joi.boolean(),
1026
+ });
1027
+ }
1028
+
1029
+ /** @returns {PaletteConfig} */
1030
+ static PaletteConfig() {
1031
+ return Joi.object({
1032
+ general_setting: ThemeApplicationModel.GeneralSetting(),
1033
+ advance_setting: ThemeApplicationModel.AdvanceSetting(),
1034
+ });
1035
+ }
1036
+
1037
+ /** @returns {ThemeMeta} */
1038
+ static ThemeMeta() {
1039
+ return Joi.object({
1040
+ payment: ThemeApplicationModel.ThemePayment(),
1041
+ description: Joi.string().allow(""),
1042
+ industry: Joi.array().items(Joi.string().allow("")),
1043
+ release: ThemeApplicationModel.Release(),
1044
+ images: ThemeApplicationModel.Images(),
1045
+ slug: Joi.string().allow(""),
1046
+ name: Joi.string().allow(""),
1044
1047
  });
1045
1048
  }
1046
1049
 
1047
- /** @returns {RangeProp} */
1048
- static RangeProp() {
1050
+ /** @returns {ThemePayment} */
1051
+ static ThemePayment() {
1049
1052
  return Joi.object({
1050
- type: Joi.string().allow(""),
1051
- value: Joi.number(),
1053
+ is_paid: Joi.boolean(),
1054
+ amount: Joi.number(),
1052
1055
  });
1053
1056
  }
1054
1057
 
@@ -1060,234 +1063,231 @@ class ThemeApplicationModel {
1060
1063
  });
1061
1064
  }
1062
1065
 
1063
- /** @returns {Route} */
1064
- static Route() {
1066
+ /** @returns {Images} */
1067
+ static Images() {
1065
1068
  return Joi.object({
1066
- exact_url: Joi.string().allow(""),
1067
- selected: Joi.string().allow(""),
1069
+ desktop: Joi.string().allow(""),
1070
+ mobile: Joi.string().allow(""),
1068
1071
  });
1069
1072
  }
1070
1073
 
1071
- /** @returns {SaleDiscountSetting} */
1072
- static SaleDiscountSetting() {
1074
+ /** @returns {Assets} */
1075
+ static Assets() {
1073
1076
  return Joi.object({
1074
- sale_badge_background: Joi.string().allow(""),
1075
- sale_badge_text: Joi.string().allow(""),
1076
- sale_discount_text: Joi.string().allow(""),
1077
- sale_timer: Joi.string().allow(""),
1077
+ umd_js: ThemeApplicationModel.UMDJs(),
1078
+ common_js: ThemeApplicationModel.CommonJS(),
1079
+ css: ThemeApplicationModel.CSS(),
1078
1080
  });
1079
1081
  }
1080
1082
 
1081
- /** @returns {Screen} */
1082
- static Screen() {
1083
+ /** @returns {UMDJs} */
1084
+ static UMDJs() {
1083
1085
  return Joi.object({
1084
- desktop: Joi.boolean(),
1085
- mobile: Joi.boolean(),
1086
- tablet: Joi.boolean(),
1086
+ links: Joi.array().items(Joi.string().allow("")),
1087
1087
  });
1088
1088
  }
1089
1089
 
1090
- /** @returns {Section} */
1091
- static Section() {
1090
+ /** @returns {CommonJS} */
1091
+ static CommonJS() {
1092
1092
  return Joi.object({
1093
- blocks: Joi.array().items(ThemeApplicationModel.Block()),
1094
- name: Joi.string().allow(""),
1095
- predicate: ThemeApplicationModel.Predicate(),
1096
- preset: ThemeApplicationModel.SectionPreset(),
1097
- props: ThemeApplicationModel.SectionProps(),
1093
+ link: Joi.string().allow(""),
1094
+ });
1095
+ }
1096
+
1097
+ /** @returns {CSS} */
1098
+ static CSS() {
1099
+ return Joi.object({
1100
+ links: Joi.array().items(Joi.string().allow("")),
1098
1101
  });
1099
1102
  }
1100
1103
 
1101
1104
  /** @returns {SectionItem} */
1102
1105
  static SectionItem() {
1103
1106
  return Joi.object({
1107
+ props: Joi.array().items(Joi.any()),
1104
1108
  blocks: Joi.array().items(Joi.any()),
1105
- label: Joi.string().allow(""),
1106
1109
  name: Joi.string().allow(""),
1107
- props: Joi.array().items(Joi.any()),
1110
+ label: Joi.string().allow(""),
1108
1111
  });
1109
1112
  }
1110
1113
 
1111
- /** @returns {SectionPreset} */
1112
- static SectionPreset() {
1114
+ /** @returns {GlobalSchema} */
1115
+ static GlobalSchema() {
1113
1116
  return Joi.object({
1114
- blocks: Joi.array().items(ThemeApplicationModel.Block()),
1117
+ props: Joi.array().items(ThemeApplicationModel.Prop()),
1115
1118
  });
1116
1119
  }
1117
1120
 
1118
- /** @returns {SectionProps} */
1119
- static SectionProps() {
1121
+ /** @returns {Prop} */
1122
+ static Prop() {
1120
1123
  return Joi.object({
1121
- autoplay: ThemeApplicationModel.CheckboxProp(),
1122
- item_margin: ThemeApplicationModel.TextProp(),
1123
- slide_interval: ThemeApplicationModel.RangeProp(),
1124
- title: ThemeApplicationModel.TextProp(),
1124
+ type: Joi.string().allow(""),
1125
+ category: Joi.string().allow(""),
1126
+ id: Joi.string().allow(""),
1127
+ label: Joi.string().allow(""),
1128
+ info: Joi.string().allow(""),
1125
1129
  });
1126
1130
  }
1127
1131
 
1128
- /** @returns {SEObreadcrumb} */
1129
- static SEObreadcrumb() {
1132
+ /** @returns {Preset} */
1133
+ static Preset() {
1130
1134
  return Joi.object({
1131
- action: ThemeApplicationModel.Action(),
1132
- url: Joi.string().allow(""),
1135
+ pages: Joi.array().items(ThemeApplicationModel.Page()),
1133
1136
  });
1134
1137
  }
1135
1138
 
1136
- /** @returns {SEOMetaItem} */
1137
- static SEOMetaItem() {
1139
+ /** @returns {Page} */
1140
+ static Page() {
1138
1141
  return Joi.object({
1139
- items: Joi.array().items(ThemeApplicationModel.SEOMetaItems()),
1140
- title: Joi.string().allow(""),
1142
+ item_total: Joi.number(),
1143
+ next_id: Joi.string().allow(""),
1144
+ has_previous: Joi.boolean(),
1145
+ has_next: Joi.boolean(),
1146
+ current: Joi.number(),
1147
+ type: Joi.string().allow("").required(),
1148
+ size: Joi.number(),
1141
1149
  });
1142
1150
  }
1143
1151
 
1144
- /** @returns {SEOMetaItems} */
1145
- static SEOMetaItems() {
1152
+ /** @returns {SectionProps} */
1153
+ static SectionProps() {
1146
1154
  return Joi.object({
1147
- key: Joi.string().allow(""),
1148
- value: Joi.string().allow(""),
1155
+ title: ThemeApplicationModel.TextProp(),
1156
+ item_margin: ThemeApplicationModel.TextProp(),
1157
+ autoplay: ThemeApplicationModel.CheckboxProp(),
1158
+ slide_interval: ThemeApplicationModel.RangeProp(),
1149
1159
  });
1150
1160
  }
1151
1161
 
1152
- /** @returns {SEOSitemap} */
1153
- static SEOSitemap() {
1162
+ /** @returns {SectionPreset} */
1163
+ static SectionPreset() {
1154
1164
  return Joi.object({
1155
- frequency: Joi.string().allow(""),
1156
- priority: Joi.number(),
1165
+ blocks: Joi.array().items(ThemeApplicationModel.Block()),
1157
1166
  });
1158
1167
  }
1159
1168
 
1160
- /** @returns {StaticConfig} */
1161
- static StaticConfig() {
1169
+ /** @returns {ImagePickerProp} */
1170
+ static ImagePickerProp() {
1162
1171
  return Joi.object({
1163
- props: ThemeApplicationModel.StaticProps(),
1172
+ type: Joi.string().allow(""),
1173
+ value: Joi.string().allow(""),
1164
1174
  });
1165
1175
  }
1166
1176
 
1167
- /** @returns {StaticProps} */
1168
- static StaticProps() {
1177
+ /** @returns {UrlProp} */
1178
+ static UrlProp() {
1169
1179
  return Joi.object({
1170
- auth: ThemeApplicationModel.AuthConfig(),
1171
- colors: ThemeApplicationModel.Colors(),
1172
- palette: ThemeApplicationModel.PaletteConfig(),
1180
+ type: Joi.string().allow(""),
1181
+ value: Joi.string().allow(""),
1182
+ });
1183
+ }
1184
+
1185
+ /** @returns {BlockProps} */
1186
+ static BlockProps() {
1187
+ return Joi.object({
1188
+ image: ThemeApplicationModel.ImagePickerProp(),
1189
+ slide_link: ThemeApplicationModel.UrlProp(),
1173
1190
  });
1174
1191
  }
1175
1192
 
1176
1193
  /** @returns {TextProp} */
1177
1194
  static TextProp() {
1178
1195
  return Joi.object({
1179
- type: Joi.string().allow(""),
1180
1196
  value: Joi.string().allow(""),
1197
+ type: Joi.string().allow(""),
1181
1198
  });
1182
1199
  }
1183
1200
 
1184
- /** @returns {TextSetting} */
1185
- static TextSetting() {
1201
+ /** @returns {CheckboxProp} */
1202
+ static CheckboxProp() {
1186
1203
  return Joi.object({
1187
- text_body: Joi.string().allow(""),
1188
- text_heading: Joi.string().allow(""),
1189
- text_label: Joi.string().allow(""),
1190
- text_secondary: Joi.string().allow(""),
1204
+ value: Joi.boolean(),
1205
+ type: Joi.string().allow(""),
1191
1206
  });
1192
1207
  }
1193
1208
 
1194
- /** @returns {ThemeConfiguration} */
1195
- static ThemeConfiguration() {
1209
+ /** @returns {RangeProp} */
1210
+ static RangeProp() {
1196
1211
  return Joi.object({
1197
- global_config: Joi.any(),
1198
- name: Joi.string().allow(""),
1199
- page: Joi.array().items(Joi.string().allow("")),
1212
+ value: Joi.number(),
1213
+ type: Joi.string().allow(""),
1200
1214
  });
1201
1215
  }
1202
1216
 
1203
- /** @returns {ThemeMeta} */
1204
- static ThemeMeta() {
1217
+ /** @returns {Section} */
1218
+ static Section() {
1205
1219
  return Joi.object({
1206
- description: Joi.string().allow(""),
1207
- images: ThemeApplicationModel.Images(),
1208
- industry: Joi.array().items(Joi.string().allow("")),
1220
+ blocks: Joi.array().items(ThemeApplicationModel.Block()),
1221
+ predicate: ThemeApplicationModel.Predicate(),
1209
1222
  name: Joi.string().allow(""),
1210
- payment: ThemeApplicationModel.ThemePayment(),
1211
- release: ThemeApplicationModel.Release(),
1212
- slug: Joi.string().allow(""),
1223
+ props: ThemeApplicationModel.SectionProps(),
1224
+ preset: ThemeApplicationModel.SectionPreset(),
1213
1225
  });
1214
1226
  }
1215
1227
 
1216
- /** @returns {ThemePayment} */
1217
- static ThemePayment() {
1228
+ /** @returns {Block} */
1229
+ static Block() {
1218
1230
  return Joi.object({
1219
- amount: Joi.number(),
1220
- is_paid: Joi.boolean(),
1231
+ type: Joi.string().allow(""),
1232
+ name: Joi.string().allow(""),
1233
+ props: ThemeApplicationModel.BlockProps(),
1221
1234
  });
1222
1235
  }
1223
1236
 
1224
- /** @returns {ThemeSetting} */
1225
- static ThemeSetting() {
1237
+ /** @returns {Predicate} */
1238
+ static Predicate() {
1226
1239
  return Joi.object({
1227
- page_background: Joi.string().allow(""),
1228
- theme_accent: Joi.string().allow(""),
1240
+ screen: ThemeApplicationModel.Screen(),
1241
+ user: ThemeApplicationModel.ThemeUserSchema(),
1242
+ route: ThemeApplicationModel.Route(),
1229
1243
  });
1230
1244
  }
1231
1245
 
1232
- /** @returns {ThemesSchema} */
1233
- static ThemesSchema() {
1246
+ /** @returns {Screen} */
1247
+ static Screen() {
1234
1248
  return Joi.object({
1235
- _id: Joi.string().allow(""),
1236
- application_id: Joi.string().allow(""),
1237
- applied: Joi.boolean(),
1238
- assets: ThemeApplicationModel.Assets(),
1239
- available_sections: Joi.array().items(
1240
- ThemeApplicationModel.SectionItem()
1241
- ),
1242
- company_id: Joi.number(),
1243
- config: ThemeApplicationModel.Config(),
1244
- created_at: Joi.string().allow(""),
1245
- font: ThemeApplicationModel.Font(),
1246
- is_private: Joi.boolean(),
1247
- marketplace_theme_id: Joi.string().allow(""),
1248
- meta: ThemeApplicationModel.ThemeMeta(),
1249
- name: Joi.string().allow(""),
1250
- styles: Joi.any(),
1251
- tags: Joi.array().items(Joi.string().allow("")),
1252
- template_theme_id: Joi.string().allow(""),
1253
- theme_type: Joi.string().allow(""),
1254
- updated_at: Joi.string().allow(""),
1255
- version: Joi.string().allow(""),
1249
+ mobile: Joi.boolean(),
1250
+ desktop: Joi.boolean(),
1251
+ tablet: Joi.boolean(),
1256
1252
  });
1257
1253
  }
1258
1254
 
1259
1255
  /** @returns {ThemeUserSchema} */
1260
1256
  static ThemeUserSchema() {
1261
1257
  return Joi.object({
1262
- anonymous: Joi.boolean(),
1263
1258
  authenticated: Joi.boolean(),
1259
+ anonymous: Joi.boolean(),
1264
1260
  });
1265
1261
  }
1266
1262
 
1267
- /** @returns {UMDJs} */
1268
- static UMDJs() {
1263
+ /** @returns {Route} */
1264
+ static Route() {
1269
1265
  return Joi.object({
1270
- links: Joi.array().items(Joi.string().allow("")),
1266
+ selected: Joi.string().allow(""),
1267
+ exact_url: Joi.string().allow(""),
1271
1268
  });
1272
1269
  }
1273
1270
 
1274
- /** @returns {UrlProp} */
1275
- static UrlProp() {
1271
+ /** @returns {AvailablePagePlatformPredicate} */
1272
+ static AvailablePagePlatformPredicate() {
1276
1273
  return Joi.object({
1277
- type: Joi.string().allow(""),
1278
- value: Joi.string().allow(""),
1274
+ ios: Joi.boolean(),
1275
+ android: Joi.boolean(),
1276
+ web: Joi.boolean(),
1279
1277
  });
1280
1278
  }
1281
1279
 
1282
- /** @returns {UserAlertsSetting} */
1283
- static UserAlertsSetting() {
1280
+ /** @returns {BlitzkriegInternalServerErrorSchema} */
1281
+ static BlitzkriegInternalServerErrorSchema() {
1284
1282
  return Joi.object({
1285
- error_background: Joi.string().allow(""),
1286
- error_text: Joi.string().allow(""),
1287
- info_background: Joi.string().allow(""),
1288
- info_text: Joi.string().allow(""),
1289
- success_background: Joi.string().allow(""),
1290
- success_text: Joi.string().allow(""),
1283
+ message: Joi.string().allow(""),
1284
+ });
1285
+ }
1286
+
1287
+ /** @returns {BlitzkriegApiErrorSchema} */
1288
+ static BlitzkriegApiErrorSchema() {
1289
+ return Joi.object({
1290
+ message: Joi.string().allow(""),
1291
1291
  });
1292
1292
  }
1293
1293