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