@gofynd/fdk-client-javascript 1.4.2-beta.2 → 1.4.2-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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/sdk/application/Cart/CartApplicationModel.d.ts +1742 -1726
- package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
- package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
- package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
- package/sdk/application/Common/CommonApplicationModel.js +172 -172
- package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
- package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
- package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
- package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
- package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
- package/sdk/application/Content/ContentApplicationModel.js +757 -757
- package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
- package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
- package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
- package/sdk/application/Lead/LeadApplicationModel.js +301 -301
- package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
- package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
- package/sdk/application/Order/OrderApplicationModel.d.ts +846 -846
- package/sdk/application/Order/OrderApplicationModel.js +822 -822
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +2155 -2150
- package/sdk/application/Payment/PaymentApplicationModel.js +1460 -1458
- package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
- package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
- package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
- package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
- package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
- package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
- package/sdk/application/Share/ShareApplicationModel.js +121 -121
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
- package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
- package/sdk/application/User/UserApplicationModel.d.ts +762 -762
- package/sdk/application/User/UserApplicationModel.js +738 -738
- package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
- package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
- package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
- package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
- package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
- package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
- package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
- package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
- package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
- package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
- package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
- package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -1013
- package/sdk/platform/Catalog/CatalogPlatformModel.js +923 -923
- package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
- package/sdk/platform/Common/CommonPlatformModel.js +187 -187
- package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
- package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
- package/sdk/platform/Content/ContentPlatformModel.d.ts +1833 -1833
- package/sdk/platform/Content/ContentPlatformModel.js +1837 -1837
- package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
- package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
- package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +865 -865
- package/sdk/platform/FileStorage/FileStoragePlatformModel.js +877 -877
- package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
- package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
- package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
- package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
- package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
- package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
- package/sdk/platform/Order/OrderPlatformModel.d.ts +5180 -5176
- package/sdk/platform/Order/OrderPlatformModel.js +4740 -4736
- package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
- package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
- package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2670 -2660
- package/sdk/platform/Payment/PaymentPlatformModel.js +1831 -1827
- package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
- package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1505 -1507
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1532 -1536
- package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
- package/sdk/platform/Share/SharePlatformModel.js +139 -139
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
- package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
- package/sdk/platform/User/UserPlatformModel.d.ts +758 -758
- package/sdk/platform/User/UserPlatformModel.js +643 -643
- package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
- package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
- package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
- package/sdk/public/Billing/BillingPublicModel.js +51 -51
- package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
- package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
- package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
- package/sdk/public/Content/ContentPublicModel.js +28 -28
- package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
- package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
- package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
- package/sdk/public/Partner/PartnerPublicModel.js +113 -113
- package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
- package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
|
@@ -1,191 +1,183 @@
|
|
|
1
1
|
const Joi = require("joi");
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef
|
|
5
|
-
* @property {
|
|
6
|
-
* @property {ActionPage} [popup]
|
|
7
|
-
* @property {string} [type]
|
|
4
|
+
* @typedef AllAvailablePageSchema
|
|
5
|
+
* @property {AvailablePageSchema[]} [pages]
|
|
8
6
|
*/
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
|
-
* @typedef
|
|
12
|
-
* @property {
|
|
13
|
-
* @property {
|
|
14
|
-
* @property {
|
|
15
|
-
* @property {string} [
|
|
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
|
|
20
|
-
* @property {
|
|
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
|
|
27
|
-
* @property {
|
|
28
|
+
* @typedef SEOMetaItem
|
|
29
|
+
* @property {string} [title]
|
|
30
|
+
* @property {SEOMetaItems[]} [items]
|
|
28
31
|
*/
|
|
29
32
|
|
|
30
33
|
/**
|
|
31
|
-
* @typedef
|
|
32
|
-
* @property {
|
|
33
|
-
* @property {
|
|
34
|
-
* @property {UMDJs} [umd_js]
|
|
34
|
+
* @typedef SEOMetaItems
|
|
35
|
+
* @property {string} [key]
|
|
36
|
+
* @property {string} [value]
|
|
35
37
|
*/
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
|
-
* @typedef
|
|
39
|
-
* @property {
|
|
40
|
-
* @property {
|
|
40
|
+
* @typedef SEOSitemap
|
|
41
|
+
* @property {number} [priority]
|
|
42
|
+
* @property {string} [frequency]
|
|
41
43
|
*/
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
|
-
* @typedef
|
|
45
|
-
* @property {
|
|
46
|
-
* @property {
|
|
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
|
|
52
|
-
* @property {
|
|
53
|
-
* @property {
|
|
54
|
-
* @property {
|
|
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
|
|
62
|
-
* @property {
|
|
59
|
+
* @typedef ActionPage
|
|
60
|
+
* @property {Object} [params]
|
|
63
61
|
* @property {Object} [query]
|
|
64
|
-
* @property {string} [
|
|
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
|
|
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 {
|
|
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
|
|
100
|
-
* @property {
|
|
101
|
-
* @property {
|
|
102
|
-
* @property {
|
|
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
|
|
112
|
-
* @property {
|
|
113
|
-
* @property {
|
|
114
|
-
* @property {
|
|
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
|
|
129
|
-
* @property {string} [
|
|
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
|
|
146
|
-
* @property {
|
|
147
|
-
* @property {
|
|
118
|
+
* @typedef AvailablePageSchedulePredicate
|
|
119
|
+
* @property {string} [cron]
|
|
120
|
+
* @property {string} [start]
|
|
121
|
+
* @property {string} [end]
|
|
148
122
|
*/
|
|
149
123
|
|
|
150
124
|
/**
|
|
151
|
-
* @typedef
|
|
152
|
-
* @property {
|
|
153
|
-
* @property {
|
|
154
|
-
* @property {
|
|
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
|
|
159
|
-
* @property {
|
|
160
|
-
* @property {
|
|
148
|
+
* @typedef Font
|
|
149
|
+
* @property {FontVariants} variants
|
|
150
|
+
* @property {string} family - The font family
|
|
161
151
|
*/
|
|
162
152
|
|
|
163
153
|
/**
|
|
164
|
-
* @typedef
|
|
165
|
-
* @property {
|
|
166
|
-
* @property {
|
|
167
|
-
* @property {
|
|
168
|
-
* @property {
|
|
169
|
-
* @property {
|
|
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
|
|
175
|
-
* @property {string}
|
|
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
|
|
188
|
-
* @property {string
|
|
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
|
|
237
|
-
* @property {
|
|
238
|
-
* @property {
|
|
228
|
+
* @typedef GlobalConfig
|
|
229
|
+
* @property {StaticConfig} [statics]
|
|
230
|
+
* @property {CustomConfig} [custom]
|
|
239
231
|
*/
|
|
240
232
|
|
|
241
233
|
/**
|
|
242
|
-
* @typedef
|
|
243
|
-
* @property {
|
|
244
|
-
* @property {
|
|
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
|
|
249
|
-
* @property {
|
|
250
|
-
* @property {
|
|
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
|
|
255
|
-
* @property {
|
|
256
|
-
* @property {
|
|
257
|
-
* @property {
|
|
258
|
-
* @property {
|
|
259
|
-
* @property {
|
|
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
|
|
264
|
-
* @property {string} [
|
|
265
|
-
* @property {string} [
|
|
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
|
|
273
|
-
* @property {
|
|
274
|
-
* @property {
|
|
275
|
-
* @property {
|
|
276
|
-
* @property {
|
|
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
|
|
283
|
-
* @property {
|
|
284
|
-
* @property {
|
|
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
|
|
289
|
-
* @property {
|
|
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
|
|
294
|
-
* @property {string} [
|
|
295
|
-
* @property {string} [
|
|
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
|
|
301
|
-
* @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
|
|
307
|
-
* @property {
|
|
308
|
-
* @property {
|
|
323
|
+
* @typedef StaticProps
|
|
324
|
+
* @property {Colors} [colors]
|
|
325
|
+
* @property {AuthConfig} [auth]
|
|
326
|
+
* @property {PaletteConfig} [palette]
|
|
309
327
|
*/
|
|
310
328
|
|
|
311
329
|
/**
|
|
312
|
-
* @typedef
|
|
313
|
-
* @property {string} [
|
|
314
|
-
* @property {string} [
|
|
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
|
|
319
|
-
* @property {
|
|
320
|
-
* @property {boolean} [
|
|
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
|
|
336
|
-
* @property {
|
|
337
|
-
* @property {
|
|
338
|
-
* @property {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
* @
|
|
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
|
|
357
|
-
* @property {
|
|
358
|
-
* @property {number} [
|
|
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
|
|
369
|
-
* @property {string} [
|
|
370
|
-
* @property {string} [
|
|
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
|
|
375
|
-
* @property {
|
|
376
|
-
* @property {
|
|
377
|
-
* @property {
|
|
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
|
|
383
|
-
* @property {
|
|
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
|
|
390
|
-
* @property {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
* @
|
|
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 {
|
|
407
|
+
* @property {string} [label] - Label for the section
|
|
403
408
|
*/
|
|
404
409
|
|
|
405
410
|
/**
|
|
406
|
-
* @typedef
|
|
407
|
-
* @property {
|
|
411
|
+
* @typedef GlobalSchema
|
|
412
|
+
* @property {Prop[]} [props]
|
|
408
413
|
*/
|
|
409
414
|
|
|
410
415
|
/**
|
|
411
|
-
* @typedef
|
|
412
|
-
* @property {
|
|
413
|
-
* @property {
|
|
414
|
-
* @property {
|
|
415
|
-
* @property {
|
|
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
|
|
420
|
-
* @property {
|
|
421
|
-
* @property {string} [url]
|
|
425
|
+
* @typedef Preset
|
|
426
|
+
* @property {Page[]} [pages]
|
|
422
427
|
*/
|
|
423
428
|
|
|
424
429
|
/**
|
|
425
|
-
* @typedef
|
|
426
|
-
* @property {
|
|
427
|
-
* @property {string} [
|
|
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
|
|
432
|
-
* @property {
|
|
433
|
-
* @property {
|
|
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
|
|
438
|
-
* @property {
|
|
439
|
-
* @property {number} [priority]
|
|
449
|
+
* @typedef SectionPreset
|
|
450
|
+
* @property {Block[]} [blocks]
|
|
440
451
|
*/
|
|
441
452
|
|
|
442
453
|
/**
|
|
443
|
-
* @typedef
|
|
444
|
-
* @property {
|
|
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
|
|
449
|
-
* @property {
|
|
450
|
-
* @property {
|
|
451
|
-
|
|
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
|
|
462
|
-
* @property {
|
|
463
|
-
* @property {string} [
|
|
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
|
|
470
|
-
* @property {
|
|
471
|
-
* @property {string} [
|
|
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
|
|
477
|
-
* @property {
|
|
478
|
-
* @property {
|
|
479
|
-
* @property {string
|
|
480
|
-
* @property {
|
|
481
|
-
* @property {
|
|
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
|
|
488
|
-
* @property {
|
|
489
|
-
* @property {
|
|
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
|
|
494
|
-
* @property {
|
|
495
|
-
* @property {
|
|
506
|
+
* @typedef Predicate
|
|
507
|
+
* @property {Screen} [screen]
|
|
508
|
+
* @property {ThemeUserSchema} [user]
|
|
509
|
+
* @property {Route} [route]
|
|
496
510
|
*/
|
|
497
511
|
|
|
498
512
|
/**
|
|
499
|
-
* @typedef
|
|
500
|
-
* @property {
|
|
501
|
-
* @property {
|
|
502
|
-
* @property {boolean} [
|
|
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
|
|
529
|
-
* @property {
|
|
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
|
|
534
|
-
* @property {string} [
|
|
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
|
|
540
|
-
* @property {string} [
|
|
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 {
|
|
599
|
-
static
|
|
598
|
+
/** @returns {AllAvailablePageSchema} */
|
|
599
|
+
static AllAvailablePageSchema() {
|
|
600
600
|
return Joi.object({
|
|
601
|
-
|
|
602
|
-
popup: ThemeApplicationModel.ActionPage(),
|
|
603
|
-
type: Joi.string().allow(""),
|
|
601
|
+
pages: Joi.array().items(ThemeApplicationModel.AvailablePageSchema()),
|
|
604
602
|
});
|
|
605
603
|
}
|
|
606
604
|
|
|
607
|
-
/** @returns {
|
|
608
|
-
static
|
|
605
|
+
/** @returns {AvailablePageSchema} */
|
|
606
|
+
static AvailablePageSchema() {
|
|
609
607
|
return Joi.object({
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
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
|
-
|
|
615
|
-
|
|
616
|
-
Joi.array().items(Joi.string().allow(""))
|
|
615
|
+
sections_meta: Joi.array().items(
|
|
616
|
+
ThemeApplicationModel.AvailablePageSectionMetaAttributes()
|
|
617
617
|
),
|
|
618
|
-
|
|
619
|
-
|
|
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 {
|
|
633
|
-
static
|
|
625
|
+
/** @returns {AvailablePageSectionMetaAttributes} */
|
|
626
|
+
static AvailablePageSectionMetaAttributes() {
|
|
634
627
|
return Joi.object({
|
|
635
|
-
|
|
628
|
+
attributes: Joi.any(),
|
|
636
629
|
});
|
|
637
630
|
}
|
|
638
631
|
|
|
639
|
-
/** @returns {
|
|
640
|
-
static
|
|
632
|
+
/** @returns {SEOMetaItem} */
|
|
633
|
+
static SEOMetaItem() {
|
|
641
634
|
return Joi.object({
|
|
642
|
-
|
|
643
|
-
|
|
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 {
|
|
649
|
-
static
|
|
640
|
+
/** @returns {SEOMetaItems} */
|
|
641
|
+
static SEOMetaItems() {
|
|
650
642
|
return Joi.object({
|
|
651
|
-
|
|
652
|
-
|
|
643
|
+
key: Joi.string().allow(""),
|
|
644
|
+
value: Joi.string().allow(""),
|
|
653
645
|
});
|
|
654
646
|
}
|
|
655
647
|
|
|
656
|
-
/** @returns {
|
|
657
|
-
static
|
|
648
|
+
/** @returns {SEOSitemap} */
|
|
649
|
+
static SEOSitemap() {
|
|
658
650
|
return Joi.object({
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
web: Joi.boolean(),
|
|
651
|
+
priority: Joi.number(),
|
|
652
|
+
frequency: Joi.string().allow(""),
|
|
662
653
|
});
|
|
663
654
|
}
|
|
664
655
|
|
|
665
|
-
/** @returns {
|
|
666
|
-
static
|
|
656
|
+
/** @returns {SEObreadcrumb} */
|
|
657
|
+
static SEObreadcrumb() {
|
|
667
658
|
return Joi.object({
|
|
668
|
-
|
|
669
|
-
|
|
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 {
|
|
678
|
-
static
|
|
664
|
+
/** @returns {Action} */
|
|
665
|
+
static Action() {
|
|
679
666
|
return Joi.object({
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
667
|
+
page: ThemeApplicationModel.ActionPage(),
|
|
668
|
+
popup: ThemeApplicationModel.ActionPage(),
|
|
669
|
+
type: Joi.string().allow(""),
|
|
683
670
|
});
|
|
684
671
|
}
|
|
685
672
|
|
|
686
|
-
/** @returns {
|
|
687
|
-
static
|
|
673
|
+
/** @returns {ActionPage} */
|
|
674
|
+
static ActionPage() {
|
|
688
675
|
return Joi.object({
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
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 {
|
|
696
|
-
static
|
|
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
|
-
|
|
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 {
|
|
728
|
-
static
|
|
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
|
-
|
|
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 {
|
|
744
|
-
static
|
|
726
|
+
/** @returns {AvailablePageScreenPredicate} */
|
|
727
|
+
static AvailablePageScreenPredicate() {
|
|
745
728
|
return Joi.object({
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
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 {
|
|
765
|
-
static
|
|
743
|
+
/** @returns {AvailablePageRoutePredicate} */
|
|
744
|
+
static AvailablePageRoutePredicate() {
|
|
766
745
|
return Joi.object({
|
|
767
|
-
|
|
746
|
+
selected: Joi.string().allow(""),
|
|
747
|
+
exact_url: Joi.string().allow(""),
|
|
748
|
+
query: Joi.any(),
|
|
768
749
|
});
|
|
769
750
|
}
|
|
770
751
|
|
|
771
|
-
/** @returns {
|
|
772
|
-
static
|
|
752
|
+
/** @returns {AvailablePageSchedulePredicate} */
|
|
753
|
+
static AvailablePageSchedulePredicate() {
|
|
773
754
|
return Joi.object({
|
|
774
|
-
|
|
755
|
+
cron: Joi.string().allow(""),
|
|
756
|
+
start: Joi.string().allow(""),
|
|
757
|
+
end: Joi.string().allow(""),
|
|
775
758
|
});
|
|
776
759
|
}
|
|
777
760
|
|
|
778
|
-
/** @returns {
|
|
779
|
-
static
|
|
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
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
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 {
|
|
805
|
-
static
|
|
788
|
+
/** @returns {Font} */
|
|
789
|
+
static Font() {
|
|
806
790
|
return Joi.object({
|
|
807
|
-
|
|
808
|
-
|
|
791
|
+
variants: ThemeApplicationModel.FontVariants().required(),
|
|
792
|
+
family: Joi.string().allow("").required(),
|
|
809
793
|
});
|
|
810
794
|
}
|
|
811
795
|
|
|
812
|
-
/** @returns {
|
|
813
|
-
static
|
|
796
|
+
/** @returns {FontVariants} */
|
|
797
|
+
static FontVariants() {
|
|
814
798
|
return Joi.object({
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
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 {
|
|
825
|
-
static
|
|
807
|
+
/** @returns {FontVariant} */
|
|
808
|
+
static FontVariant() {
|
|
826
809
|
return Joi.object({
|
|
827
|
-
|
|
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 {
|
|
844
|
-
static
|
|
827
|
+
/** @returns {ThemeConfiguration} */
|
|
828
|
+
static ThemeConfiguration() {
|
|
845
829
|
return Joi.object({
|
|
846
|
-
|
|
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
|
-
|
|
861
|
-
|
|
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
|
-
|
|
870
|
-
|
|
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
|
-
|
|
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 {
|
|
894
|
-
static
|
|
879
|
+
/** @returns {GlobalConfig} */
|
|
880
|
+
static GlobalConfig() {
|
|
895
881
|
return Joi.object({
|
|
896
|
-
|
|
897
|
-
|
|
882
|
+
statics: ThemeApplicationModel.StaticConfig(),
|
|
883
|
+
custom: ThemeApplicationModel.CustomConfig(),
|
|
898
884
|
});
|
|
899
885
|
}
|
|
900
886
|
|
|
901
|
-
/** @returns {
|
|
902
|
-
static
|
|
887
|
+
/** @returns {GeneralSetting} */
|
|
888
|
+
static GeneralSetting() {
|
|
903
889
|
return Joi.object({
|
|
904
|
-
|
|
905
|
-
|
|
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 {
|
|
910
|
-
static
|
|
899
|
+
/** @returns {AdvanceSetting} */
|
|
900
|
+
static AdvanceSetting() {
|
|
911
901
|
return Joi.object({
|
|
912
|
-
|
|
913
|
-
|
|
902
|
+
overlay_popup: ThemeApplicationModel.OverlayPopupSetting(),
|
|
903
|
+
divider_stroke_highlight: ThemeApplicationModel.DividerStrokeHighlightSetting(),
|
|
904
|
+
user_alerts: ThemeApplicationModel.UserAlertsSetting(),
|
|
914
905
|
});
|
|
915
906
|
}
|
|
916
907
|
|
|
917
|
-
/** @returns {
|
|
918
|
-
static
|
|
908
|
+
/** @returns {UserAlertsSetting} */
|
|
909
|
+
static UserAlertsSetting() {
|
|
919
910
|
return Joi.object({
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
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 {
|
|
929
|
-
static
|
|
920
|
+
/** @returns {ThemeSetting} */
|
|
921
|
+
static ThemeSetting() {
|
|
930
922
|
return Joi.object({
|
|
931
|
-
|
|
932
|
-
|
|
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 {
|
|
940
|
-
static
|
|
928
|
+
/** @returns {TextSetting} */
|
|
929
|
+
static TextSetting() {
|
|
941
930
|
return Joi.object({
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
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 {
|
|
952
|
-
static
|
|
938
|
+
/** @returns {ButtonSetting} */
|
|
939
|
+
static ButtonSetting() {
|
|
953
940
|
return Joi.object({
|
|
954
|
-
|
|
955
|
-
|
|
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 {
|
|
960
|
-
static
|
|
947
|
+
/** @returns {SaleDiscountSetting} */
|
|
948
|
+
static SaleDiscountSetting() {
|
|
961
949
|
return Joi.object({
|
|
962
|
-
|
|
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 {
|
|
976
|
-
static
|
|
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
|
-
|
|
987
|
-
|
|
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 {
|
|
1000
|
-
static
|
|
985
|
+
/** @returns {DividerStrokeHighlightSetting} */
|
|
986
|
+
static DividerStrokeHighlightSetting() {
|
|
1001
987
|
return Joi.object({
|
|
1002
|
-
|
|
1003
|
-
|
|
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 {
|
|
1013
|
-
static
|
|
993
|
+
/** @returns {StaticConfig} */
|
|
994
|
+
static StaticConfig() {
|
|
1014
995
|
return Joi.object({
|
|
1015
|
-
|
|
1016
|
-
general_setting: ThemeApplicationModel.GeneralSetting(),
|
|
996
|
+
props: ThemeApplicationModel.StaticProps(),
|
|
1017
997
|
});
|
|
1018
998
|
}
|
|
1019
999
|
|
|
1020
|
-
/** @returns {
|
|
1021
|
-
static
|
|
1000
|
+
/** @returns {StaticProps} */
|
|
1001
|
+
static StaticProps() {
|
|
1022
1002
|
return Joi.object({
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1003
|
+
colors: ThemeApplicationModel.Colors(),
|
|
1004
|
+
auth: ThemeApplicationModel.AuthConfig(),
|
|
1005
|
+
palette: ThemeApplicationModel.PaletteConfig(),
|
|
1026
1006
|
});
|
|
1027
1007
|
}
|
|
1028
1008
|
|
|
1029
|
-
/** @returns {
|
|
1030
|
-
static
|
|
1009
|
+
/** @returns {Colors} */
|
|
1010
|
+
static Colors() {
|
|
1031
1011
|
return Joi.object({
|
|
1032
|
-
|
|
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 {
|
|
1037
|
-
static
|
|
1021
|
+
/** @returns {AuthConfig} */
|
|
1022
|
+
static AuthConfig() {
|
|
1038
1023
|
return Joi.object({
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
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 {
|
|
1048
|
-
static
|
|
1050
|
+
/** @returns {ThemePayment} */
|
|
1051
|
+
static ThemePayment() {
|
|
1049
1052
|
return Joi.object({
|
|
1050
|
-
|
|
1051
|
-
|
|
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 {
|
|
1064
|
-
static
|
|
1066
|
+
/** @returns {Images} */
|
|
1067
|
+
static Images() {
|
|
1065
1068
|
return Joi.object({
|
|
1066
|
-
|
|
1067
|
-
|
|
1069
|
+
desktop: Joi.string().allow(""),
|
|
1070
|
+
mobile: Joi.string().allow(""),
|
|
1068
1071
|
});
|
|
1069
1072
|
}
|
|
1070
1073
|
|
|
1071
|
-
/** @returns {
|
|
1072
|
-
static
|
|
1074
|
+
/** @returns {Assets} */
|
|
1075
|
+
static Assets() {
|
|
1073
1076
|
return Joi.object({
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
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 {
|
|
1082
|
-
static
|
|
1083
|
+
/** @returns {UMDJs} */
|
|
1084
|
+
static UMDJs() {
|
|
1083
1085
|
return Joi.object({
|
|
1084
|
-
|
|
1085
|
-
mobile: Joi.boolean(),
|
|
1086
|
-
tablet: Joi.boolean(),
|
|
1086
|
+
links: Joi.array().items(Joi.string().allow("")),
|
|
1087
1087
|
});
|
|
1088
1088
|
}
|
|
1089
1089
|
|
|
1090
|
-
/** @returns {
|
|
1091
|
-
static
|
|
1090
|
+
/** @returns {CommonJS} */
|
|
1091
|
+
static CommonJS() {
|
|
1092
1092
|
return Joi.object({
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
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
|
-
|
|
1110
|
+
label: Joi.string().allow(""),
|
|
1108
1111
|
});
|
|
1109
1112
|
}
|
|
1110
1113
|
|
|
1111
|
-
/** @returns {
|
|
1112
|
-
static
|
|
1114
|
+
/** @returns {GlobalSchema} */
|
|
1115
|
+
static GlobalSchema() {
|
|
1113
1116
|
return Joi.object({
|
|
1114
|
-
|
|
1117
|
+
props: Joi.array().items(ThemeApplicationModel.Prop()),
|
|
1115
1118
|
});
|
|
1116
1119
|
}
|
|
1117
1120
|
|
|
1118
|
-
/** @returns {
|
|
1119
|
-
static
|
|
1121
|
+
/** @returns {Prop} */
|
|
1122
|
+
static Prop() {
|
|
1120
1123
|
return Joi.object({
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
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 {
|
|
1129
|
-
static
|
|
1132
|
+
/** @returns {Preset} */
|
|
1133
|
+
static Preset() {
|
|
1130
1134
|
return Joi.object({
|
|
1131
|
-
|
|
1132
|
-
url: Joi.string().allow(""),
|
|
1135
|
+
pages: Joi.array().items(ThemeApplicationModel.Page()),
|
|
1133
1136
|
});
|
|
1134
1137
|
}
|
|
1135
1138
|
|
|
1136
|
-
/** @returns {
|
|
1137
|
-
static
|
|
1139
|
+
/** @returns {Page} */
|
|
1140
|
+
static Page() {
|
|
1138
1141
|
return Joi.object({
|
|
1139
|
-
|
|
1140
|
-
|
|
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 {
|
|
1145
|
-
static
|
|
1152
|
+
/** @returns {SectionProps} */
|
|
1153
|
+
static SectionProps() {
|
|
1146
1154
|
return Joi.object({
|
|
1147
|
-
|
|
1148
|
-
|
|
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 {
|
|
1153
|
-
static
|
|
1162
|
+
/** @returns {SectionPreset} */
|
|
1163
|
+
static SectionPreset() {
|
|
1154
1164
|
return Joi.object({
|
|
1155
|
-
|
|
1156
|
-
priority: Joi.number(),
|
|
1165
|
+
blocks: Joi.array().items(ThemeApplicationModel.Block()),
|
|
1157
1166
|
});
|
|
1158
1167
|
}
|
|
1159
1168
|
|
|
1160
|
-
/** @returns {
|
|
1161
|
-
static
|
|
1169
|
+
/** @returns {ImagePickerProp} */
|
|
1170
|
+
static ImagePickerProp() {
|
|
1162
1171
|
return Joi.object({
|
|
1163
|
-
|
|
1172
|
+
type: Joi.string().allow(""),
|
|
1173
|
+
value: Joi.string().allow(""),
|
|
1164
1174
|
});
|
|
1165
1175
|
}
|
|
1166
1176
|
|
|
1167
|
-
/** @returns {
|
|
1168
|
-
static
|
|
1177
|
+
/** @returns {UrlProp} */
|
|
1178
|
+
static UrlProp() {
|
|
1169
1179
|
return Joi.object({
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
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 {
|
|
1185
|
-
static
|
|
1201
|
+
/** @returns {CheckboxProp} */
|
|
1202
|
+
static CheckboxProp() {
|
|
1186
1203
|
return Joi.object({
|
|
1187
|
-
|
|
1188
|
-
|
|
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 {
|
|
1195
|
-
static
|
|
1209
|
+
/** @returns {RangeProp} */
|
|
1210
|
+
static RangeProp() {
|
|
1196
1211
|
return Joi.object({
|
|
1197
|
-
|
|
1198
|
-
|
|
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 {
|
|
1204
|
-
static
|
|
1217
|
+
/** @returns {Section} */
|
|
1218
|
+
static Section() {
|
|
1205
1219
|
return Joi.object({
|
|
1206
|
-
|
|
1207
|
-
|
|
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
|
-
|
|
1211
|
-
|
|
1212
|
-
slug: Joi.string().allow(""),
|
|
1223
|
+
props: ThemeApplicationModel.SectionProps(),
|
|
1224
|
+
preset: ThemeApplicationModel.SectionPreset(),
|
|
1213
1225
|
});
|
|
1214
1226
|
}
|
|
1215
1227
|
|
|
1216
|
-
/** @returns {
|
|
1217
|
-
static
|
|
1228
|
+
/** @returns {Block} */
|
|
1229
|
+
static Block() {
|
|
1218
1230
|
return Joi.object({
|
|
1219
|
-
|
|
1220
|
-
|
|
1231
|
+
type: Joi.string().allow(""),
|
|
1232
|
+
name: Joi.string().allow(""),
|
|
1233
|
+
props: ThemeApplicationModel.BlockProps(),
|
|
1221
1234
|
});
|
|
1222
1235
|
}
|
|
1223
1236
|
|
|
1224
|
-
/** @returns {
|
|
1225
|
-
static
|
|
1237
|
+
/** @returns {Predicate} */
|
|
1238
|
+
static Predicate() {
|
|
1226
1239
|
return Joi.object({
|
|
1227
|
-
|
|
1228
|
-
|
|
1240
|
+
screen: ThemeApplicationModel.Screen(),
|
|
1241
|
+
user: ThemeApplicationModel.ThemeUserSchema(),
|
|
1242
|
+
route: ThemeApplicationModel.Route(),
|
|
1229
1243
|
});
|
|
1230
1244
|
}
|
|
1231
1245
|
|
|
1232
|
-
/** @returns {
|
|
1233
|
-
static
|
|
1246
|
+
/** @returns {Screen} */
|
|
1247
|
+
static Screen() {
|
|
1234
1248
|
return Joi.object({
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
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 {
|
|
1268
|
-
static
|
|
1263
|
+
/** @returns {Route} */
|
|
1264
|
+
static Route() {
|
|
1269
1265
|
return Joi.object({
|
|
1270
|
-
|
|
1266
|
+
selected: Joi.string().allow(""),
|
|
1267
|
+
exact_url: Joi.string().allow(""),
|
|
1271
1268
|
});
|
|
1272
1269
|
}
|
|
1273
1270
|
|
|
1274
|
-
/** @returns {
|
|
1275
|
-
static
|
|
1271
|
+
/** @returns {AvailablePagePlatformPredicate} */
|
|
1272
|
+
static AvailablePagePlatformPredicate() {
|
|
1276
1273
|
return Joi.object({
|
|
1277
|
-
|
|
1278
|
-
|
|
1274
|
+
ios: Joi.boolean(),
|
|
1275
|
+
android: Joi.boolean(),
|
|
1276
|
+
web: Joi.boolean(),
|
|
1279
1277
|
});
|
|
1280
1278
|
}
|
|
1281
1279
|
|
|
1282
|
-
/** @returns {
|
|
1283
|
-
static
|
|
1280
|
+
/** @returns {BlitzkriegInternalServerErrorSchema} */
|
|
1281
|
+
static BlitzkriegInternalServerErrorSchema() {
|
|
1284
1282
|
return Joi.object({
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
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
|
|