@gofynd/fdk-client-javascript 1.0.1 → 1.0.2
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/documentation/application/CART.md +251 -251
- package/documentation/application/CATALOG.md +414 -414
- package/documentation/application/CONTENT.md +15 -1
- package/documentation/application/ORDER.md +290 -290
- package/documentation/application/PAYMENT.md +255 -255
- package/documentation/application/POSCART.md +297 -297
- package/documentation/platform/CART.md +499 -499
- package/documentation/platform/CATALOG.md +3088 -2702
- package/documentation/platform/COMPANYPROFILE.md +201 -201
- package/documentation/platform/CONTENT.md +123 -1
- package/documentation/platform/ORDER.md +1233 -1158
- package/documentation/platform/PARTNER.md +7 -7
- package/documentation/platform/PAYMENT.md +83 -83
- package/package.json +1 -1
- package/sdk/application/ApplicationConfig.js +1 -1
- package/sdk/application/Cart/CartApplicationClient.js +619 -108
- package/sdk/application/Cart/CartApplicationModel.d.ts +7 -7
- package/sdk/application/Cart/CartApplicationModel.js +335 -335
- package/sdk/application/Catalog/CatalogApplicationClient.d.ts +1 -1
- package/sdk/application/Catalog/CatalogApplicationClient.js +730 -134
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +21 -21
- package/sdk/application/Catalog/CatalogApplicationModel.js +547 -547
- package/sdk/application/Common/CommonApplicationClient.js +48 -8
- package/sdk/application/Communication/CommunicationApplicationClient.js +75 -14
- package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +1 -1
- package/sdk/application/Configuration/ConfigurationApplicationClient.js +392 -66
- package/sdk/application/Content/ContentApplicationClient.js +444 -76
- package/sdk/application/Content/ContentApplicationModel.d.ts +1 -0
- package/sdk/application/Content/ContentApplicationModel.js +11 -1
- package/sdk/application/FileStorage/FileStorageApplicationClient.js +74 -12
- package/sdk/application/Lead/LeadApplicationClient.js +164 -30
- package/sdk/application/Logistic/LogisticApplicationClient.js +98 -16
- package/sdk/application/Order/OrderApplicationClient.d.ts +1 -1
- package/sdk/application/Order/OrderApplicationClient.js +287 -54
- package/sdk/application/Order/OrderApplicationModel.d.ts +19 -19
- package/sdk/application/Order/OrderApplicationModel.js +357 -357
- package/sdk/application/Payment/PaymentApplicationClient.js +961 -186
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +3 -3
- package/sdk/application/Payment/PaymentApplicationModel.js +352 -352
- package/sdk/application/PosCart/PosCartApplicationClient.js +645 -114
- package/sdk/application/PosCart/PosCartApplicationModel.d.ts +15 -15
- package/sdk/application/PosCart/PosCartApplicationModel.js +389 -389
- package/sdk/application/Rewards/RewardsApplicationClient.js +168 -28
- package/sdk/application/Share/ShareApplicationClient.js +157 -32
- package/sdk/application/Theme/ThemeApplicationClient.js +94 -16
- package/sdk/application/User/UserApplicationClient.js +806 -148
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +16 -8
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +191 -34
- package/sdk/platform/Analytics/AnalyticsPlatformClient.d.ts +8 -4
- package/sdk/platform/Analytics/AnalyticsPlatformClient.js +103 -16
- package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +8 -4
- package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +103 -16
- package/sdk/platform/Billing/BillingPlatformClient.d.ts +24 -12
- package/sdk/platform/Billing/BillingPlatformClient.js +299 -54
- package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +34 -17
- package/sdk/platform/Cart/CartPlatformApplicationClient.js +409 -72
- package/sdk/platform/Cart/CartPlatformModel.d.ts +35 -35
- package/sdk/platform/Cart/CartPlatformModel.js +617 -617
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +167 -114
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +1562 -453
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +8 -8
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +39 -39
- package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +314 -196
- package/sdk/platform/Catalog/CatalogPlatformClient.js +2459 -718
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +103 -94
- package/sdk/platform/Catalog/CatalogPlatformModel.js +2063 -1797
- package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +17 -15
- package/sdk/platform/Catalog/CatalogPlatformValidator.js +95 -76
- package/sdk/platform/Common/CommonPlatformClient.d.ts +4 -2
- package/sdk/platform/Common/CommonPlatformClient.js +51 -8
- package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +80 -40
- package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1000 -168
- package/sdk/platform/Communication/CommunicationPlatformClient.d.ts +2 -1
- package/sdk/platform/Communication/CommunicationPlatformClient.js +28 -4
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +27 -14
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +335 -54
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +10 -10
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +278 -278
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +56 -28
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +702 -118
- package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +36 -18
- package/sdk/platform/Configuration/ConfigurationPlatformClient.js +457 -82
- package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +148 -67
- package/sdk/platform/Content/ContentPlatformApplicationClient.js +1724 -284
- package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -0
- package/sdk/platform/Content/ContentPlatformApplicationValidator.js +7 -0
- package/sdk/platform/Content/ContentPlatformModel.d.ts +4 -0
- package/sdk/platform/Content/ContentPlatformModel.js +43 -1
- package/sdk/platform/Discount/DiscountPlatformClient.d.ts +21 -10
- package/sdk/platform/Discount/DiscountPlatformClient.js +270 -44
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +8 -4
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +102 -16
- package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +12 -6
- package/sdk/platform/FileStorage/FileStoragePlatformClient.js +150 -24
- package/sdk/platform/Inventory/InventoryPlatformClient.d.ts +27 -14
- package/sdk/platform/Inventory/InventoryPlatformClient.js +316 -52
- package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +26 -13
- package/sdk/platform/Lead/LeadPlatformApplicationClient.js +311 -52
- package/sdk/platform/Lead/LeadPlatformClient.d.ts +22 -11
- package/sdk/platform/Lead/LeadPlatformClient.js +266 -44
- package/sdk/platform/OAuthClient.js +8 -8
- package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +6 -3
- package/sdk/platform/Order/OrderPlatformApplicationClient.js +78 -14
- package/sdk/platform/Order/OrderPlatformClient.d.ts +95 -43
- package/sdk/platform/Order/OrderPlatformClient.js +1062 -180
- package/sdk/platform/Order/OrderPlatformModel.d.ts +64 -60
- package/sdk/platform/Order/OrderPlatformModel.js +1481 -1425
- package/sdk/platform/Order/OrderPlatformValidator.js +5 -0
- package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +4 -2
- package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +52 -8
- package/sdk/platform/Partner/PartnerPlatformModel.d.ts +1 -1
- package/sdk/platform/Partner/PartnerPlatformModel.js +8 -8
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +22 -11
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +287 -56
- package/sdk/platform/Payment/PaymentPlatformClient.d.ts +21 -11
- package/sdk/platform/Payment/PaymentPlatformClient.js +263 -48
- package/sdk/platform/Payment/PaymentPlatformModel.js +122 -122
- package/sdk/platform/PlatformApplicationClient.d.ts +2959 -2787
- package/sdk/platform/PlatformApplicationClient.js +3420 -3212
- package/sdk/platform/PlatformClient.d.ts +2959 -2787
- package/sdk/platform/PlatformClient.js +3420 -3212
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +26 -13
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +308 -54
- package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +8 -4
- package/sdk/platform/Share/SharePlatformApplicationClient.js +94 -16
- package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +47 -23
- package/sdk/platform/Theme/ThemePlatformApplicationClient.js +571 -96
- package/sdk/platform/User/UserPlatformApplicationClient.d.ts +24 -12
- package/sdk/platform/User/UserPlatformApplicationClient.js +296 -48
- package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +12 -6
- package/sdk/platform/Webhook/WebhookPlatformClient.js +157 -30
- package/sdk/public/Configuration/ConfigurationPublicClient.js +51 -8
- package/sdk/public/Inventory/InventoryPublicClient.js +149 -26
- package/sdk/public/Webhook/WebhookPublicClient.js +51 -10
|
@@ -1,88 +1,72 @@
|
|
|
1
1
|
const Joi = require("joi");
|
|
2
2
|
|
|
3
3
|
class CatalogModel {
|
|
4
|
-
static
|
|
4
|
+
static Meta() {
|
|
5
5
|
return Joi.object({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
query: Joi.any(),
|
|
9
|
-
|
|
10
|
-
params: Joi.any(),
|
|
6
|
+
source: Joi.string().allow(""),
|
|
11
7
|
});
|
|
12
8
|
}
|
|
13
9
|
|
|
14
|
-
static
|
|
10
|
+
static Media() {
|
|
15
11
|
return Joi.object({
|
|
16
|
-
|
|
12
|
+
meta: CatalogModel.Meta(),
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
});
|
|
20
|
-
}
|
|
14
|
+
url: Joi.string().allow(""),
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
alt: Joi.string().allow(""),
|
|
17
|
+
|
|
18
|
+
type: Joi.string().allow(""),
|
|
25
19
|
});
|
|
26
20
|
}
|
|
27
21
|
|
|
28
|
-
static
|
|
22
|
+
static ProductListingActionPage() {
|
|
29
23
|
return Joi.object({
|
|
24
|
+
query: Joi.any(),
|
|
25
|
+
|
|
30
26
|
type: Joi.string().allow(""),
|
|
31
27
|
|
|
32
|
-
|
|
28
|
+
params: Joi.any(),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
static ProductListingAction() {
|
|
33
|
+
return Joi.object({
|
|
34
|
+
page: CatalogModel.ProductListingActionPage(),
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
type: Joi.string().allow(""),
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
static ProductBrand() {
|
|
41
41
|
return Joi.object({
|
|
42
|
-
|
|
42
|
+
logo: CatalogModel.Media(),
|
|
43
43
|
|
|
44
44
|
action: CatalogModel.ProductListingAction(),
|
|
45
45
|
|
|
46
|
-
uid: Joi.number(),
|
|
47
|
-
|
|
48
46
|
name: Joi.string().allow(""),
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
static NetQuantity() {
|
|
55
|
-
return Joi.object({
|
|
56
|
-
value: Joi.number(),
|
|
48
|
+
uid: Joi.number(),
|
|
57
49
|
|
|
58
|
-
|
|
50
|
+
description: Joi.string().allow(""),
|
|
59
51
|
});
|
|
60
52
|
}
|
|
61
53
|
|
|
62
54
|
static ProductCategoryMap() {
|
|
63
55
|
return Joi.object({
|
|
64
|
-
l1: CatalogModel.ProductBrand(),
|
|
65
|
-
|
|
66
56
|
l2: CatalogModel.ProductBrand(),
|
|
67
57
|
|
|
68
58
|
l3: CatalogModel.ProductBrand(),
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
static ApplicationItemSEO() {
|
|
73
|
-
return Joi.object({
|
|
74
|
-
description: Joi.any(),
|
|
75
59
|
|
|
76
|
-
|
|
60
|
+
l1: CatalogModel.ProductBrand(),
|
|
77
61
|
});
|
|
78
62
|
}
|
|
79
63
|
|
|
80
64
|
static ProductDetailAttribute() {
|
|
81
65
|
return Joi.object({
|
|
82
|
-
type: Joi.string().allow(""),
|
|
83
|
-
|
|
84
66
|
key: Joi.string().allow(""),
|
|
85
67
|
|
|
68
|
+
type: Joi.string().allow(""),
|
|
69
|
+
|
|
86
70
|
value: Joi.string().allow(""),
|
|
87
71
|
});
|
|
88
72
|
}
|
|
@@ -97,13 +81,13 @@ class CatalogModel {
|
|
|
97
81
|
|
|
98
82
|
static Price() {
|
|
99
83
|
return Joi.object({
|
|
100
|
-
|
|
84
|
+
currency_symbol: Joi.string().allow(""),
|
|
101
85
|
|
|
102
86
|
max: Joi.number(),
|
|
103
87
|
|
|
104
88
|
currency_code: Joi.string().allow(""),
|
|
105
89
|
|
|
106
|
-
|
|
90
|
+
min: Joi.number(),
|
|
107
91
|
});
|
|
108
92
|
}
|
|
109
93
|
|
|
@@ -117,9 +101,17 @@ class CatalogModel {
|
|
|
117
101
|
|
|
118
102
|
static CustomMetaFields() {
|
|
119
103
|
return Joi.object({
|
|
104
|
+
key: Joi.string().allow("").required(),
|
|
105
|
+
|
|
120
106
|
value: Joi.string().allow("").required(),
|
|
107
|
+
});
|
|
108
|
+
}
|
|
121
109
|
|
|
122
|
-
|
|
110
|
+
static ApplicationItemSEO() {
|
|
111
|
+
return Joi.object({
|
|
112
|
+
title: Joi.any(),
|
|
113
|
+
|
|
114
|
+
description: Joi.any(),
|
|
123
115
|
});
|
|
124
116
|
}
|
|
125
117
|
|
|
@@ -127,83 +119,91 @@ class CatalogModel {
|
|
|
127
119
|
return Joi.object({
|
|
128
120
|
increment_unit: Joi.number(),
|
|
129
121
|
|
|
130
|
-
maximum: Joi.number(),
|
|
131
|
-
|
|
132
122
|
minimum: Joi.number(),
|
|
123
|
+
|
|
124
|
+
maximum: Joi.number(),
|
|
133
125
|
});
|
|
134
126
|
}
|
|
135
127
|
|
|
136
|
-
static
|
|
128
|
+
static NetQuantity() {
|
|
137
129
|
return Joi.object({
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
brand: CatalogModel.ProductBrand(),
|
|
141
|
-
|
|
142
|
-
highlights: Joi.array().items(Joi.string().allow("")),
|
|
130
|
+
unit: Joi.any(),
|
|
143
131
|
|
|
144
|
-
|
|
132
|
+
value: Joi.number(),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
145
135
|
|
|
146
|
-
|
|
136
|
+
static ProductDetail() {
|
|
137
|
+
return Joi.object({
|
|
138
|
+
category_map: CatalogModel.ProductCategoryMap(),
|
|
147
139
|
|
|
148
|
-
|
|
140
|
+
type: Joi.string().allow(""),
|
|
149
141
|
|
|
150
|
-
|
|
142
|
+
attributes: Joi.any(),
|
|
151
143
|
|
|
152
|
-
|
|
144
|
+
uid: Joi.number(),
|
|
153
145
|
|
|
154
146
|
color: Joi.string().allow(""),
|
|
155
147
|
|
|
156
|
-
|
|
148
|
+
similars: Joi.array().items(Joi.string().allow("")),
|
|
157
149
|
|
|
158
|
-
|
|
150
|
+
short_description: Joi.string().allow(""),
|
|
159
151
|
|
|
160
|
-
|
|
152
|
+
medias: Joi.array().items(CatalogModel.Media()),
|
|
161
153
|
|
|
162
154
|
has_variant: Joi.boolean(),
|
|
163
155
|
|
|
164
|
-
|
|
156
|
+
item_type: Joi.string().allow(""),
|
|
165
157
|
|
|
166
158
|
grouped_attributes: Joi.array().items(
|
|
167
159
|
CatalogModel.ProductDetailGroupedAttribute()
|
|
168
160
|
),
|
|
169
161
|
|
|
170
|
-
|
|
162
|
+
rating: Joi.number(),
|
|
171
163
|
|
|
172
164
|
categories: Joi.array().items(CatalogModel.ProductBrand()),
|
|
173
165
|
|
|
174
|
-
|
|
166
|
+
is_dependent: Joi.boolean(),
|
|
175
167
|
|
|
176
|
-
|
|
168
|
+
image_nature: Joi.string().allow(""),
|
|
177
169
|
|
|
178
|
-
|
|
170
|
+
name: Joi.string().allow(""),
|
|
179
171
|
|
|
180
|
-
|
|
172
|
+
price: CatalogModel.ProductListingPrice(),
|
|
173
|
+
|
|
174
|
+
_custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
|
|
175
|
+
|
|
176
|
+
seo: CatalogModel.ApplicationItemSEO(),
|
|
181
177
|
|
|
182
178
|
description: Joi.string().allow(""),
|
|
183
179
|
|
|
184
|
-
|
|
180
|
+
brand: CatalogModel.ProductBrand(),
|
|
185
181
|
|
|
186
|
-
|
|
182
|
+
rating_count: Joi.number(),
|
|
187
183
|
|
|
188
184
|
_custom_json: Joi.any(),
|
|
189
185
|
|
|
190
|
-
|
|
186
|
+
moq: CatalogModel.ApplicationItemMOQ(),
|
|
191
187
|
|
|
192
|
-
|
|
188
|
+
highlights: Joi.array().items(Joi.string().allow("")),
|
|
193
189
|
|
|
194
|
-
|
|
190
|
+
action: CatalogModel.ProductListingAction(),
|
|
195
191
|
|
|
196
|
-
|
|
192
|
+
product_online_date: Joi.string().allow(""),
|
|
197
193
|
|
|
198
|
-
|
|
194
|
+
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
199
195
|
|
|
200
|
-
|
|
196
|
+
item_code: Joi.string().allow(""),
|
|
201
197
|
|
|
202
|
-
|
|
198
|
+
discount: Joi.string().allow(""),
|
|
203
199
|
|
|
204
|
-
|
|
200
|
+
teaser_tag: Joi.string().allow(""),
|
|
205
201
|
|
|
206
|
-
|
|
202
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
203
|
+
|
|
204
|
+
slug: Joi.string().allow("").required(),
|
|
205
|
+
|
|
206
|
+
net_quantity: CatalogModel.NetQuantity(),
|
|
207
207
|
});
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -213,139 +213,139 @@ class CatalogModel {
|
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
static
|
|
216
|
+
static ColumnHeader() {
|
|
217
217
|
return Joi.object({
|
|
218
|
-
|
|
218
|
+
convertable: Joi.boolean(),
|
|
219
219
|
|
|
220
|
-
|
|
220
|
+
value: Joi.string().allow(""),
|
|
221
|
+
});
|
|
222
|
+
}
|
|
221
223
|
|
|
222
|
-
|
|
224
|
+
static ColumnHeaders() {
|
|
225
|
+
return Joi.object({
|
|
226
|
+
col_1: CatalogModel.ColumnHeader(),
|
|
223
227
|
|
|
224
|
-
|
|
228
|
+
col_2: CatalogModel.ColumnHeader(),
|
|
225
229
|
|
|
226
|
-
|
|
230
|
+
col_6: CatalogModel.ColumnHeader(),
|
|
231
|
+
|
|
232
|
+
col_4: CatalogModel.ColumnHeader(),
|
|
233
|
+
|
|
234
|
+
col_3: CatalogModel.ColumnHeader(),
|
|
235
|
+
|
|
236
|
+
col_5: CatalogModel.ColumnHeader(),
|
|
227
237
|
});
|
|
228
238
|
}
|
|
229
239
|
|
|
230
|
-
static
|
|
240
|
+
static SizeChartValues() {
|
|
231
241
|
return Joi.object({
|
|
232
|
-
|
|
242
|
+
col_1: Joi.string().allow(""),
|
|
233
243
|
|
|
234
|
-
|
|
244
|
+
col_2: Joi.string().allow(""),
|
|
235
245
|
|
|
236
|
-
|
|
246
|
+
col_6: Joi.string().allow(""),
|
|
247
|
+
|
|
248
|
+
col_4: Joi.string().allow(""),
|
|
249
|
+
|
|
250
|
+
col_3: Joi.string().allow(""),
|
|
251
|
+
|
|
252
|
+
col_5: Joi.string().allow(""),
|
|
237
253
|
});
|
|
238
254
|
}
|
|
239
255
|
|
|
240
|
-
static
|
|
256
|
+
static SizeChart() {
|
|
241
257
|
return Joi.object({
|
|
242
|
-
|
|
258
|
+
unit: Joi.string().allow(""),
|
|
243
259
|
|
|
244
|
-
|
|
260
|
+
headers: CatalogModel.ColumnHeaders(),
|
|
245
261
|
|
|
246
|
-
|
|
262
|
+
title: Joi.string().allow(""),
|
|
247
263
|
|
|
248
|
-
|
|
264
|
+
image: Joi.string().allow(""),
|
|
249
265
|
|
|
250
|
-
|
|
266
|
+
sizes: Joi.array().items(CatalogModel.SizeChartValues()),
|
|
251
267
|
|
|
252
|
-
|
|
268
|
+
description: Joi.string().allow(""),
|
|
253
269
|
|
|
254
|
-
|
|
270
|
+
size_tip: Joi.string().allow(""),
|
|
255
271
|
});
|
|
256
272
|
}
|
|
257
273
|
|
|
258
|
-
static
|
|
274
|
+
static Weight() {
|
|
259
275
|
return Joi.object({
|
|
260
|
-
|
|
261
|
-
});
|
|
262
|
-
}
|
|
276
|
+
shipping: Joi.number().required(),
|
|
263
277
|
|
|
264
|
-
|
|
265
|
-
return Joi.object({
|
|
266
|
-
value: Joi.string().allow(""),
|
|
278
|
+
unit: Joi.string().allow("").required(),
|
|
267
279
|
|
|
268
|
-
|
|
280
|
+
is_default: Joi.boolean().required(),
|
|
269
281
|
});
|
|
270
282
|
}
|
|
271
283
|
|
|
272
|
-
static
|
|
284
|
+
static Dimension() {
|
|
273
285
|
return Joi.object({
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
col_6: CatalogModel.ColumnHeader(),
|
|
286
|
+
width: Joi.number().required(),
|
|
277
287
|
|
|
278
|
-
|
|
288
|
+
is_default: Joi.boolean().required(),
|
|
279
289
|
|
|
280
|
-
|
|
290
|
+
length: Joi.number().required(),
|
|
281
291
|
|
|
282
|
-
|
|
292
|
+
unit: Joi.string().allow("").required(),
|
|
283
293
|
|
|
284
|
-
|
|
294
|
+
height: Joi.number().required(),
|
|
285
295
|
});
|
|
286
296
|
}
|
|
287
297
|
|
|
288
|
-
static
|
|
298
|
+
static ProductSize() {
|
|
289
299
|
return Joi.object({
|
|
290
|
-
|
|
300
|
+
weight: CatalogModel.Weight(),
|
|
291
301
|
|
|
292
|
-
|
|
302
|
+
is_available: Joi.boolean(),
|
|
293
303
|
|
|
294
|
-
|
|
304
|
+
display: Joi.string().allow(""),
|
|
295
305
|
|
|
296
|
-
|
|
306
|
+
value: Joi.string().allow(""),
|
|
297
307
|
|
|
298
|
-
|
|
308
|
+
seller_identifiers: Joi.array().items(Joi.string().allow("")),
|
|
299
309
|
|
|
300
|
-
|
|
310
|
+
dimension: CatalogModel.Dimension(),
|
|
311
|
+
|
|
312
|
+
quantity: Joi.number(),
|
|
301
313
|
});
|
|
302
314
|
}
|
|
303
315
|
|
|
304
|
-
static
|
|
316
|
+
static ProductSizeStores() {
|
|
305
317
|
return Joi.object({
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
unit: Joi.string().allow(""),
|
|
309
|
-
|
|
310
|
-
headers: CatalogModel.ColumnHeaders(),
|
|
311
|
-
|
|
312
|
-
description: Joi.string().allow(""),
|
|
313
|
-
|
|
314
|
-
size_tip: Joi.string().allow(""),
|
|
315
|
-
|
|
316
|
-
sizes: Joi.array().items(CatalogModel.SizeChartValues()),
|
|
317
|
-
|
|
318
|
-
title: Joi.string().allow(""),
|
|
318
|
+
count: Joi.number(),
|
|
319
319
|
});
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
static ProductSizes() {
|
|
323
323
|
return Joi.object({
|
|
324
|
-
|
|
324
|
+
size_chart: CatalogModel.SizeChart(),
|
|
325
|
+
|
|
326
|
+
sellable: Joi.boolean(),
|
|
327
|
+
|
|
328
|
+
price: CatalogModel.ProductListingPrice(),
|
|
325
329
|
|
|
326
330
|
multi_size: Joi.boolean(),
|
|
327
331
|
|
|
328
|
-
|
|
332
|
+
discount: Joi.string().allow(""),
|
|
329
333
|
|
|
330
334
|
sizes: Joi.array().items(CatalogModel.ProductSize()),
|
|
331
335
|
|
|
332
|
-
price: CatalogModel.ProductListingPrice(),
|
|
333
|
-
|
|
334
336
|
stores: CatalogModel.ProductSizeStores(),
|
|
335
|
-
|
|
336
|
-
size_chart: CatalogModel.SizeChart(),
|
|
337
337
|
});
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
static AttributeDetail() {
|
|
341
341
|
return Joi.object({
|
|
342
|
-
|
|
342
|
+
logo: Joi.string().allow(""),
|
|
343
343
|
|
|
344
344
|
key: Joi.string().allow(""),
|
|
345
345
|
|
|
346
|
-
logo: Joi.string().allow(""),
|
|
347
|
-
|
|
348
346
|
description: Joi.string().allow(""),
|
|
347
|
+
|
|
348
|
+
display: Joi.string().allow(""),
|
|
349
349
|
});
|
|
350
350
|
}
|
|
351
351
|
|
|
@@ -359,21 +359,21 @@ class CatalogModel {
|
|
|
359
359
|
|
|
360
360
|
static ProductsComparisonResponse() {
|
|
361
361
|
return Joi.object({
|
|
362
|
-
items: Joi.array().items(CatalogModel.ProductDetail()),
|
|
363
|
-
|
|
364
362
|
attributes_metadata: Joi.array().items(CatalogModel.AttributeMetadata()),
|
|
363
|
+
|
|
364
|
+
items: Joi.array().items(CatalogModel.ProductDetail()),
|
|
365
365
|
});
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
static ProductCompareResponse() {
|
|
369
369
|
return Joi.object({
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
items: Joi.array().items(CatalogModel.ProductDetail()),
|
|
370
|
+
attributes_metadata: Joi.array().items(CatalogModel.AttributeMetadata()),
|
|
373
371
|
|
|
374
372
|
title: Joi.string().allow(""),
|
|
375
373
|
|
|
376
|
-
|
|
374
|
+
subtitle: Joi.string().allow(""),
|
|
375
|
+
|
|
376
|
+
items: Joi.array().items(CatalogModel.ProductDetail()),
|
|
377
377
|
});
|
|
378
378
|
}
|
|
379
379
|
|
|
@@ -385,23 +385,23 @@ class CatalogModel {
|
|
|
385
385
|
|
|
386
386
|
static ProductVariantItemResponse() {
|
|
387
387
|
return Joi.object({
|
|
388
|
-
|
|
388
|
+
medias: Joi.array().items(CatalogModel.Media()),
|
|
389
389
|
|
|
390
|
-
|
|
390
|
+
is_available: Joi.boolean(),
|
|
391
391
|
|
|
392
|
-
|
|
392
|
+
value: Joi.string().allow(""),
|
|
393
393
|
|
|
394
|
-
|
|
394
|
+
name: Joi.string().allow(""),
|
|
395
395
|
|
|
396
|
-
|
|
396
|
+
action: CatalogModel.ProductListingAction(),
|
|
397
397
|
|
|
398
|
-
|
|
398
|
+
color_name: Joi.string().allow(""),
|
|
399
399
|
|
|
400
|
-
|
|
400
|
+
_custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
|
|
401
401
|
|
|
402
|
-
|
|
402
|
+
color: Joi.string().allow(""),
|
|
403
403
|
|
|
404
|
-
|
|
404
|
+
uid: Joi.number(),
|
|
405
405
|
|
|
406
406
|
slug: Joi.string().allow(""),
|
|
407
407
|
});
|
|
@@ -411,79 +411,79 @@ class CatalogModel {
|
|
|
411
411
|
return Joi.object({
|
|
412
412
|
key: Joi.string().allow(""),
|
|
413
413
|
|
|
414
|
-
|
|
414
|
+
display_type: Joi.string().allow(""),
|
|
415
415
|
|
|
416
416
|
header: Joi.string().allow(""),
|
|
417
417
|
|
|
418
|
-
|
|
418
|
+
items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
|
|
419
419
|
});
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
static ProductVariantsResponse() {
|
|
423
|
-
return Joi.object({
|
|
424
|
-
variants: Joi.array().items(CatalogModel.ProductVariantResponse()),
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
static ProductStockPrice() {
|
|
429
|
-
return Joi.object({
|
|
430
|
-
marked: Joi.number(),
|
|
431
|
-
|
|
432
|
-
currency: Joi.string().allow(""),
|
|
433
|
-
|
|
434
|
-
effective: Joi.number(),
|
|
423
|
+
return Joi.object({
|
|
424
|
+
variants: Joi.array().items(CatalogModel.ProductVariantResponse()),
|
|
435
425
|
});
|
|
436
426
|
}
|
|
437
427
|
|
|
438
|
-
static
|
|
428
|
+
static CompanyDetail() {
|
|
439
429
|
return Joi.object({
|
|
440
430
|
id: Joi.number(),
|
|
441
431
|
|
|
442
432
|
name: Joi.string().allow(""),
|
|
433
|
+
});
|
|
434
|
+
}
|
|
443
435
|
|
|
444
|
-
|
|
436
|
+
static ProductStockPrice() {
|
|
437
|
+
return Joi.object({
|
|
438
|
+
currency: Joi.string().allow(""),
|
|
445
439
|
|
|
446
|
-
|
|
440
|
+
marked: Joi.number(),
|
|
441
|
+
|
|
442
|
+
effective: Joi.number(),
|
|
447
443
|
});
|
|
448
444
|
}
|
|
449
445
|
|
|
450
446
|
static Seller() {
|
|
451
447
|
return Joi.object({
|
|
452
|
-
name: Joi.string().allow(""),
|
|
453
|
-
|
|
454
448
|
uid: Joi.number(),
|
|
455
449
|
|
|
456
450
|
count: Joi.number(),
|
|
451
|
+
|
|
452
|
+
name: Joi.string().allow(""),
|
|
457
453
|
});
|
|
458
454
|
}
|
|
459
455
|
|
|
460
|
-
static
|
|
456
|
+
static StoreDetail() {
|
|
461
457
|
return Joi.object({
|
|
462
458
|
id: Joi.number(),
|
|
463
459
|
|
|
460
|
+
code: Joi.string().allow(""),
|
|
461
|
+
|
|
462
|
+
city: Joi.string().allow(""),
|
|
463
|
+
|
|
464
464
|
name: Joi.string().allow(""),
|
|
465
465
|
});
|
|
466
466
|
}
|
|
467
467
|
|
|
468
468
|
static ProductStockStatusItem() {
|
|
469
469
|
return Joi.object({
|
|
470
|
-
quantity: Joi.number(),
|
|
471
|
-
|
|
472
470
|
size: Joi.string().allow(""),
|
|
473
471
|
|
|
474
|
-
|
|
472
|
+
company: CatalogModel.CompanyDetail(),
|
|
475
473
|
|
|
476
474
|
price: CatalogModel.ProductStockPrice(),
|
|
477
475
|
|
|
478
|
-
|
|
476
|
+
seller: CatalogModel.Seller(),
|
|
479
477
|
|
|
480
478
|
store: CatalogModel.StoreDetail(),
|
|
481
479
|
|
|
482
|
-
|
|
480
|
+
uid: Joi.string().allow(""),
|
|
483
481
|
|
|
484
482
|
item_id: Joi.number(),
|
|
485
483
|
|
|
486
|
-
|
|
484
|
+
quantity: Joi.number(),
|
|
485
|
+
|
|
486
|
+
identifier: Joi.any(),
|
|
487
487
|
});
|
|
488
488
|
}
|
|
489
489
|
|
|
@@ -513,203 +513,203 @@ class CatalogModel {
|
|
|
513
513
|
|
|
514
514
|
static ProductStockPolling() {
|
|
515
515
|
return Joi.object({
|
|
516
|
-
items: Joi.array().items(CatalogModel.ProductStockStatusItem()),
|
|
517
|
-
|
|
518
516
|
page: CatalogModel.Page().required(),
|
|
517
|
+
|
|
518
|
+
items: Joi.array().items(CatalogModel.ProductStockStatusItem()),
|
|
519
519
|
});
|
|
520
520
|
}
|
|
521
521
|
|
|
522
522
|
static ProductSortOn() {
|
|
523
523
|
return Joi.object({
|
|
524
|
+
is_selected: Joi.boolean(),
|
|
525
|
+
|
|
524
526
|
value: Joi.string().allow(""),
|
|
525
527
|
|
|
526
528
|
name: Joi.string().allow(""),
|
|
527
|
-
|
|
528
|
-
is_selected: Joi.boolean(),
|
|
529
529
|
});
|
|
530
530
|
}
|
|
531
531
|
|
|
532
|
-
static
|
|
532
|
+
static ProductFiltersValue() {
|
|
533
533
|
return Joi.object({
|
|
534
|
-
|
|
534
|
+
selected_min: Joi.number(),
|
|
535
535
|
|
|
536
|
-
|
|
536
|
+
selected_max: Joi.number(),
|
|
537
537
|
|
|
538
|
-
|
|
538
|
+
currency_code: Joi.string().allow(""),
|
|
539
539
|
|
|
540
|
-
|
|
541
|
-
});
|
|
542
|
-
}
|
|
540
|
+
max: Joi.number(),
|
|
543
541
|
|
|
544
|
-
|
|
545
|
-
return Joi.object({
|
|
546
|
-
is_selected: Joi.boolean().required(),
|
|
542
|
+
min: Joi.number(),
|
|
547
543
|
|
|
548
|
-
|
|
544
|
+
display: Joi.string().allow("").required(),
|
|
549
545
|
|
|
550
|
-
|
|
546
|
+
value: Joi.string().allow(""),
|
|
551
547
|
|
|
552
|
-
|
|
548
|
+
count: Joi.number(),
|
|
553
549
|
|
|
554
550
|
currency_symbol: Joi.string().allow(""),
|
|
555
551
|
|
|
556
|
-
|
|
552
|
+
is_selected: Joi.boolean().required(),
|
|
557
553
|
|
|
558
|
-
|
|
554
|
+
query_format: Joi.string().allow(""),
|
|
559
555
|
|
|
560
|
-
|
|
556
|
+
display_format: Joi.string().allow(""),
|
|
557
|
+
});
|
|
558
|
+
}
|
|
561
559
|
|
|
562
|
-
|
|
560
|
+
static ProductFiltersKey() {
|
|
561
|
+
return Joi.object({
|
|
562
|
+
kind: Joi.string().allow(""),
|
|
563
563
|
|
|
564
|
-
|
|
564
|
+
name: Joi.string().allow("").required(),
|
|
565
565
|
|
|
566
|
-
|
|
566
|
+
logo: Joi.string().allow(""),
|
|
567
567
|
|
|
568
|
-
|
|
568
|
+
display: Joi.string().allow("").required(),
|
|
569
569
|
});
|
|
570
570
|
}
|
|
571
571
|
|
|
572
572
|
static ProductFilters() {
|
|
573
573
|
return Joi.object({
|
|
574
|
-
key: CatalogModel.ProductFiltersKey().required(),
|
|
575
|
-
|
|
576
574
|
values: Joi.array().items(CatalogModel.ProductFiltersValue()).required(),
|
|
575
|
+
|
|
576
|
+
key: CatalogModel.ProductFiltersKey().required(),
|
|
577
577
|
});
|
|
578
578
|
}
|
|
579
579
|
|
|
580
580
|
static ProductVariantListingResponse() {
|
|
581
581
|
return Joi.object({
|
|
582
|
-
|
|
582
|
+
key: Joi.string().allow(""),
|
|
583
583
|
|
|
584
|
-
|
|
584
|
+
display_type: Joi.string().allow(""),
|
|
585
585
|
|
|
586
|
-
|
|
586
|
+
total: Joi.number(),
|
|
587
587
|
|
|
588
|
-
|
|
588
|
+
header: Joi.string().allow(""),
|
|
589
589
|
|
|
590
|
-
|
|
590
|
+
items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
|
|
591
591
|
});
|
|
592
592
|
}
|
|
593
593
|
|
|
594
594
|
static ProductListingDetail() {
|
|
595
595
|
return Joi.object({
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
brand: CatalogModel.ProductBrand(),
|
|
599
|
-
|
|
600
|
-
highlights: Joi.array().items(Joi.string().allow("")),
|
|
601
|
-
|
|
602
|
-
teaser_tag: Joi.string().allow(""),
|
|
596
|
+
variants: Joi.array().items(CatalogModel.ProductVariantListingResponse()),
|
|
603
597
|
|
|
604
|
-
|
|
598
|
+
category_map: CatalogModel.ProductCategoryMap(),
|
|
605
599
|
|
|
606
|
-
|
|
600
|
+
type: Joi.string().allow(""),
|
|
607
601
|
|
|
608
|
-
|
|
602
|
+
attributes: Joi.any(),
|
|
609
603
|
|
|
610
|
-
|
|
604
|
+
uid: Joi.number(),
|
|
611
605
|
|
|
612
606
|
color: Joi.string().allow(""),
|
|
613
607
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
slug: Joi.string().allow("").required(),
|
|
608
|
+
similars: Joi.array().items(Joi.string().allow("")),
|
|
617
609
|
|
|
618
|
-
|
|
610
|
+
short_description: Joi.string().allow(""),
|
|
619
611
|
|
|
620
|
-
|
|
612
|
+
medias: Joi.array().items(CatalogModel.Media()),
|
|
621
613
|
|
|
622
614
|
has_variant: Joi.boolean(),
|
|
623
615
|
|
|
624
|
-
|
|
616
|
+
item_type: Joi.string().allow(""),
|
|
625
617
|
|
|
626
|
-
|
|
618
|
+
identifiers: Joi.array().items(Joi.string().allow("")),
|
|
627
619
|
|
|
628
620
|
grouped_attributes: Joi.array().items(
|
|
629
621
|
CatalogModel.ProductDetailGroupedAttribute()
|
|
630
622
|
),
|
|
631
623
|
|
|
632
|
-
|
|
624
|
+
rating: Joi.number(),
|
|
633
625
|
|
|
634
626
|
categories: Joi.array().items(CatalogModel.ProductBrand()),
|
|
635
627
|
|
|
636
|
-
|
|
628
|
+
is_dependent: Joi.boolean(),
|
|
637
629
|
|
|
638
|
-
|
|
630
|
+
image_nature: Joi.string().allow(""),
|
|
639
631
|
|
|
640
|
-
|
|
632
|
+
name: Joi.string().allow(""),
|
|
641
633
|
|
|
642
|
-
|
|
634
|
+
sellable: Joi.boolean(),
|
|
643
635
|
|
|
644
|
-
|
|
636
|
+
price: CatalogModel.ProductListingPrice(),
|
|
637
|
+
|
|
638
|
+
_custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
|
|
639
|
+
|
|
640
|
+
seo: CatalogModel.ApplicationItemSEO(),
|
|
645
641
|
|
|
646
642
|
description: Joi.string().allow(""),
|
|
647
643
|
|
|
648
|
-
|
|
644
|
+
brand: CatalogModel.ProductBrand(),
|
|
649
645
|
|
|
650
|
-
|
|
646
|
+
rating_count: Joi.number(),
|
|
651
647
|
|
|
652
648
|
_custom_json: Joi.any(),
|
|
653
649
|
|
|
654
|
-
|
|
650
|
+
moq: CatalogModel.ApplicationItemMOQ(),
|
|
655
651
|
|
|
656
|
-
|
|
652
|
+
highlights: Joi.array().items(Joi.string().allow("")),
|
|
657
653
|
|
|
658
|
-
|
|
654
|
+
action: CatalogModel.ProductListingAction(),
|
|
659
655
|
|
|
660
|
-
|
|
656
|
+
product_online_date: Joi.string().allow(""),
|
|
661
657
|
|
|
662
|
-
|
|
658
|
+
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
663
659
|
|
|
664
|
-
|
|
660
|
+
item_code: Joi.string().allow(""),
|
|
665
661
|
|
|
666
|
-
|
|
662
|
+
discount: Joi.string().allow(""),
|
|
667
663
|
|
|
668
|
-
|
|
664
|
+
teaser_tag: Joi.string().allow(""),
|
|
669
665
|
|
|
670
|
-
|
|
666
|
+
sizes: Joi.array().items(Joi.string().allow("")),
|
|
671
667
|
|
|
672
|
-
|
|
668
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
669
|
+
|
|
670
|
+
slug: Joi.string().allow("").required(),
|
|
671
|
+
|
|
672
|
+
net_quantity: CatalogModel.NetQuantity(),
|
|
673
673
|
});
|
|
674
674
|
}
|
|
675
675
|
|
|
676
676
|
static ProductListingResponse() {
|
|
677
677
|
return Joi.object({
|
|
678
|
+
page: CatalogModel.Page().required(),
|
|
679
|
+
|
|
678
680
|
sort_on: Joi.array().items(CatalogModel.ProductSortOn()),
|
|
679
681
|
|
|
680
682
|
filters: Joi.array().items(CatalogModel.ProductFilters()),
|
|
681
683
|
|
|
682
684
|
items: Joi.array().items(CatalogModel.ProductListingDetail()),
|
|
683
|
-
|
|
684
|
-
page: CatalogModel.Page().required(),
|
|
685
685
|
});
|
|
686
686
|
}
|
|
687
687
|
|
|
688
688
|
static ImageUrls() {
|
|
689
689
|
return Joi.object({
|
|
690
|
-
landscape: CatalogModel.Media(),
|
|
691
|
-
|
|
692
690
|
portrait: CatalogModel.Media(),
|
|
691
|
+
|
|
692
|
+
landscape: CatalogModel.Media(),
|
|
693
693
|
});
|
|
694
694
|
}
|
|
695
695
|
|
|
696
696
|
static BrandItem() {
|
|
697
697
|
return Joi.object({
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
discount: Joi.string().allow(""),
|
|
701
|
-
|
|
702
|
-
departments: Joi.array().items(Joi.string().allow("")),
|
|
698
|
+
logo: CatalogModel.Media(),
|
|
703
699
|
|
|
704
700
|
action: CatalogModel.ProductListingAction(),
|
|
705
701
|
|
|
706
|
-
|
|
702
|
+
name: Joi.string().allow(""),
|
|
707
703
|
|
|
708
704
|
banners: CatalogModel.ImageUrls(),
|
|
709
705
|
|
|
710
|
-
|
|
706
|
+
discount: Joi.string().allow(""),
|
|
711
707
|
|
|
712
|
-
|
|
708
|
+
uid: Joi.number(),
|
|
709
|
+
|
|
710
|
+
description: Joi.string().allow(""),
|
|
711
|
+
|
|
712
|
+
departments: Joi.array().items(Joi.string().allow("")),
|
|
713
713
|
|
|
714
714
|
slug: Joi.string().allow(""),
|
|
715
715
|
});
|
|
@@ -717,109 +717,109 @@ class CatalogModel {
|
|
|
717
717
|
|
|
718
718
|
static BrandListingResponse() {
|
|
719
719
|
return Joi.object({
|
|
720
|
-
items: Joi.array().items(CatalogModel.BrandItem()),
|
|
721
|
-
|
|
722
720
|
page: CatalogModel.Page().required(),
|
|
721
|
+
|
|
722
|
+
items: Joi.array().items(CatalogModel.BrandItem()),
|
|
723
723
|
});
|
|
724
724
|
}
|
|
725
725
|
|
|
726
726
|
static BrandDetailResponse() {
|
|
727
727
|
return Joi.object({
|
|
728
|
-
|
|
728
|
+
logo: CatalogModel.Media(),
|
|
729
729
|
|
|
730
|
-
|
|
730
|
+
name: Joi.string().allow(""),
|
|
731
731
|
|
|
732
732
|
banners: CatalogModel.ImageUrls(),
|
|
733
733
|
|
|
734
734
|
uid: Joi.number(),
|
|
735
735
|
|
|
736
|
-
|
|
736
|
+
description: Joi.string().allow(""),
|
|
737
737
|
|
|
738
|
-
|
|
738
|
+
_custom_json: Joi.any(),
|
|
739
739
|
});
|
|
740
740
|
}
|
|
741
741
|
|
|
742
742
|
static DepartmentIdentifier() {
|
|
743
743
|
return Joi.object({
|
|
744
|
-
uid: Joi.number(),
|
|
745
|
-
|
|
746
744
|
slug: Joi.string().allow(""),
|
|
745
|
+
|
|
746
|
+
uid: Joi.number(),
|
|
747
747
|
});
|
|
748
748
|
}
|
|
749
749
|
|
|
750
750
|
static ThirdLevelChild() {
|
|
751
751
|
return Joi.object({
|
|
752
|
-
|
|
752
|
+
name: Joi.string().allow(""),
|
|
753
753
|
|
|
754
|
-
|
|
754
|
+
action: CatalogModel.ProductListingAction(),
|
|
755
755
|
|
|
756
|
-
|
|
756
|
+
childs: Joi.array().items(Joi.any()),
|
|
757
757
|
|
|
758
758
|
banners: CatalogModel.ImageUrls(),
|
|
759
759
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
name: Joi.string().allow(""),
|
|
760
|
+
uid: Joi.number(),
|
|
763
761
|
|
|
764
762
|
slug: Joi.string().allow(""),
|
|
763
|
+
|
|
764
|
+
_custom_json: Joi.any(),
|
|
765
765
|
});
|
|
766
766
|
}
|
|
767
767
|
|
|
768
768
|
static SecondLevelChild() {
|
|
769
769
|
return Joi.object({
|
|
770
|
-
|
|
770
|
+
name: Joi.string().allow(""),
|
|
771
771
|
|
|
772
|
-
|
|
772
|
+
action: CatalogModel.ProductListingAction(),
|
|
773
773
|
|
|
774
|
-
|
|
774
|
+
childs: Joi.array().items(CatalogModel.ThirdLevelChild()),
|
|
775
775
|
|
|
776
776
|
banners: CatalogModel.ImageUrls(),
|
|
777
777
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
name: Joi.string().allow(""),
|
|
778
|
+
uid: Joi.number(),
|
|
781
779
|
|
|
782
780
|
slug: Joi.string().allow(""),
|
|
781
|
+
|
|
782
|
+
_custom_json: Joi.any(),
|
|
783
783
|
});
|
|
784
784
|
}
|
|
785
785
|
|
|
786
786
|
static Child() {
|
|
787
787
|
return Joi.object({
|
|
788
|
-
|
|
788
|
+
name: Joi.string().allow(""),
|
|
789
789
|
|
|
790
|
-
|
|
790
|
+
action: CatalogModel.ProductListingAction(),
|
|
791
791
|
|
|
792
|
-
|
|
792
|
+
childs: Joi.array().items(CatalogModel.SecondLevelChild()),
|
|
793
793
|
|
|
794
794
|
banners: CatalogModel.ImageUrls(),
|
|
795
795
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
name: Joi.string().allow(""),
|
|
796
|
+
uid: Joi.number(),
|
|
799
797
|
|
|
800
798
|
slug: Joi.string().allow(""),
|
|
799
|
+
|
|
800
|
+
_custom_json: Joi.any(),
|
|
801
801
|
});
|
|
802
802
|
}
|
|
803
803
|
|
|
804
804
|
static CategoryBanner() {
|
|
805
805
|
return Joi.object({
|
|
806
|
-
landscape: CatalogModel.Media().required(),
|
|
807
|
-
|
|
808
806
|
portrait: CatalogModel.Media().required(),
|
|
807
|
+
|
|
808
|
+
landscape: CatalogModel.Media().required(),
|
|
809
809
|
});
|
|
810
810
|
}
|
|
811
811
|
|
|
812
812
|
static CategoryItems() {
|
|
813
813
|
return Joi.object({
|
|
814
|
-
childs: Joi.array().items(CatalogModel.Child()),
|
|
815
|
-
|
|
816
814
|
action: CatalogModel.ProductListingAction().required(),
|
|
817
815
|
|
|
818
|
-
|
|
816
|
+
name: Joi.string().allow("").required(),
|
|
817
|
+
|
|
818
|
+
childs: Joi.array().items(CatalogModel.Child()),
|
|
819
819
|
|
|
820
820
|
banners: CatalogModel.CategoryBanner().required(),
|
|
821
821
|
|
|
822
|
-
|
|
822
|
+
uid: Joi.number().required(),
|
|
823
823
|
|
|
824
824
|
slug: Joi.string().allow("").required(),
|
|
825
825
|
});
|
|
@@ -827,9 +827,9 @@ class CatalogModel {
|
|
|
827
827
|
|
|
828
828
|
static DepartmentCategoryTree() {
|
|
829
829
|
return Joi.object({
|
|
830
|
-
items: Joi.array().items(CatalogModel.CategoryItems()),
|
|
831
|
-
|
|
832
830
|
department: Joi.string().allow("").required(),
|
|
831
|
+
|
|
832
|
+
items: Joi.array().items(CatalogModel.CategoryItems()),
|
|
833
833
|
});
|
|
834
834
|
}
|
|
835
835
|
|
|
@@ -843,37 +843,37 @@ class CatalogModel {
|
|
|
843
843
|
|
|
844
844
|
static CategoryMetaResponse() {
|
|
845
845
|
return Joi.object({
|
|
846
|
-
|
|
846
|
+
logo: CatalogModel.Media(),
|
|
847
|
+
|
|
848
|
+
name: Joi.string().allow(""),
|
|
847
849
|
|
|
848
850
|
banners: CatalogModel.ImageUrls(),
|
|
849
851
|
|
|
850
852
|
uid: Joi.number(),
|
|
851
853
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
logo: CatalogModel.Media(),
|
|
854
|
+
_custom_json: Joi.any(),
|
|
855
855
|
});
|
|
856
856
|
}
|
|
857
857
|
|
|
858
858
|
static HomeListingResponse() {
|
|
859
859
|
return Joi.object({
|
|
860
|
+
page: CatalogModel.Page().required(),
|
|
861
|
+
|
|
860
862
|
message: Joi.string().allow(""),
|
|
861
863
|
|
|
862
864
|
items: Joi.array().items(CatalogModel.ProductListingDetail()),
|
|
863
|
-
|
|
864
|
-
page: CatalogModel.Page().required(),
|
|
865
865
|
});
|
|
866
866
|
}
|
|
867
867
|
|
|
868
868
|
static Department() {
|
|
869
869
|
return Joi.object({
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
uid: Joi.number(),
|
|
870
|
+
logo: CatalogModel.Media(),
|
|
873
871
|
|
|
874
872
|
name: Joi.string().allow(""),
|
|
875
873
|
|
|
876
|
-
|
|
874
|
+
priority_order: Joi.number(),
|
|
875
|
+
|
|
876
|
+
uid: Joi.number(),
|
|
877
877
|
|
|
878
878
|
slug: Joi.string().allow(""),
|
|
879
879
|
});
|
|
@@ -887,15 +887,15 @@ class CatalogModel {
|
|
|
887
887
|
|
|
888
888
|
static AutocompleteItem() {
|
|
889
889
|
return Joi.object({
|
|
890
|
-
|
|
890
|
+
logo: CatalogModel.Media(),
|
|
891
891
|
|
|
892
|
-
|
|
892
|
+
display: Joi.string().allow(""),
|
|
893
893
|
|
|
894
|
-
|
|
894
|
+
action: CatalogModel.ProductListingAction(),
|
|
895
895
|
|
|
896
|
-
|
|
896
|
+
type: Joi.string().allow(""),
|
|
897
897
|
|
|
898
|
-
|
|
898
|
+
_custom_json: Joi.any(),
|
|
899
899
|
});
|
|
900
900
|
}
|
|
901
901
|
|
|
@@ -905,151 +905,151 @@ class CatalogModel {
|
|
|
905
905
|
});
|
|
906
906
|
}
|
|
907
907
|
|
|
908
|
-
static
|
|
908
|
+
static CollectionListingFilterTag() {
|
|
909
909
|
return Joi.object({
|
|
910
|
-
|
|
910
|
+
display: Joi.string().allow(""),
|
|
911
911
|
|
|
912
912
|
is_selected: Joi.boolean(),
|
|
913
913
|
|
|
914
|
-
|
|
914
|
+
name: Joi.string().allow(""),
|
|
915
915
|
});
|
|
916
916
|
}
|
|
917
917
|
|
|
918
|
-
static
|
|
918
|
+
static CollectionListingFilterType() {
|
|
919
919
|
return Joi.object({
|
|
920
|
-
|
|
920
|
+
display: Joi.string().allow(""),
|
|
921
921
|
|
|
922
922
|
is_selected: Joi.boolean(),
|
|
923
923
|
|
|
924
|
-
|
|
924
|
+
name: Joi.string().allow(""),
|
|
925
925
|
});
|
|
926
926
|
}
|
|
927
927
|
|
|
928
928
|
static CollectionListingFilter() {
|
|
929
929
|
return Joi.object({
|
|
930
|
-
type: Joi.array().items(CatalogModel.CollectionListingFilterType()),
|
|
931
|
-
|
|
932
930
|
tags: Joi.array().items(CatalogModel.CollectionListingFilterTag()),
|
|
931
|
+
|
|
932
|
+
type: Joi.array().items(CatalogModel.CollectionListingFilterType()),
|
|
933
933
|
});
|
|
934
934
|
}
|
|
935
935
|
|
|
936
936
|
static CollectionQuery() {
|
|
937
937
|
return Joi.object({
|
|
938
|
-
|
|
938
|
+
attribute: Joi.string().allow("").required(),
|
|
939
939
|
|
|
940
940
|
op: Joi.string().allow("").required(),
|
|
941
941
|
|
|
942
|
-
|
|
942
|
+
value: Joi.array().items(Joi.any()).required(),
|
|
943
943
|
});
|
|
944
944
|
}
|
|
945
945
|
|
|
946
946
|
static GetCollectionDetailNest() {
|
|
947
947
|
return Joi.object({
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
banners: CatalogModel.ImageUrls(),
|
|
951
|
-
|
|
952
|
-
slug: Joi.string().allow(""),
|
|
948
|
+
query: Joi.array().items(CatalogModel.CollectionQuery()),
|
|
953
949
|
|
|
954
|
-
|
|
950
|
+
allow_facets: Joi.boolean(),
|
|
955
951
|
|
|
956
|
-
|
|
952
|
+
logo: CatalogModel.Media(),
|
|
957
953
|
|
|
958
954
|
cron: Joi.any(),
|
|
959
955
|
|
|
960
|
-
|
|
956
|
+
type: Joi.string().allow(""),
|
|
957
|
+
|
|
958
|
+
uid: Joi.string().allow(""),
|
|
961
959
|
|
|
962
960
|
meta: Joi.any(),
|
|
963
961
|
|
|
964
|
-
|
|
962
|
+
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
965
963
|
|
|
966
|
-
|
|
964
|
+
badge: Joi.any(),
|
|
967
965
|
|
|
968
|
-
|
|
966
|
+
sort_on: Joi.string().allow(""),
|
|
969
967
|
|
|
970
|
-
|
|
968
|
+
banners: CatalogModel.ImageUrls(),
|
|
971
969
|
|
|
972
|
-
|
|
970
|
+
is_active: Joi.boolean(),
|
|
973
971
|
|
|
974
972
|
tag: Joi.array().items(Joi.string().allow("")),
|
|
975
973
|
|
|
976
|
-
|
|
974
|
+
name: Joi.string().allow(""),
|
|
977
975
|
|
|
978
976
|
description: Joi.string().allow(""),
|
|
979
977
|
|
|
980
|
-
|
|
978
|
+
_custom_json: Joi.any(),
|
|
981
979
|
|
|
982
|
-
|
|
980
|
+
_schedule: Joi.any(),
|
|
983
981
|
|
|
984
|
-
|
|
982
|
+
action: CatalogModel.ProductListingAction(),
|
|
985
983
|
|
|
986
|
-
|
|
984
|
+
app_id: Joi.string().allow(""),
|
|
987
985
|
|
|
988
|
-
|
|
986
|
+
priority: Joi.number(),
|
|
989
987
|
|
|
990
|
-
|
|
988
|
+
allow_sort: Joi.boolean(),
|
|
989
|
+
|
|
990
|
+
slug: Joi.string().allow(""),
|
|
991
991
|
});
|
|
992
992
|
}
|
|
993
993
|
|
|
994
994
|
static GetCollectionListingResponse() {
|
|
995
995
|
return Joi.object({
|
|
996
|
+
page: CatalogModel.Page().required(),
|
|
997
|
+
|
|
996
998
|
filters: CatalogModel.CollectionListingFilter(),
|
|
997
999
|
|
|
998
1000
|
items: Joi.array().items(CatalogModel.GetCollectionDetailNest()),
|
|
999
|
-
|
|
1000
|
-
page: CatalogModel.Page().required(),
|
|
1001
1001
|
});
|
|
1002
1002
|
}
|
|
1003
1003
|
|
|
1004
1004
|
static CollectionDetailResponse() {
|
|
1005
1005
|
return Joi.object({
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
slug: Joi.string().allow(""),
|
|
1006
|
+
query: Joi.array().items(CatalogModel.CollectionQuery()),
|
|
1009
1007
|
|
|
1010
|
-
|
|
1008
|
+
allow_facets: Joi.boolean(),
|
|
1011
1009
|
|
|
1012
|
-
|
|
1010
|
+
logo: CatalogModel.Media(),
|
|
1013
1011
|
|
|
1014
1012
|
cron: Joi.any(),
|
|
1015
1013
|
|
|
1016
|
-
|
|
1014
|
+
type: Joi.string().allow(""),
|
|
1017
1015
|
|
|
1018
1016
|
meta: Joi.any(),
|
|
1019
1017
|
|
|
1020
|
-
|
|
1018
|
+
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
1021
1019
|
|
|
1022
|
-
|
|
1020
|
+
badge: Joi.any(),
|
|
1023
1021
|
|
|
1024
|
-
|
|
1022
|
+
sort_on: Joi.string().allow(""),
|
|
1025
1023
|
|
|
1026
|
-
|
|
1024
|
+
banners: CatalogModel.ImageUrls(),
|
|
1027
1025
|
|
|
1028
|
-
|
|
1026
|
+
is_active: Joi.boolean(),
|
|
1029
1027
|
|
|
1030
1028
|
tag: Joi.array().items(Joi.string().allow("")),
|
|
1031
1029
|
|
|
1032
|
-
|
|
1030
|
+
name: Joi.string().allow(""),
|
|
1033
1031
|
|
|
1034
1032
|
description: Joi.string().allow(""),
|
|
1035
1033
|
|
|
1036
|
-
|
|
1034
|
+
_custom_json: Joi.any(),
|
|
1037
1035
|
|
|
1038
|
-
|
|
1036
|
+
_schedule: Joi.any(),
|
|
1039
1037
|
|
|
1040
|
-
|
|
1038
|
+
app_id: Joi.string().allow(""),
|
|
1041
1039
|
|
|
1042
|
-
|
|
1040
|
+
priority: Joi.number(),
|
|
1043
1041
|
|
|
1044
|
-
|
|
1042
|
+
allow_sort: Joi.boolean(),
|
|
1043
|
+
|
|
1044
|
+
slug: Joi.string().allow(""),
|
|
1045
1045
|
});
|
|
1046
1046
|
}
|
|
1047
1047
|
|
|
1048
1048
|
static GetFollowListingResponse() {
|
|
1049
1049
|
return Joi.object({
|
|
1050
|
-
items: Joi.array().items(CatalogModel.ProductListingDetail()).required(),
|
|
1051
|
-
|
|
1052
1050
|
page: CatalogModel.Page().required(),
|
|
1051
|
+
|
|
1052
|
+
items: Joi.array().items(CatalogModel.ProductListingDetail()).required(),
|
|
1053
1053
|
});
|
|
1054
1054
|
}
|
|
1055
1055
|
|
|
@@ -1069,11 +1069,11 @@ class CatalogModel {
|
|
|
1069
1069
|
|
|
1070
1070
|
static FollowIdsData() {
|
|
1071
1071
|
return Joi.object({
|
|
1072
|
+
products: Joi.array().items(Joi.number()),
|
|
1073
|
+
|
|
1072
1074
|
collections: Joi.array().items(Joi.number()),
|
|
1073
1075
|
|
|
1074
1076
|
brands: Joi.array().items(Joi.number()),
|
|
1075
|
-
|
|
1076
|
-
products: Joi.array().items(Joi.number()),
|
|
1077
1077
|
});
|
|
1078
1078
|
}
|
|
1079
1079
|
|
|
@@ -1085,135 +1085,135 @@ class CatalogModel {
|
|
|
1085
1085
|
|
|
1086
1086
|
static LatLong() {
|
|
1087
1087
|
return Joi.object({
|
|
1088
|
-
type: Joi.string().allow(""),
|
|
1089
|
-
|
|
1090
1088
|
coordinates: Joi.array().items(Joi.number()),
|
|
1089
|
+
|
|
1090
|
+
type: Joi.string().allow(""),
|
|
1091
1091
|
});
|
|
1092
1092
|
}
|
|
1093
1093
|
|
|
1094
1094
|
static Store() {
|
|
1095
1095
|
return Joi.object({
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
address: Joi.string().allow(""),
|
|
1099
|
-
|
|
1100
|
-
state: Joi.string().allow(""),
|
|
1096
|
+
pincode: Joi.number(),
|
|
1101
1097
|
|
|
1102
|
-
|
|
1098
|
+
lat_long: CatalogModel.LatLong(),
|
|
1103
1099
|
|
|
1104
|
-
|
|
1100
|
+
address: Joi.string().allow(""),
|
|
1105
1101
|
|
|
1106
1102
|
name: Joi.string().allow(""),
|
|
1107
1103
|
|
|
1108
1104
|
store_email: Joi.string().allow(""),
|
|
1109
1105
|
|
|
1106
|
+
state: Joi.string().allow(""),
|
|
1107
|
+
|
|
1108
|
+
uid: Joi.number(),
|
|
1109
|
+
|
|
1110
1110
|
country: Joi.string().allow(""),
|
|
1111
1111
|
|
|
1112
|
-
|
|
1112
|
+
store_code: Joi.string().allow(""),
|
|
1113
1113
|
|
|
1114
|
-
|
|
1114
|
+
city: Joi.string().allow(""),
|
|
1115
1115
|
});
|
|
1116
1116
|
}
|
|
1117
1117
|
|
|
1118
1118
|
static StoreListingResponse() {
|
|
1119
1119
|
return Joi.object({
|
|
1120
|
-
items: Joi.array().items(CatalogModel.Store()).required(),
|
|
1121
|
-
|
|
1122
1120
|
page: CatalogModel.Page().required(),
|
|
1121
|
+
|
|
1122
|
+
items: Joi.array().items(CatalogModel.Store()).required(),
|
|
1123
1123
|
});
|
|
1124
1124
|
}
|
|
1125
1125
|
|
|
1126
1126
|
static StoreDepartments() {
|
|
1127
1127
|
return Joi.object({
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
uid: Joi.number(),
|
|
1128
|
+
logo: Joi.string().allow(""),
|
|
1131
1129
|
|
|
1132
1130
|
name: Joi.string().allow(""),
|
|
1133
1131
|
|
|
1134
|
-
|
|
1132
|
+
priority_order: Joi.number(),
|
|
1133
|
+
|
|
1134
|
+
uid: Joi.number(),
|
|
1135
1135
|
|
|
1136
1136
|
slug: Joi.string().allow(""),
|
|
1137
1137
|
});
|
|
1138
1138
|
}
|
|
1139
1139
|
|
|
1140
|
-
static
|
|
1140
|
+
static CompanyStore() {
|
|
1141
1141
|
return Joi.object({
|
|
1142
|
-
|
|
1142
|
+
business_type: Joi.string().allow(""),
|
|
1143
1143
|
|
|
1144
|
-
|
|
1144
|
+
company_type: Joi.string().allow(""),
|
|
1145
|
+
|
|
1146
|
+
uid: Joi.number(),
|
|
1147
|
+
|
|
1148
|
+
name: Joi.string().allow(""),
|
|
1145
1149
|
});
|
|
1146
1150
|
}
|
|
1147
1151
|
|
|
1148
1152
|
static StoreAddressSerializer() {
|
|
1149
1153
|
return Joi.object({
|
|
1150
|
-
address1: Joi.string().allow(""),
|
|
1151
|
-
|
|
1152
1154
|
pincode: Joi.number(),
|
|
1153
1155
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
state: Joi.string().allow(""),
|
|
1156
|
+
landmark: Joi.string().allow(""),
|
|
1157
1157
|
|
|
1158
|
-
|
|
1158
|
+
address1: Joi.string().allow(""),
|
|
1159
1159
|
|
|
1160
|
-
|
|
1160
|
+
longitude: Joi.number(),
|
|
1161
1161
|
|
|
1162
|
-
|
|
1162
|
+
state: Joi.string().allow(""),
|
|
1163
1163
|
|
|
1164
1164
|
latitude: Joi.number(),
|
|
1165
1165
|
|
|
1166
1166
|
address2: Joi.string().allow(""),
|
|
1167
|
+
|
|
1168
|
+
country: Joi.string().allow(""),
|
|
1169
|
+
|
|
1170
|
+
city: Joi.string().allow(""),
|
|
1167
1171
|
});
|
|
1168
1172
|
}
|
|
1169
1173
|
|
|
1170
|
-
static
|
|
1174
|
+
static SellerPhoneNumber() {
|
|
1171
1175
|
return Joi.object({
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
uid: Joi.number(),
|
|
1175
|
-
|
|
1176
|
-
company_type: Joi.string().allow(""),
|
|
1176
|
+
country_code: Joi.number().required(),
|
|
1177
1177
|
|
|
1178
|
-
|
|
1178
|
+
number: Joi.string().allow("").required(),
|
|
1179
1179
|
});
|
|
1180
1180
|
}
|
|
1181
1181
|
|
|
1182
1182
|
static StoreManagerSerializer() {
|
|
1183
1183
|
return Joi.object({
|
|
1184
|
-
|
|
1184
|
+
mobile_no: CatalogModel.SellerPhoneNumber(),
|
|
1185
1185
|
|
|
1186
1186
|
email: Joi.string().allow(""),
|
|
1187
1187
|
|
|
1188
|
-
|
|
1188
|
+
name: Joi.string().allow(""),
|
|
1189
1189
|
});
|
|
1190
1190
|
}
|
|
1191
1191
|
|
|
1192
1192
|
static AppStore() {
|
|
1193
1193
|
return Joi.object({
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
departments: Joi.array().items(CatalogModel.StoreDepartments()),
|
|
1194
|
+
company: CatalogModel.CompanyStore(),
|
|
1197
1195
|
|
|
1198
|
-
|
|
1196
|
+
address: CatalogModel.StoreAddressSerializer(),
|
|
1199
1197
|
|
|
1200
1198
|
name: Joi.string().allow(""),
|
|
1201
1199
|
|
|
1202
|
-
|
|
1200
|
+
manager: CatalogModel.StoreManagerSerializer(),
|
|
1203
1201
|
|
|
1204
|
-
|
|
1202
|
+
contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
|
|
1205
1203
|
|
|
1206
|
-
|
|
1204
|
+
uid: Joi.number(),
|
|
1205
|
+
|
|
1206
|
+
departments: Joi.array().items(CatalogModel.StoreDepartments()),
|
|
1207
1207
|
});
|
|
1208
1208
|
}
|
|
1209
1209
|
|
|
1210
1210
|
static ApplicationStoreListing() {
|
|
1211
1211
|
return Joi.object({
|
|
1212
|
+
page: CatalogModel.Page(),
|
|
1213
|
+
|
|
1212
1214
|
filters: Joi.array().items(CatalogModel.StoreDepartments()),
|
|
1213
1215
|
|
|
1214
1216
|
items: Joi.array().items(CatalogModel.AppStore()),
|
|
1215
|
-
|
|
1216
|
-
page: CatalogModel.Page(),
|
|
1217
1217
|
});
|
|
1218
1218
|
}
|
|
1219
1219
|
|
|
@@ -1227,35 +1227,35 @@ class CatalogModel {
|
|
|
1227
1227
|
|
|
1228
1228
|
static StoreTiming() {
|
|
1229
1229
|
return Joi.object({
|
|
1230
|
+
closing: CatalogModel.Time(),
|
|
1231
|
+
|
|
1230
1232
|
weekday: Joi.string().allow(""),
|
|
1231
1233
|
|
|
1232
1234
|
open: Joi.boolean(),
|
|
1233
1235
|
|
|
1234
1236
|
opening: CatalogModel.Time(),
|
|
1235
|
-
|
|
1236
|
-
closing: CatalogModel.Time(),
|
|
1237
1237
|
});
|
|
1238
1238
|
}
|
|
1239
1239
|
|
|
1240
1240
|
static StoreDetails() {
|
|
1241
1241
|
return Joi.object({
|
|
1242
|
-
|
|
1242
|
+
company: CatalogModel.CompanyStore(),
|
|
1243
1243
|
|
|
1244
|
-
|
|
1244
|
+
address: CatalogModel.StoreAddressSerializer(),
|
|
1245
1245
|
|
|
1246
|
-
|
|
1246
|
+
name: Joi.string().allow(""),
|
|
1247
1247
|
|
|
1248
|
-
|
|
1248
|
+
manager: CatalogModel.StoreManagerSerializer(),
|
|
1249
1249
|
|
|
1250
|
-
|
|
1250
|
+
contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
|
|
1251
1251
|
|
|
1252
|
-
|
|
1252
|
+
timing: Joi.array().items(CatalogModel.StoreTiming()),
|
|
1253
1253
|
|
|
1254
|
-
|
|
1254
|
+
uid: Joi.number(),
|
|
1255
1255
|
|
|
1256
|
-
|
|
1256
|
+
departments: Joi.array().items(CatalogModel.StoreDepartments()),
|
|
1257
1257
|
|
|
1258
|
-
|
|
1258
|
+
_custom_json: Joi.any(),
|
|
1259
1259
|
});
|
|
1260
1260
|
}
|
|
1261
1261
|
|
|
@@ -1265,141 +1265,141 @@ class CatalogModel {
|
|
|
1265
1265
|
|
|
1266
1266
|
user_id: Joi.string().allow("").required(),
|
|
1267
1267
|
|
|
1268
|
-
contact: Joi.string().allow(""),
|
|
1269
|
-
|
|
1270
1268
|
username: Joi.string().allow("").required(),
|
|
1269
|
+
|
|
1270
|
+
contact: Joi.string().allow(""),
|
|
1271
1271
|
});
|
|
1272
1272
|
}
|
|
1273
1273
|
|
|
1274
|
-
static
|
|
1274
|
+
static ProductGroupPrice() {
|
|
1275
1275
|
return Joi.object({
|
|
1276
|
-
|
|
1276
|
+
currency: Joi.any(),
|
|
1277
1277
|
|
|
1278
|
-
|
|
1278
|
+
max_marked: Joi.number(),
|
|
1279
1279
|
|
|
1280
|
-
|
|
1280
|
+
max_effective: Joi.number(),
|
|
1281
1281
|
|
|
1282
|
-
|
|
1282
|
+
min_marked: Joi.number(),
|
|
1283
1283
|
|
|
1284
|
-
|
|
1284
|
+
min_effective: Joi.number(),
|
|
1285
|
+
});
|
|
1286
|
+
}
|
|
1285
1287
|
|
|
1286
|
-
|
|
1288
|
+
static Size() {
|
|
1289
|
+
return Joi.object({
|
|
1290
|
+
quantity: Joi.number(),
|
|
1287
1291
|
|
|
1288
|
-
|
|
1292
|
+
is_available: Joi.boolean(),
|
|
1289
1293
|
|
|
1290
|
-
|
|
1294
|
+
value: Joi.any(),
|
|
1291
1295
|
|
|
1292
|
-
|
|
1296
|
+
display: Joi.any(),
|
|
1297
|
+
});
|
|
1298
|
+
}
|
|
1293
1299
|
|
|
1294
|
-
|
|
1300
|
+
static ProductDetails() {
|
|
1301
|
+
return Joi.object({
|
|
1302
|
+
attributes: Joi.any(),
|
|
1295
1303
|
|
|
1296
|
-
|
|
1304
|
+
country_of_origin: Joi.any(),
|
|
1297
1305
|
|
|
1298
1306
|
template_tag: Joi.any(),
|
|
1299
1307
|
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
country_of_origin: Joi.any(),
|
|
1308
|
+
short_description: Joi.any(),
|
|
1303
1309
|
|
|
1304
|
-
|
|
1310
|
+
has_variant: Joi.boolean(),
|
|
1305
1311
|
|
|
1306
1312
|
media: Joi.array().items(Joi.any()),
|
|
1307
1313
|
|
|
1308
|
-
|
|
1314
|
+
brand_uid: Joi.number(),
|
|
1309
1315
|
|
|
1310
|
-
|
|
1316
|
+
grouped_attributes: Joi.any(),
|
|
1311
1317
|
|
|
1312
|
-
|
|
1318
|
+
rating: Joi.number(),
|
|
1313
1319
|
|
|
1314
1320
|
image_nature: Joi.any(),
|
|
1315
1321
|
|
|
1316
1322
|
name: Joi.any(),
|
|
1317
|
-
});
|
|
1318
|
-
}
|
|
1319
1323
|
|
|
1320
|
-
|
|
1321
|
-
return Joi.object({
|
|
1322
|
-
value: Joi.any(),
|
|
1324
|
+
is_set: Joi.boolean(),
|
|
1323
1325
|
|
|
1324
|
-
|
|
1326
|
+
description: Joi.any(),
|
|
1325
1327
|
|
|
1326
|
-
|
|
1328
|
+
rating_count: Joi.number(),
|
|
1327
1329
|
|
|
1328
|
-
|
|
1329
|
-
});
|
|
1330
|
-
}
|
|
1330
|
+
out_of_stock: Joi.boolean(),
|
|
1331
1331
|
|
|
1332
|
-
|
|
1333
|
-
return Joi.object({
|
|
1334
|
-
min_marked: Joi.number(),
|
|
1332
|
+
highlights: Joi.array().items(Joi.any()),
|
|
1335
1333
|
|
|
1336
|
-
|
|
1334
|
+
item_code: Joi.any(),
|
|
1337
1335
|
|
|
1338
|
-
|
|
1336
|
+
images: Joi.array().items(Joi.any()),
|
|
1339
1337
|
|
|
1340
|
-
|
|
1338
|
+
slug: Joi.any(),
|
|
1341
1339
|
|
|
1342
|
-
|
|
1340
|
+
hsn_code: Joi.number(),
|
|
1341
|
+
|
|
1342
|
+
identifier: Joi.any(),
|
|
1343
1343
|
});
|
|
1344
1344
|
}
|
|
1345
1345
|
|
|
1346
1346
|
static ProductInGroup() {
|
|
1347
1347
|
return Joi.object({
|
|
1348
|
-
max_quantity: Joi.number().required(),
|
|
1349
|
-
|
|
1350
|
-
product_details: CatalogModel.ProductDetails(),
|
|
1351
|
-
|
|
1352
|
-
sizes: Joi.array().items(CatalogModel.Size()),
|
|
1353
|
-
|
|
1354
|
-
min_quantity: Joi.number(),
|
|
1355
|
-
|
|
1356
1348
|
price: CatalogModel.ProductGroupPrice(),
|
|
1357
1349
|
|
|
1350
|
+
auto_add_to_cart: Joi.boolean(),
|
|
1351
|
+
|
|
1358
1352
|
allow_remove: Joi.boolean(),
|
|
1359
1353
|
|
|
1354
|
+
sizes: Joi.array().items(CatalogModel.Size()),
|
|
1355
|
+
|
|
1360
1356
|
product_uid: Joi.number().required(),
|
|
1361
1357
|
|
|
1362
1358
|
auto_select: Joi.boolean(),
|
|
1363
1359
|
|
|
1364
|
-
|
|
1360
|
+
max_quantity: Joi.number().required(),
|
|
1361
|
+
|
|
1362
|
+
product_details: CatalogModel.ProductDetails(),
|
|
1363
|
+
|
|
1364
|
+
min_quantity: Joi.number(),
|
|
1365
1365
|
});
|
|
1366
1366
|
}
|
|
1367
1367
|
|
|
1368
1368
|
static ProductGroupingModel() {
|
|
1369
1369
|
return Joi.object({
|
|
1370
|
-
|
|
1370
|
+
_id: Joi.any(),
|
|
1371
1371
|
|
|
1372
|
-
|
|
1372
|
+
choice: Joi.any(),
|
|
1373
1373
|
|
|
1374
1374
|
verified_by: CatalogModel.UserDetail(),
|
|
1375
1375
|
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
same_store_assignment: Joi.boolean(),
|
|
1376
|
+
created_by: CatalogModel.UserDetail(),
|
|
1379
1377
|
|
|
1380
|
-
|
|
1378
|
+
modified_on: Joi.string().allow("").required(),
|
|
1381
1379
|
|
|
1382
|
-
|
|
1380
|
+
logo: Joi.string().allow("").allow(null),
|
|
1383
1381
|
|
|
1384
|
-
|
|
1382
|
+
is_active: Joi.boolean(),
|
|
1385
1383
|
|
|
1386
1384
|
modified_by: CatalogModel.UserDetail(),
|
|
1387
1385
|
|
|
1388
|
-
|
|
1386
|
+
name: Joi.any().required(),
|
|
1389
1387
|
|
|
1390
|
-
|
|
1388
|
+
same_store_assignment: Joi.boolean(),
|
|
1391
1389
|
|
|
1392
|
-
|
|
1390
|
+
page_visibility: Joi.array().items(Joi.any()),
|
|
1393
1391
|
|
|
1394
|
-
|
|
1392
|
+
products: Joi.array().items(CatalogModel.ProductInGroup()).required(),
|
|
1395
1393
|
|
|
1396
|
-
|
|
1394
|
+
created_on: Joi.string().allow("").required(),
|
|
1397
1395
|
|
|
1398
|
-
|
|
1396
|
+
meta: Joi.any(),
|
|
1399
1397
|
|
|
1400
1398
|
slug: Joi.any(),
|
|
1401
1399
|
|
|
1402
1400
|
verified_on: Joi.string().allow(""),
|
|
1401
|
+
|
|
1402
|
+
company_id: Joi.number(),
|
|
1403
1403
|
});
|
|
1404
1404
|
}
|
|
1405
1405
|
|
|
@@ -1409,42 +1409,54 @@ class CatalogModel {
|
|
|
1409
1409
|
});
|
|
1410
1410
|
}
|
|
1411
1411
|
|
|
1412
|
-
static
|
|
1412
|
+
static SellerV3() {
|
|
1413
1413
|
return Joi.object({
|
|
1414
|
-
|
|
1414
|
+
uid: Joi.number(),
|
|
1415
1415
|
|
|
1416
|
-
|
|
1416
|
+
count: Joi.number(),
|
|
1417
1417
|
|
|
1418
|
-
|
|
1418
|
+
name: Joi.string().allow(""),
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1419
1421
|
|
|
1420
|
-
|
|
1422
|
+
static ReturnConfigSchemaV3() {
|
|
1423
|
+
return Joi.object({
|
|
1424
|
+
returnable: Joi.boolean(),
|
|
1425
|
+
|
|
1426
|
+
unit: Joi.string().allow(""),
|
|
1427
|
+
|
|
1428
|
+
time: Joi.number(),
|
|
1421
1429
|
});
|
|
1422
1430
|
}
|
|
1423
1431
|
|
|
1424
|
-
static
|
|
1432
|
+
static ProductStockPriceV3() {
|
|
1425
1433
|
return Joi.object({
|
|
1426
|
-
|
|
1434
|
+
currency: Joi.string().allow(""),
|
|
1427
1435
|
|
|
1428
|
-
|
|
1436
|
+
marked: Joi.number(),
|
|
1437
|
+
|
|
1438
|
+
effective: Joi.number(),
|
|
1429
1439
|
});
|
|
1430
1440
|
}
|
|
1431
1441
|
|
|
1432
|
-
static
|
|
1442
|
+
static StrategyWiseListingSchemaV3() {
|
|
1433
1443
|
return Joi.object({
|
|
1434
|
-
|
|
1444
|
+
pincode: Joi.number(),
|
|
1435
1445
|
|
|
1436
|
-
|
|
1446
|
+
distance: Joi.number(),
|
|
1437
1447
|
|
|
1438
|
-
|
|
1448
|
+
tat: Joi.number(),
|
|
1449
|
+
|
|
1450
|
+
quantity: Joi.number(),
|
|
1439
1451
|
});
|
|
1440
1452
|
}
|
|
1441
1453
|
|
|
1442
1454
|
static DetailsSchemaV3() {
|
|
1443
1455
|
return Joi.object({
|
|
1444
|
-
type: Joi.string().allow(""),
|
|
1445
|
-
|
|
1446
1456
|
key: Joi.string().allow(""),
|
|
1447
1457
|
|
|
1458
|
+
type: Joi.string().allow(""),
|
|
1459
|
+
|
|
1448
1460
|
value: Joi.string().allow(""),
|
|
1449
1461
|
});
|
|
1450
1462
|
}
|
|
@@ -1457,33 +1469,23 @@ class CatalogModel {
|
|
|
1457
1469
|
});
|
|
1458
1470
|
}
|
|
1459
1471
|
|
|
1460
|
-
static
|
|
1472
|
+
static ProductStockUnitPriceV3() {
|
|
1461
1473
|
return Joi.object({
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
uid: Joi.number(),
|
|
1474
|
+
price: Joi.number(),
|
|
1465
1475
|
|
|
1466
|
-
|
|
1467
|
-
});
|
|
1468
|
-
}
|
|
1476
|
+
currency_symbol: Joi.string().allow(""),
|
|
1469
1477
|
|
|
1470
|
-
static ProductStockUnitPriceV3() {
|
|
1471
|
-
return Joi.object({
|
|
1472
1478
|
unit: Joi.string().allow(""),
|
|
1473
1479
|
|
|
1474
1480
|
currency_code: Joi.string().allow(""),
|
|
1475
|
-
|
|
1476
|
-
currency_symbol: Joi.string().allow(""),
|
|
1477
|
-
|
|
1478
|
-
price: Joi.number(),
|
|
1479
1481
|
});
|
|
1480
1482
|
}
|
|
1481
1483
|
|
|
1482
1484
|
static ProductSetDistributionSizeV3() {
|
|
1483
1485
|
return Joi.object({
|
|
1484
|
-
size: Joi.string().allow(""),
|
|
1485
|
-
|
|
1486
1486
|
pieces: Joi.number(),
|
|
1487
|
+
|
|
1488
|
+
size: Joi.string().allow(""),
|
|
1487
1489
|
});
|
|
1488
1490
|
}
|
|
1489
1491
|
|
|
@@ -1501,51 +1503,57 @@ class CatalogModel {
|
|
|
1501
1503
|
});
|
|
1502
1504
|
}
|
|
1503
1505
|
|
|
1504
|
-
static
|
|
1506
|
+
static MarketPlaceSttributesSchemaV3() {
|
|
1505
1507
|
return Joi.object({
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
currency: Joi.string().allow(""),
|
|
1508
|
+
details: Joi.array().items(CatalogModel.DetailsSchemaV3()),
|
|
1509
1509
|
|
|
1510
|
-
|
|
1510
|
+
title: Joi.string().allow(""),
|
|
1511
1511
|
});
|
|
1512
1512
|
}
|
|
1513
1513
|
|
|
1514
|
-
static
|
|
1514
|
+
static StoreV3() {
|
|
1515
1515
|
return Joi.object({
|
|
1516
|
-
name: Joi.string().allow(""),
|
|
1517
|
-
|
|
1518
1516
|
uid: Joi.number(),
|
|
1519
1517
|
|
|
1520
1518
|
count: Joi.number(),
|
|
1519
|
+
|
|
1520
|
+
name: Joi.string().allow(""),
|
|
1521
1521
|
});
|
|
1522
1522
|
}
|
|
1523
1523
|
|
|
1524
|
-
static
|
|
1524
|
+
static ArticleAssignmentV3() {
|
|
1525
1525
|
return Joi.object({
|
|
1526
|
-
|
|
1526
|
+
strategy: Joi.string().allow(""),
|
|
1527
1527
|
|
|
1528
|
-
|
|
1528
|
+
level: Joi.string().allow(""),
|
|
1529
1529
|
});
|
|
1530
1530
|
}
|
|
1531
1531
|
|
|
1532
1532
|
static ProductSizePriceResponseV3() {
|
|
1533
1533
|
return Joi.object({
|
|
1534
|
-
|
|
1535
|
-
CatalogModel.StrategyWiseListingSchemaV3()
|
|
1536
|
-
),
|
|
1537
|
-
|
|
1538
|
-
is_gift: Joi.boolean(),
|
|
1534
|
+
seller: CatalogModel.SellerV3(),
|
|
1539
1535
|
|
|
1540
|
-
|
|
1536
|
+
seller_count: Joi.number(),
|
|
1541
1537
|
|
|
1542
1538
|
return_config: CatalogModel.ReturnConfigSchemaV3(),
|
|
1543
1539
|
|
|
1540
|
+
pincode: Joi.number(),
|
|
1541
|
+
|
|
1542
|
+
price_per_piece: CatalogModel.ProductStockPriceV3(),
|
|
1543
|
+
|
|
1544
|
+
item_type: Joi.string().allow(""),
|
|
1545
|
+
|
|
1546
|
+
is_cod: Joi.boolean(),
|
|
1547
|
+
|
|
1548
|
+
strategy_wise_listing: Joi.array().items(
|
|
1549
|
+
CatalogModel.StrategyWiseListingSchemaV3()
|
|
1550
|
+
),
|
|
1551
|
+
|
|
1544
1552
|
grouped_attributes: Joi.array().items(
|
|
1545
1553
|
CatalogModel.SellerGroupAttributes()
|
|
1546
1554
|
),
|
|
1547
1555
|
|
|
1548
|
-
|
|
1556
|
+
quantity: Joi.number(),
|
|
1549
1557
|
|
|
1550
1558
|
article_id: Joi.string().allow(""),
|
|
1551
1559
|
|
|
@@ -1553,53 +1561,45 @@ class CatalogModel {
|
|
|
1553
1561
|
|
|
1554
1562
|
set: CatalogModel.ProductSetV3(),
|
|
1555
1563
|
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
seller_count: Joi.number(),
|
|
1564
|
+
price: CatalogModel.ProductStockPriceV3(),
|
|
1559
1565
|
|
|
1560
1566
|
special_badge: Joi.string().allow(""),
|
|
1561
1567
|
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
discount: Joi.string().allow(""),
|
|
1568
|
+
is_gift: Joi.boolean(),
|
|
1565
1569
|
|
|
1566
|
-
|
|
1570
|
+
marketplace_attributes: Joi.array().items(
|
|
1571
|
+
CatalogModel.MarketPlaceSttributesSchemaV3()
|
|
1572
|
+
),
|
|
1567
1573
|
|
|
1568
|
-
|
|
1574
|
+
store: CatalogModel.StoreV3(),
|
|
1569
1575
|
|
|
1570
|
-
|
|
1576
|
+
discount: Joi.string().allow(""),
|
|
1571
1577
|
|
|
1572
|
-
|
|
1578
|
+
article_assignment: CatalogModel.ArticleAssignmentV3(),
|
|
1573
1579
|
|
|
1574
1580
|
long_lat: Joi.array().items(Joi.number()),
|
|
1575
|
-
|
|
1576
|
-
pincode: Joi.number(),
|
|
1577
|
-
|
|
1578
|
-
marketplace_attributes: Joi.array().items(
|
|
1579
|
-
CatalogModel.MarketPlaceSttributesSchemaV3()
|
|
1580
|
-
),
|
|
1581
1581
|
});
|
|
1582
1582
|
}
|
|
1583
1583
|
|
|
1584
1584
|
static ProductSizeSellerFilterSchemaV3() {
|
|
1585
1585
|
return Joi.object({
|
|
1586
|
+
is_selected: Joi.boolean(),
|
|
1587
|
+
|
|
1586
1588
|
value: Joi.string().allow(""),
|
|
1587
1589
|
|
|
1588
1590
|
name: Joi.string().allow(""),
|
|
1589
|
-
|
|
1590
|
-
is_selected: Joi.boolean(),
|
|
1591
1591
|
});
|
|
1592
1592
|
}
|
|
1593
1593
|
|
|
1594
1594
|
static ProductSizeSellersResponseV3() {
|
|
1595
1595
|
return Joi.object({
|
|
1596
|
+
page: CatalogModel.Page().required(),
|
|
1597
|
+
|
|
1596
1598
|
sort_on: Joi.array().items(
|
|
1597
1599
|
CatalogModel.ProductSizeSellerFilterSchemaV3()
|
|
1598
1600
|
),
|
|
1599
1601
|
|
|
1600
1602
|
items: Joi.array().items(CatalogModel.ProductSizePriceResponseV3()),
|
|
1601
|
-
|
|
1602
|
-
page: CatalogModel.Page().required(),
|
|
1603
1603
|
});
|
|
1604
1604
|
}
|
|
1605
1605
|
}
|