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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +2 -2
  2. package/application.d.ts +1 -2
  3. package/application.js +2 -3
  4. package/index.d.ts +1 -2
  5. package/index.js +7 -1
  6. package/package.json +2 -3
  7. package/sdk/application/ApplicationClient.js +0 -18
  8. package/sdk/application/Cart/CartApplicationClient.d.ts +55 -90
  9. package/sdk/application/Cart/CartApplicationClient.js +27 -1203
  10. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +80 -142
  11. package/sdk/application/Catalog/CatalogApplicationClient.js +40 -1344
  12. package/sdk/application/Common/CommonApplicationClient.d.ts +4 -8
  13. package/sdk/application/Common/CommonApplicationClient.js +2 -92
  14. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +6 -19
  15. package/sdk/application/Communication/CommunicationApplicationClient.js +3 -148
  16. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +32 -73
  17. package/sdk/application/Configuration/ConfigurationApplicationClient.js +16 -727
  18. package/sdk/application/Content/ContentApplicationClient.d.ts +46 -78
  19. package/sdk/application/Content/ContentApplicationClient.js +23 -941
  20. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +6 -11
  21. package/sdk/application/FileStorage/FileStorageApplicationClient.js +4 -134
  22. package/sdk/application/Lead/LeadApplicationClient.d.ts +10 -18
  23. package/sdk/application/Lead/LeadApplicationClient.js +5 -217
  24. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +22 -39
  25. package/sdk/application/Logistic/LogisticApplicationClient.js +11 -496
  26. package/sdk/application/Order/OrderApplicationClient.d.ts +22 -42
  27. package/sdk/application/Order/OrderApplicationClient.js +11 -505
  28. package/sdk/application/Payment/PaymentApplicationClient.d.ts +92 -212
  29. package/sdk/application/Payment/PaymentApplicationClient.js +46 -2106
  30. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +14 -28
  31. package/sdk/application/Rewards/RewardsApplicationClient.js +7 -311
  32. package/sdk/application/Share/ShareApplicationClient.d.ts +14 -24
  33. package/sdk/application/Share/ShareApplicationClient.js +7 -309
  34. package/sdk/application/Theme/ThemeApplicationClient.d.ts +8 -14
  35. package/sdk/application/Theme/ThemeApplicationClient.js +4 -174
  36. package/sdk/application/User/UserApplicationClient.d.ts +85 -136
  37. package/sdk/application/User/UserApplicationClient.js +42 -1818
  38. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +2 -5
  39. package/sdk/application/Webhook/WebhookApplicationClient.js +1 -50
  40. package/sdk/application/index.d.ts +0 -18
  41. package/sdk/application/index.js +0 -33
  42. package/sdk/partner/OAuthClient.js +1 -0
  43. package/sdk/platform/Cart/CartPlatformModel.d.ts +7 -0
  44. package/sdk/platform/Cart/CartPlatformModel.js +3 -0
  45. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +0 -7
  46. package/sdk/platform/Catalog/CatalogPlatformModel.js +0 -3
  47. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +7 -0
  48. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +3 -0
  49. package/sdk/public/Configuration/ConfigurationPublicClient.js +4 -2
  50. package/sdk/public/Content/ContentPublicClient.js +4 -2
  51. package/sdk/public/Partner/PartnerPublicClient.js +4 -2
  52. package/sdk/public/Webhook/WebhookPublicClient.js +4 -2
  53. package/sdk/application/Cart/CartApplicationModel.d.ts +0 -3994
  54. package/sdk/application/Cart/CartApplicationModel.js +0 -2497
  55. package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -769
  56. package/sdk/application/Cart/CartApplicationValidator.js +0 -530
  57. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +0 -3857
  58. package/sdk/application/Catalog/CatalogApplicationModel.js +0 -2629
  59. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +0 -791
  60. package/sdk/application/Catalog/CatalogApplicationValidator.js +0 -551
  61. package/sdk/application/Common/CommonApplicationModel.d.ts +0 -449
  62. package/sdk/application/Common/CommonApplicationModel.js +0 -308
  63. package/sdk/application/Common/CommonApplicationValidator.d.ts +0 -46
  64. package/sdk/application/Common/CommonApplicationValidator.js +0 -38
  65. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +0 -293
  66. package/sdk/application/Communication/CommunicationApplicationModel.js +0 -201
  67. package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +0 -29
  68. package/sdk/application/Communication/CommunicationApplicationValidator.js +0 -38
  69. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +0 -2556
  70. package/sdk/application/Configuration/ConfigurationApplicationModel.js +0 -1887
  71. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +0 -179
  72. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +0 -176
  73. package/sdk/application/Content/ContentApplicationModel.d.ts +0 -2133
  74. package/sdk/application/Content/ContentApplicationModel.js +0 -1589
  75. package/sdk/application/Content/ContentApplicationValidator.d.ts +0 -284
  76. package/sdk/application/Content/ContentApplicationValidator.js +0 -264
  77. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +0 -272
  78. package/sdk/application/FileStorage/FileStorageApplicationModel.js +0 -190
  79. package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +0 -56
  80. package/sdk/application/FileStorage/FileStorageApplicationValidator.js +0 -53
  81. package/sdk/application/Lead/LeadApplicationModel.d.ts +0 -590
  82. package/sdk/application/Lead/LeadApplicationModel.js +0 -480
  83. package/sdk/application/Lead/LeadApplicationValidator.d.ts +0 -68
  84. package/sdk/application/Lead/LeadApplicationValidator.js +0 -71
  85. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +0 -1675
  86. package/sdk/application/Logistic/LogisticApplicationModel.js +0 -1121
  87. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +0 -254
  88. package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -190
  89. package/sdk/application/Order/OrderApplicationModel.d.ts +0 -2296
  90. package/sdk/application/Order/OrderApplicationModel.js +0 -1471
  91. package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -265
  92. package/sdk/application/Order/OrderApplicationValidator.js +0 -197
  93. package/sdk/application/Payment/PaymentApplicationModel.d.ts +0 -4058
  94. package/sdk/application/Payment/PaymentApplicationModel.js +0 -2630
  95. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +0 -576
  96. package/sdk/application/Payment/PaymentApplicationValidator.js +0 -594
  97. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +0 -365
  98. package/sdk/application/Rewards/RewardsApplicationModel.js +0 -396
  99. package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +0 -73
  100. package/sdk/application/Rewards/RewardsApplicationValidator.js +0 -84
  101. package/sdk/application/Share/ShareApplicationModel.d.ts +0 -339
  102. package/sdk/application/Share/ShareApplicationModel.js +0 -234
  103. package/sdk/application/Share/ShareApplicationValidator.d.ts +0 -90
  104. package/sdk/application/Share/ShareApplicationValidator.js +0 -91
  105. package/sdk/application/Theme/ThemeApplicationModel.d.ts +0 -1713
  106. package/sdk/application/Theme/ThemeApplicationModel.js +0 -1426
  107. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -66
  108. package/sdk/application/Theme/ThemeApplicationValidator.js +0 -58
  109. package/sdk/application/User/UserApplicationModel.d.ts +0 -1943
  110. package/sdk/application/User/UserApplicationModel.js +0 -1382
  111. package/sdk/application/User/UserApplicationValidator.d.ts +0 -560
  112. package/sdk/application/User/UserApplicationValidator.js +0 -573
  113. package/sdk/application/Webhook/WebhookApplicationModel.d.ts +0 -52
  114. package/sdk/application/Webhook/WebhookApplicationModel.js +0 -46
  115. package/sdk/application/Webhook/WebhookApplicationValidator.d.ts +0 -16
  116. package/sdk/application/Webhook/WebhookApplicationValidator.js +0 -19
  117. package/sdk/common/Clickstream.d.ts +0 -1
  118. package/sdk/common/Clickstream.js +0 -464
@@ -1,551 +0,0 @@
1
- const Joi = require("joi");
2
-
3
- const CatalogApplicationModel = require("./CatalogApplicationModel");
4
-
5
- /**
6
- * @typedef FollowByIdParam
7
- * @property {string} collectionType - Type of collection followed, i.e.
8
- * products, brands, or collections.
9
- * @property {string} collectionId - The ID of the collection type.
10
- */
11
-
12
- /**
13
- * @typedef GetBrandDetailBySlugParam
14
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
15
- * a brand. You can get slug value from the endpoint
16
- * /service/application/catalog/v1.0/brands/.
17
- */
18
-
19
- /**
20
- * @typedef GetBrandsParam
21
- * @property {string} [department] - The name of the department. Use this
22
- * parameter to filter products by a particular department. See the list of
23
- * available departments below. Also, you can get available departments from
24
- * the endpoint /service/application/catalog/v1.0/departments/.
25
- * @property {number} [pageNo] - The page number to navigate through the given
26
- * set of results.
27
- * @property {number} [pageSize] - The number of items to retrieve in each page.
28
- */
29
-
30
- /**
31
- * @typedef GetCategoriesParam
32
- * @property {string} [department] - The name of the department. Use this
33
- * parameter to filter products by a particular department. See the list of
34
- * available departments below. Also, you can get available departments from
35
- * the endpoint /service/application/catalog/v1.0/departments/.
36
- */
37
-
38
- /**
39
- * @typedef GetCategoryDetailBySlugParam
40
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
41
- * a brand. You can get slug value from the endpoint
42
- * /service/application/catalog/v1.0/brands/.
43
- */
44
-
45
- /**
46
- * @typedef GetCollectionDetailBySlugParam
47
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
48
- * a collection. You can get slug value from the endpoint
49
- * /service/application/catalog/v1.0/collections/.
50
- */
51
-
52
- /**
53
- * @typedef GetCollectionItemsBySlugParam
54
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
55
- * a collection. You can get slug value from the endpoint
56
- * /service/application/catalog/v1.0/collections/.
57
- * @property {string} [f] - The search filter parameters. Filter parameters will
58
- * be passed in f parameter as shown in the example below. Double Pipe (||)
59
- * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter
60
- * parameter applied as an AND condition.
61
- * @property {string} [q] - The search query for entering partial or full name
62
- * of product, brand, category, or collection.
63
- * @property {boolean} [filters] - True for fetching all filter parameters and
64
- * False for disabling the filter parameters.
65
- * @property {string} [sortOn] - The order in which the list of products should
66
- * be sorted, e.g. popularity, price, latest and discount, in either ascending
67
- * or descending order. See the supported values below.
68
- * @property {string} [pageId] - Page ID to retrieve next set of results.
69
- * @property {number} [pageSize] - The number of items to retrieve in each page.
70
- * @property {number} [pageNo] - Page Number to retrieve next set of results.
71
- * @property {string} [pageType] - Page Type to retrieve set of results can be
72
- * cursor or number.
73
- */
74
-
75
- /**
76
- * @typedef GetCollectionsParam
77
- * @property {number} [pageNo] - The page number to navigate through the given
78
- * set of results.
79
- * @property {number} [pageSize] - The number of items to retrieve in each page.
80
- * @property {string[]} [tag] - List of tags to filter collections.
81
- * @property {string} [q] - Name of the collection to filter collection.
82
- */
83
-
84
- /**
85
- * @typedef GetComparedFrequentlyProductBySlugParam
86
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
87
- * a product. You can get slug value from the endpoint
88
- * /service/application/catalog/v1.0/products/.
89
- */
90
-
91
- /** @typedef GetDepartmentsParam */
92
-
93
- /**
94
- * @typedef GetFollowIdsParam
95
- * @property {string} [collectionType] - Type of collection, i.e. products,
96
- * brands, collections.
97
- */
98
-
99
- /**
100
- * @typedef GetFollowedListingParam
101
- * @property {string} collectionType - Type of collection followed, i.e.
102
- * products, brands, or collections.
103
- * @property {string} [pageId] - Page ID to retrieve next set of results.
104
- * @property {number} [pageSize] - Page ID to retrieve next set of results.
105
- */
106
-
107
- /**
108
- * @typedef GetFollowerCountByIdParam
109
- * @property {string} collectionType - Type of collection, i.e. products,
110
- * brands, or collections.
111
- * @property {string} collectionId - The ID of the collection type.
112
- */
113
-
114
- /**
115
- * @typedef GetHomeProductsParam
116
- * @property {string} [sortOn] - The order in which the list of products should
117
- * be sorted, e.g. popularity, price, latest and discount, in either ascending
118
- * or descending order.
119
- * @property {string} [pageId] - Page ID to retrieve next set of results.
120
- * @property {number} [pageSize] - The number of items to retrieve in each page.
121
- */
122
-
123
- /**
124
- * @typedef GetInStockLocationsParam
125
- * @property {number} [pageNo] - The page number to navigate through the given
126
- * set of results.
127
- * @property {number} [pageSize] - Number of items to retrieve in each page.
128
- * @property {string} [q] - Search a store by its name or store_code.
129
- * @property {string} [city] - Search stores by the city in which they are situated.
130
- * @property {number} [range] - Use this to retrieve stores within a particular
131
- * range in meters, e.g. 10000, to indicate a 10km range.
132
- * @property {number} [latitude] - Latitude of the location from where one wants
133
- * to retrieve the nearest stores, e.g. 72.8691788.
134
- * @property {number} [longitude] - Longitude of the location from where one
135
- * wants to retrieve the nearest stores, e.g. 19.1174114.
136
- */
137
-
138
- /**
139
- * @typedef GetLocationDetailsByIdParam
140
- * @property {number} locationId - Unique Location ID.
141
- */
142
-
143
- /**
144
- * @typedef GetProductBundlesBySlugParam
145
- * @property {string} [slug] - Product slug for which bundles need to be fetched.
146
- * @property {string} [id] - Product uid.
147
- */
148
-
149
- /**
150
- * @typedef GetProductComparisonBySlugsParam
151
- * @property {string[]} slug - A short, human-readable, URL-friendly identifier
152
- * of a product. You can get slug value from the endpoint
153
- * /service/application/catalog/v1.0/products/.
154
- */
155
-
156
- /**
157
- * @typedef GetProductDetailBySlugParam
158
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
159
- * a product. You can get slug value from the endpoint
160
- * /service/application/catalog/v1.0/products/.
161
- */
162
-
163
- /**
164
- * @typedef GetProductPriceBySlugParam
165
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
166
- * a product. You can get slug value from the endpoint
167
- * /service/application/catalog/v1.0/products/.
168
- * @property {string} size - A string indicating the size of the product, e.g.
169
- * S, M, XL. You can get slug value from the endpoint
170
- * /service/application/catalog/v1.0/products/sizes.
171
- * @property {number} [storeId] - The ID of the store that is selling the
172
- * product, e.g. 1,2,3.
173
- * @property {number} [moq] - An Integer indication the Minimum Order Quantity
174
- * of a product, e.g. 100.
175
- */
176
-
177
- /**
178
- * @typedef GetProductSellersBySlugParam
179
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
180
- * a product. You can get slug value from the endpoint
181
- * /service/application/catalog/v1.0/products/.
182
- * @property {string} size - A string indicating the size of the product, e.g.
183
- * S, M, XL. You can get slug value from the endpoint
184
- * /service/application/catalog/v1.0/products/sizes.
185
- * @property {string} [strategy] - Sort stores on the basis of strategy. eg,
186
- * fast-delivery, low-price, optimal.
187
- * @property {number} [pageNo] - The page number to navigate through the given
188
- * set of results.
189
- * @property {number} [pageSize] - The number of items to retrieve in each page.
190
- */
191
-
192
- /**
193
- * @typedef GetProductSizesBySlugParam
194
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
195
- * a product. You can get slug value from the endpoint
196
- * /service/application/catalog/v1.0/products/.
197
- * @property {number} [storeId] - The ID of the store that is selling the
198
- * product, e.g. 1,2,3.
199
- */
200
-
201
- /**
202
- * @typedef GetProductStockByIdsParam
203
- * @property {string} [itemId] - The Item ID of the product (Max. 50 allowed).
204
- * @property {string} [alu] - ALU of the product (limited upto 50 ALU identifier
205
- * in a single request).
206
- * @property {string} [skuCode] - Stock-keeping Unit of the product (limited
207
- * upto 50 SKU Code in a single request).
208
- * @property {string} [ean] - European Article Number of the product (limited
209
- * upto 50 EAN identifier in a single request).
210
- * @property {string} [upc] - Universal Product Code of the product (limited
211
- * upto 50 UPC identifier in a single request).
212
- */
213
-
214
- /**
215
- * @typedef GetProductStockForTimeByIdsParam
216
- * @property {string} timestamp - Timestamp in UTC format (2020-07-23T10:27:50Z).
217
- * @property {number} [pageSize] - The number of items to retrieve in each page.
218
- * @property {string} [pageId] - Page ID to retrieve next set of results.
219
- */
220
-
221
- /**
222
- * @typedef GetProductVariantsBySlugParam
223
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
224
- * a product. You can get slug value from the endpoint
225
- * /service/application/catalog/v1.0/products/.
226
- */
227
-
228
- /**
229
- * @typedef GetProductsParam
230
- * @property {string} [q] - The search query for entering partial or full name
231
- * of product, brand, category, or collection.
232
- * @property {string} [f] - The search filter parameters. Filter parameters will
233
- * be passed in f parameter as shown in the example below. Double Pipe (||)
234
- * denotes the OR condition, whereas Triple-colon (:::) indicates a new filter
235
- * parameter applied as an AND condition.
236
- * @property {boolean} [filters] - True for fetching all filter parameters and
237
- * False for disabling the filter parameters.
238
- * @property {string} [sortOn] - The order in which the list of products should
239
- * be sorted, e.g. popularity, price, latest and discount, in either ascending
240
- * or descending order. See the supported values below.
241
- * @property {string} [pageId] - Page ID to retrieve next set of results.
242
- * @property {number} [pageSize] - The number of items to retrieve in each page.
243
- * @property {number} [pageNo] - The page number to navigate through the given
244
- * set of results.
245
- * @property {string} [pageType] - Available pagination types are cursor or number.
246
- */
247
-
248
- /**
249
- * @typedef GetSearchResultsParam
250
- * @property {string} q - The search query for entering partial or full name of
251
- * a product, brand or category. For example, if the given search query `q` is
252
- * _ski_, the relevant search suggestions could be _skirt_, _ski shoes_,
253
- * __skin cream_ etc.
254
- */
255
-
256
- /**
257
- * @typedef GetSimilarComparisonProductBySlugParam
258
- * @property {string} slug - A short, human-readable, URL-friendly identifier of
259
- * a product. You can get slug value from the endpoint
260
- * /service/application/catalog/v1.0/products/.
261
- */
262
-
263
- /**
264
- * @typedef GetStoresParam
265
- * @property {number} [pageNo] - The page number to navigate through the given
266
- * set of results.
267
- * @property {number} [pageSize] - Number of items to retrieve in each page.
268
- * @property {string} [q] - Search a store by its name or store_code.
269
- * @property {string} [city] - Search stores by the city in which they are situated.
270
- * @property {number} [range] - Use this to retrieve stores within a particular
271
- * range in meters, e.g. 10000, to indicate a 10km range.
272
- * @property {number} [latitude] - Latitude of the location from where one wants
273
- * to retrieve the nearest stores, e.g. 72.8691788.
274
- * @property {number} [longitude] - Longitude of the location from where one
275
- * wants to retrieve the nearest stores, e.g. 19.1174114.
276
- * @property {string} [tags] - Search stores based on tags.
277
- */
278
-
279
- /**
280
- * @typedef UnfollowByIdParam
281
- * @property {string} collectionType - Type of collection followed, i.e.
282
- * products, brands, or collections.
283
- * @property {string} collectionId - The ID of the collection type.
284
- */
285
-
286
- class CatalogApplicationValidator {
287
- /** @returns {FollowByIdParam} */
288
- static followById() {
289
- return Joi.object({
290
- collectionType: Joi.string().allow("").required(),
291
- collectionId: Joi.string().allow("").required(),
292
- }).required();
293
- }
294
-
295
- /** @returns {GetBrandDetailBySlugParam} */
296
- static getBrandDetailBySlug() {
297
- return Joi.object({
298
- slug: Joi.string().allow("").required(),
299
- }).required();
300
- }
301
-
302
- /** @returns {GetBrandsParam} */
303
- static getBrands() {
304
- return Joi.object({
305
- department: Joi.string().allow(""),
306
- pageNo: Joi.number(),
307
- pageSize: Joi.number(),
308
- });
309
- }
310
-
311
- /** @returns {GetCategoriesParam} */
312
- static getCategories() {
313
- return Joi.object({
314
- department: Joi.string().allow(""),
315
- });
316
- }
317
-
318
- /** @returns {GetCategoryDetailBySlugParam} */
319
- static getCategoryDetailBySlug() {
320
- return Joi.object({
321
- slug: Joi.string().allow("").required(),
322
- }).required();
323
- }
324
-
325
- /** @returns {GetCollectionDetailBySlugParam} */
326
- static getCollectionDetailBySlug() {
327
- return Joi.object({
328
- slug: Joi.string().allow("").required(),
329
- }).required();
330
- }
331
-
332
- /** @returns {GetCollectionItemsBySlugParam} */
333
- static getCollectionItemsBySlug() {
334
- return Joi.object({
335
- slug: Joi.string().allow("").required(),
336
- f: Joi.string().allow(""),
337
- q: Joi.string().allow(""),
338
- filters: Joi.boolean(),
339
- sortOn: Joi.string().allow(""),
340
- pageId: Joi.string().allow(""),
341
- pageSize: Joi.number(),
342
- pageNo: Joi.number(),
343
- pageType: Joi.string().allow(""),
344
- }).required();
345
- }
346
-
347
- /** @returns {GetCollectionsParam} */
348
- static getCollections() {
349
- return Joi.object({
350
- pageNo: Joi.number(),
351
- pageSize: Joi.number(),
352
- tag: Joi.array().items(Joi.string().allow("")),
353
- q: Joi.string().allow(""),
354
- });
355
- }
356
-
357
- /** @returns {GetComparedFrequentlyProductBySlugParam} */
358
- static getComparedFrequentlyProductBySlug() {
359
- return Joi.object({
360
- slug: Joi.string().allow("").required(),
361
- }).required();
362
- }
363
-
364
- /** @returns {GetDepartmentsParam} */
365
- static getDepartments() {
366
- return Joi.object({});
367
- }
368
-
369
- /** @returns {GetFollowIdsParam} */
370
- static getFollowIds() {
371
- return Joi.object({
372
- collectionType: Joi.string().allow(""),
373
- });
374
- }
375
-
376
- /** @returns {GetFollowedListingParam} */
377
- static getFollowedListing() {
378
- return Joi.object({
379
- collectionType: Joi.string().allow("").required(),
380
- pageId: Joi.string().allow(""),
381
- pageSize: Joi.number(),
382
- }).required();
383
- }
384
-
385
- /** @returns {GetFollowerCountByIdParam} */
386
- static getFollowerCountById() {
387
- return Joi.object({
388
- collectionType: Joi.string().allow("").required(),
389
- collectionId: Joi.string().allow("").required(),
390
- }).required();
391
- }
392
-
393
- /** @returns {GetHomeProductsParam} */
394
- static getHomeProducts() {
395
- return Joi.object({
396
- sortOn: Joi.string().allow(""),
397
- pageId: Joi.string().allow(""),
398
- pageSize: Joi.number(),
399
- });
400
- }
401
-
402
- /** @returns {GetInStockLocationsParam} */
403
- static getInStockLocations() {
404
- return Joi.object({
405
- pageNo: Joi.number(),
406
- pageSize: Joi.number(),
407
- q: Joi.string().allow(""),
408
- city: Joi.string().allow(""),
409
- range: Joi.number(),
410
- latitude: Joi.number(),
411
- longitude: Joi.number(),
412
- });
413
- }
414
-
415
- /** @returns {GetLocationDetailsByIdParam} */
416
- static getLocationDetailsById() {
417
- return Joi.object({
418
- locationId: Joi.number().required(),
419
- }).required();
420
- }
421
-
422
- /** @returns {GetProductBundlesBySlugParam} */
423
- static getProductBundlesBySlug() {
424
- return Joi.object({
425
- slug: Joi.string().allow(""),
426
- id: Joi.string().allow(""),
427
- });
428
- }
429
-
430
- /** @returns {GetProductComparisonBySlugsParam} */
431
- static getProductComparisonBySlugs() {
432
- return Joi.object({
433
- slug: Joi.array().items(Joi.string().allow("")).required(),
434
- }).required();
435
- }
436
-
437
- /** @returns {GetProductDetailBySlugParam} */
438
- static getProductDetailBySlug() {
439
- return Joi.object({
440
- slug: Joi.string().allow("").required(),
441
- }).required();
442
- }
443
-
444
- /** @returns {GetProductPriceBySlugParam} */
445
- static getProductPriceBySlug() {
446
- return Joi.object({
447
- slug: Joi.string().allow("").required(),
448
- size: Joi.string().allow("").required(),
449
- storeId: Joi.number(),
450
- moq: Joi.number(),
451
- }).required();
452
- }
453
-
454
- /** @returns {GetProductSellersBySlugParam} */
455
- static getProductSellersBySlug() {
456
- return Joi.object({
457
- slug: Joi.string().allow("").required(),
458
- size: Joi.string().allow("").required(),
459
- strategy: Joi.string().allow(""),
460
- pageNo: Joi.number(),
461
- pageSize: Joi.number(),
462
- }).required();
463
- }
464
-
465
- /** @returns {GetProductSizesBySlugParam} */
466
- static getProductSizesBySlug() {
467
- return Joi.object({
468
- slug: Joi.string().allow("").required(),
469
- storeId: Joi.number(),
470
- }).required();
471
- }
472
-
473
- /** @returns {GetProductStockByIdsParam} */
474
- static getProductStockByIds() {
475
- return Joi.object({
476
- itemId: Joi.string().allow(""),
477
- alu: Joi.string().allow(""),
478
- skuCode: Joi.string().allow(""),
479
- ean: Joi.string().allow(""),
480
- upc: Joi.string().allow(""),
481
- });
482
- }
483
-
484
- /** @returns {GetProductStockForTimeByIdsParam} */
485
- static getProductStockForTimeByIds() {
486
- return Joi.object({
487
- timestamp: Joi.string().allow("").required(),
488
- pageSize: Joi.number(),
489
- pageId: Joi.string().allow(""),
490
- }).required();
491
- }
492
-
493
- /** @returns {GetProductVariantsBySlugParam} */
494
- static getProductVariantsBySlug() {
495
- return Joi.object({
496
- slug: Joi.string().allow("").required(),
497
- }).required();
498
- }
499
-
500
- /** @returns {GetProductsParam} */
501
- static getProducts() {
502
- return Joi.object({
503
- q: Joi.string().allow(""),
504
- f: Joi.string().allow(""),
505
- filters: Joi.boolean(),
506
- sortOn: Joi.string().allow(""),
507
- pageId: Joi.string().allow(""),
508
- pageSize: Joi.number(),
509
- pageNo: Joi.number(),
510
- pageType: Joi.string().allow(""),
511
- });
512
- }
513
-
514
- /** @returns {GetSearchResultsParam} */
515
- static getSearchResults() {
516
- return Joi.object({
517
- q: Joi.string().allow("").required(),
518
- }).required();
519
- }
520
-
521
- /** @returns {GetSimilarComparisonProductBySlugParam} */
522
- static getSimilarComparisonProductBySlug() {
523
- return Joi.object({
524
- slug: Joi.string().allow("").required(),
525
- }).required();
526
- }
527
-
528
- /** @returns {GetStoresParam} */
529
- static getStores() {
530
- return Joi.object({
531
- pageNo: Joi.number(),
532
- pageSize: Joi.number(),
533
- q: Joi.string().allow(""),
534
- city: Joi.string().allow(""),
535
- range: Joi.number(),
536
- latitude: Joi.number(),
537
- longitude: Joi.number(),
538
- tags: Joi.string().allow(""),
539
- });
540
- }
541
-
542
- /** @returns {UnfollowByIdParam} */
543
- static unfollowById() {
544
- return Joi.object({
545
- collectionType: Joi.string().allow("").required(),
546
- collectionId: Joi.string().allow("").required(),
547
- }).required();
548
- }
549
- }
550
-
551
- module.exports = CatalogApplicationValidator;