@gofynd/fdk-client-javascript 0.1.37 → 1.0.0

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 (353) hide show
  1. package/README.md +24 -0
  2. package/application.d.ts +2 -1
  3. package/application.js +2 -1
  4. package/documentation/application/CART.md +315 -289
  5. package/documentation/application/CATALOG.md +427 -404
  6. package/documentation/application/FILESTORAGE.md +2 -0
  7. package/documentation/application/LEAD.md +18 -18
  8. package/documentation/application/LOGISTIC.md +45 -45
  9. package/documentation/application/ORDER.md +287 -287
  10. package/documentation/application/PAYMENT.md +278 -278
  11. package/documentation/application/POSCART.md +318 -292
  12. package/documentation/application/REWARDS.md +1 -0
  13. package/documentation/application/USER.md +19 -14
  14. package/documentation/platform/CART.md +465 -462
  15. package/documentation/platform/CATALOG.md +2691 -2624
  16. package/documentation/platform/COMPANYPROFILE.md +186 -348
  17. package/documentation/platform/DISCOUNT.md +86 -0
  18. package/documentation/platform/FILESTORAGE.md +2 -0
  19. package/documentation/platform/LEAD.md +60 -60
  20. package/documentation/platform/ORDER.md +1299 -1621
  21. package/documentation/platform/PAYMENT.md +89 -89
  22. package/documentation/platform/REWARDS.md +145 -0
  23. package/documentation/platform/USER.md +24 -14
  24. package/index.d.ts +4 -1
  25. package/index.js +6 -3
  26. package/package.json +9 -9
  27. package/platform.d.ts +2 -1
  28. package/platform.js +3 -2
  29. package/public.d.ts +1 -0
  30. package/public.js +3 -2
  31. package/sdk/application/ApplicationAPIClient.js +3 -1
  32. package/sdk/application/ApplicationClient.d.ts +16 -16
  33. package/sdk/application/ApplicationClient.js +32 -16
  34. package/sdk/application/ApplicationConfig.js +3 -2
  35. package/sdk/application/ApplicationModels.d.ts +0 -832
  36. package/sdk/application/ApplicationModels.js +3 -10574
  37. package/sdk/application/{client → Cart}/CartApplicationClient.d.ts +9 -3
  38. package/sdk/application/{client → Cart}/CartApplicationClient.js +14 -8
  39. package/sdk/application/Cart/CartApplicationModel.d.ts +81 -0
  40. package/sdk/application/Cart/CartApplicationModel.js +1136 -0
  41. package/sdk/application/{models/CartValidator.js → Cart/CartApplicationValidator.js} +16 -12
  42. package/sdk/application/{client → Catalog}/CatalogApplicationClient.d.ts +8 -5
  43. package/sdk/application/{client → Catalog}/CatalogApplicationClient.js +11 -8
  44. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +117 -0
  45. package/sdk/application/Catalog/CatalogApplicationModel.js +1606 -0
  46. package/sdk/application/{models/CatalogValidator.js → Catalog/CatalogApplicationValidator.js} +3 -1
  47. package/sdk/application/{client → Common}/CommonApplicationClient.js +2 -2
  48. package/sdk/application/Common/CommonApplicationModel.d.ts +20 -0
  49. package/sdk/application/Common/CommonApplicationModel.js +228 -0
  50. package/sdk/{platform/models/CommonValidator.js → application/Common/CommonApplicationValidator.js} +2 -1
  51. package/sdk/application/{client → Communication}/CommunicationApplicationClient.js +2 -2
  52. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +15 -0
  53. package/sdk/application/Communication/CommunicationApplicationModel.js +144 -0
  54. package/sdk/application/{models/CommunicationValidator.js → Communication/CommunicationApplicationValidator.js} +4 -3
  55. package/sdk/application/{client → Configuration}/ConfigurationApplicationClient.js +2 -2
  56. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +111 -0
  57. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1182 -0
  58. package/sdk/application/{models/ConfigurationValidator.js → Configuration/ConfigurationApplicationValidator.js} +3 -2
  59. package/sdk/application/{client → Content}/ContentApplicationClient.js +2 -2
  60. package/sdk/application/Content/ContentApplicationModel.d.ts +105 -0
  61. package/sdk/application/Content/ContentApplicationModel.js +1349 -0
  62. package/sdk/application/{models/ContentValidator.js → Content/ContentApplicationValidator.js} +2 -1
  63. package/sdk/application/{client → FileStorage}/FileStorageApplicationClient.js +2 -2
  64. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +21 -0
  65. package/sdk/application/FileStorage/FileStorageApplicationModel.js +244 -0
  66. package/sdk/application/{models/FileStorageValidator.js → FileStorage/FileStorageApplicationValidator.js} +5 -4
  67. package/sdk/application/{client → Lead}/LeadApplicationClient.js +2 -2
  68. package/sdk/application/Lead/LeadApplicationModel.d.ts +55 -0
  69. package/sdk/application/Lead/LeadApplicationModel.js +690 -0
  70. package/sdk/application/{models/LeadValidator.js → Lead/LeadApplicationValidator.js} +5 -4
  71. package/sdk/application/{client → Logistic}/LogisticApplicationClient.js +2 -2
  72. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +26 -0
  73. package/sdk/application/Logistic/LogisticApplicationModel.js +286 -0
  74. package/sdk/application/{models/LogisticValidator.js → Logistic/LogisticApplicationValidator.js} +4 -3
  75. package/sdk/application/{client → Order}/OrderApplicationClient.js +2 -2
  76. package/sdk/application/Order/OrderApplicationModel.d.ts +67 -0
  77. package/sdk/application/Order/OrderApplicationModel.js +872 -0
  78. package/sdk/application/{models/OrderValidator.js → Order/OrderApplicationValidator.js} +4 -3
  79. package/sdk/application/{client → Payment}/PaymentApplicationClient.js +2 -2
  80. package/sdk/application/Payment/PaymentApplicationModel.d.ts +96 -0
  81. package/sdk/application/Payment/PaymentApplicationModel.js +1318 -0
  82. package/sdk/application/{models/PaymentValidator.js → Payment/PaymentApplicationValidator.js} +24 -23
  83. package/sdk/application/{client → PosCart}/PosCartApplicationClient.d.ts +9 -3
  84. package/sdk/application/{client → PosCart}/PosCartApplicationClient.js +14 -8
  85. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +79 -0
  86. package/sdk/application/PosCart/PosCartApplicationModel.js +1132 -0
  87. package/sdk/application/{models/PosCartValidator.js → PosCart/PosCartApplicationValidator.js} +17 -13
  88. package/sdk/application/{client → Rewards}/RewardsApplicationClient.js +2 -2
  89. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +23 -0
  90. package/sdk/application/Rewards/RewardsApplicationModel.js +276 -0
  91. package/sdk/application/{models/RewardsValidator.js → Rewards/RewardsApplicationValidator.js} +5 -4
  92. package/sdk/application/{client → Share}/ShareApplicationClient.js +2 -2
  93. package/sdk/application/Share/ShareApplicationModel.d.ts +16 -0
  94. package/sdk/application/Share/ShareApplicationModel.js +178 -0
  95. package/sdk/application/{models/ShareValidator.js → Share/ShareApplicationValidator.js} +3 -2
  96. package/sdk/application/{client → Theme}/ThemeApplicationClient.js +2 -2
  97. package/sdk/application/Theme/ThemeApplicationModel.d.ts +49 -0
  98. package/sdk/application/Theme/ThemeApplicationModel.js +486 -0
  99. package/sdk/application/{models/ThemeValidator.js → Theme/ThemeApplicationValidator.js} +2 -1
  100. package/sdk/application/{client → User}/UserApplicationClient.js +2 -2
  101. package/sdk/application/User/UserApplicationModel.d.ts +95 -0
  102. package/sdk/application/User/UserApplicationModel.js +998 -0
  103. package/sdk/application/{models/UserValidator.js → User/UserApplicationValidator.js} +30 -29
  104. package/sdk/application/index.d.ts +18 -0
  105. package/sdk/application/index.js +33 -0
  106. package/sdk/common/AxiosHelper.js +23 -10
  107. package/sdk/common/Logger.d.ts +2 -0
  108. package/sdk/common/Logger.js +6 -0
  109. package/sdk/common/curlHelper.d.ts +2 -0
  110. package/sdk/common/curlHelper.js +95 -0
  111. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +101 -0
  112. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +285 -0
  113. package/sdk/platform/Analytics/AnalyticsPlatformApplicationValidator.d.ts +11 -0
  114. package/sdk/platform/Analytics/AnalyticsPlatformApplicationValidator.js +56 -0
  115. package/sdk/platform/{client → Analytics}/AnalyticsPlatformClient.js +2 -2
  116. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +23 -0
  117. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +252 -0
  118. package/sdk/platform/{models/AnalyticsValidator.js → Analytics/AnalyticsPlatformValidator.js} +5 -4
  119. package/sdk/platform/{client → AuditTrail}/AuditTrailPlatformClient.js +2 -2
  120. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +18 -0
  121. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +144 -0
  122. package/sdk/platform/{models/AuditTrailValidator.js → AuditTrail/AuditTrailPlatformValidator.js} +3 -2
  123. package/sdk/platform/{client → Billing}/BillingPlatformClient.js +2 -2
  124. package/sdk/platform/Billing/BillingPlatformModel.d.ts +65 -0
  125. package/sdk/platform/Billing/BillingPlatformModel.js +906 -0
  126. package/sdk/platform/{models/BillingValidator.js → Billing/BillingPlatformValidator.js} +6 -5
  127. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +293 -0
  128. package/sdk/platform/Cart/CartPlatformApplicationClient.js +755 -0
  129. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +20 -0
  130. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +138 -0
  131. package/sdk/platform/Cart/CartPlatformModel.d.ts +104 -0
  132. package/sdk/platform/Cart/CartPlatformModel.js +1516 -0
  133. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +856 -0
  134. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +2136 -0
  135. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +56 -0
  136. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +389 -0
  137. package/sdk/platform/{client → Catalog}/CatalogPlatformClient.js +338 -338
  138. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +316 -0
  139. package/sdk/platform/Catalog/CatalogPlatformModel.js +4690 -0
  140. package/sdk/platform/{models/CatalogValidator.js → Catalog/CatalogPlatformValidator.js} +89 -88
  141. package/sdk/platform/{client → Common}/CommonPlatformClient.js +2 -2
  142. package/sdk/platform/Common/CommonPlatformModel.d.ts +20 -0
  143. package/sdk/platform/Common/CommonPlatformModel.js +228 -0
  144. package/sdk/{application/models/CommonValidator.js → platform/Common/CommonPlatformValidator.js} +2 -1
  145. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +611 -0
  146. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1656 -0
  147. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +43 -0
  148. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +277 -0
  149. package/sdk/platform/{client → Communication}/CommunicationPlatformClient.js +2 -2
  150. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +102 -0
  151. package/sdk/platform/Communication/CommunicationPlatformModel.js +1312 -0
  152. package/sdk/platform/{models/CommunicationValidator.js → Communication/CommunicationPlatformValidator.js} +2 -1
  153. package/sdk/platform/{client → CompanyProfile}/CompanyProfilePlatformClient.d.ts +0 -9
  154. package/sdk/platform/{client → CompanyProfile}/CompanyProfilePlatformClient.js +2 -33
  155. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +44 -0
  156. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +706 -0
  157. package/sdk/platform/{models/CompanyProfileValidator.d.ts → CompanyProfile/CompanyProfilePlatformValidator.d.ts} +0 -1
  158. package/sdk/platform/{models/CompanyProfileValidator.js → CompanyProfile/CompanyProfilePlatformValidator.js} +9 -14
  159. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +309 -0
  160. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +940 -0
  161. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +31 -0
  162. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +164 -0
  163. package/sdk/platform/{client → Configuration}/ConfigurationPlatformClient.js +2 -2
  164. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +185 -0
  165. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2072 -0
  166. package/sdk/platform/{models/ConfigurationValidator.js → Configuration/ConfigurationPlatformValidator.js} +9 -8
  167. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +781 -0
  168. package/sdk/platform/Content/ContentPlatformApplicationClient.js +2208 -0
  169. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +71 -0
  170. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +422 -0
  171. package/sdk/platform/Content/ContentPlatformModel.d.ts +105 -0
  172. package/sdk/platform/Content/ContentPlatformModel.js +1349 -0
  173. package/sdk/platform/{client → Discount}/DiscountPlatformClient.d.ts +11 -0
  174. package/sdk/platform/{client → Discount}/DiscountPlatformClient.js +35 -2
  175. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +15 -0
  176. package/sdk/platform/Discount/DiscountPlatformModel.js +176 -0
  177. package/sdk/platform/{models/DiscountValidator.d.ts → Discount/DiscountPlatformValidator.d.ts} +1 -0
  178. package/sdk/platform/{models/DiscountValidator.js → Discount/DiscountPlatformValidator.js} +13 -5
  179. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +114 -0
  180. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +247 -0
  181. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +7 -0
  182. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +38 -0
  183. package/sdk/platform/{client → FileStorage}/FileStoragePlatformClient.js +2 -2
  184. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +21 -0
  185. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +244 -0
  186. package/sdk/platform/{models/FileStorageValidator.js → FileStorage/FileStoragePlatformValidator.js} +6 -5
  187. package/sdk/platform/{client → Inventory}/InventoryPlatformClient.js +2 -2
  188. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +62 -0
  189. package/sdk/platform/Inventory/InventoryPlatformModel.js +1178 -0
  190. package/sdk/platform/{models/InventoryValidator.js → Inventory/InventoryPlatformValidator.js} +5 -4
  191. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +138 -0
  192. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +397 -0
  193. package/sdk/platform/Lead/LeadPlatformApplicationValidator.d.ts +16 -0
  194. package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +90 -0
  195. package/sdk/platform/{client → Lead}/LeadPlatformClient.js +2 -2
  196. package/sdk/platform/Lead/LeadPlatformModel.d.ts +55 -0
  197. package/sdk/platform/Lead/LeadPlatformModel.js +690 -0
  198. package/sdk/platform/{models/LeadValidator.js → Lead/LeadPlatformValidator.js} +7 -6
  199. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +59 -0
  200. package/sdk/platform/Order/OrderPlatformApplicationClient.js +152 -0
  201. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +6 -0
  202. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +37 -0
  203. package/sdk/platform/{client → Order}/OrderPlatformClient.d.ts +9 -49
  204. package/sdk/platform/{client → Order}/OrderPlatformClient.js +18 -130
  205. package/sdk/platform/Order/OrderPlatformModel.d.ts +215 -0
  206. package/sdk/platform/Order/OrderPlatformModel.js +3530 -0
  207. package/sdk/platform/{models/OrderValidator.d.ts → Order/OrderPlatformValidator.d.ts} +0 -2
  208. package/sdk/platform/{models/OrderValidator.js → Order/OrderPlatformValidator.js} +22 -44
  209. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +30 -0
  210. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +74 -0
  211. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.d.ts +5 -0
  212. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.js +20 -0
  213. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +7 -0
  214. package/sdk/platform/Partner/PartnerPlatformModel.js +54 -0
  215. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +108 -0
  216. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +333 -0
  217. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +14 -0
  218. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +73 -0
  219. package/sdk/platform/{client → Payment}/PaymentPlatformClient.js +2 -2
  220. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +44 -0
  221. package/sdk/platform/Payment/PaymentPlatformModel.js +552 -0
  222. package/sdk/platform/{models/PaymentValidator.js → Payment/PaymentPlatformValidator.js} +6 -5
  223. package/sdk/platform/PlatformAPIClient.js +2 -1
  224. package/sdk/platform/PlatformApplicationClient.d.ts +2979 -18615
  225. package/sdk/platform/PlatformApplicationClient.js +3811 -13957
  226. package/sdk/platform/PlatformClient.d.ts +2982 -3013
  227. package/sdk/platform/PlatformClient.js +3806 -3231
  228. package/sdk/platform/PlatformConfig.js +2 -1
  229. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +150 -0
  230. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +428 -0
  231. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +16 -0
  232. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +91 -0
  233. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +24 -0
  234. package/sdk/platform/Rewards/RewardsPlatformModel.js +294 -0
  235. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +72 -0
  236. package/sdk/platform/Share/SharePlatformApplicationClient.js +182 -0
  237. package/sdk/platform/Share/SharePlatformApplicationValidator.d.ts +7 -0
  238. package/sdk/platform/Share/SharePlatformApplicationValidator.js +35 -0
  239. package/sdk/platform/Share/SharePlatformModel.d.ts +15 -0
  240. package/sdk/platform/Share/SharePlatformModel.js +170 -0
  241. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +238 -0
  242. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +704 -0
  243. package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +27 -0
  244. package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +155 -0
  245. package/sdk/platform/Theme/ThemePlatformModel.d.ts +49 -0
  246. package/sdk/platform/Theme/ThemePlatformModel.js +486 -0
  247. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +121 -0
  248. package/sdk/platform/User/UserPlatformApplicationClient.js +361 -0
  249. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +15 -0
  250. package/sdk/platform/User/UserPlatformApplicationValidator.js +79 -0
  251. package/sdk/platform/User/UserPlatformModel.d.ts +95 -0
  252. package/sdk/platform/User/UserPlatformModel.js +998 -0
  253. package/sdk/platform/{client → Webhook}/WebhookPlatformClient.js +2 -2
  254. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +17 -0
  255. package/sdk/platform/Webhook/WebhookPlatformModel.js +208 -0
  256. package/sdk/platform/{models/WebhookValidator.js → Webhook/WebhookPlatformValidator.js} +4 -3
  257. package/sdk/platform/index.d.ts +24 -0
  258. package/sdk/platform/index.js +45 -0
  259. package/sdk/public/{client → Configuration}/ConfigurationPublicClient.js +1 -1
  260. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +20 -0
  261. package/sdk/public/Configuration/ConfigurationPublicModel.js +230 -0
  262. package/sdk/public/{models/ConfigurationValidator.js → Configuration/ConfigurationPublicValidator.js} +1 -1
  263. package/sdk/public/{client → Inventory}/InventoryPublicClient.js +1 -1
  264. package/sdk/public/Inventory/InventoryPublicModel.d.ts +22 -0
  265. package/sdk/public/Inventory/InventoryPublicModel.js +334 -0
  266. package/sdk/public/{models/InventoryValidator.js → Inventory/InventoryPublicValidator.js} +2 -2
  267. package/sdk/public/PublicClient.d.ts +3 -3
  268. package/sdk/public/PublicClient.js +8 -3
  269. package/sdk/public/{client → Webhook}/WebhookPublicClient.js +1 -1
  270. package/sdk/public/Webhook/WebhookPublicModel.d.ts +17 -0
  271. package/sdk/public/Webhook/WebhookPublicModel.js +208 -0
  272. package/sdk/public/{models/WebhookValidator.js → Webhook/WebhookPublicValidator.js} +2 -2
  273. package/sdk/public/index.d.ts +5 -0
  274. package/sdk/public/index.js +7 -0
  275. package/sdk/platform/PlatformApplicationModels.d.ts +0 -328
  276. package/sdk/platform/PlatformApplicationModels.js +0 -22658
  277. package/sdk/platform/PlatformModels.d.ts +0 -1477
  278. package/sdk/platform/PlatformModels.js +0 -20646
  279. package/sdk/platform/models/CartValidator.d.ts +0 -0
  280. package/sdk/platform/models/CartValidator.js +0 -0
  281. package/sdk/platform/models/ContentValidator.d.ts +0 -0
  282. package/sdk/platform/models/ContentValidator.js +0 -0
  283. package/sdk/platform/models/PartnerValidator.d.ts +0 -0
  284. package/sdk/platform/models/PartnerValidator.js +0 -0
  285. package/sdk/platform/models/RewardsValidator.d.ts +0 -0
  286. package/sdk/platform/models/RewardsValidator.js +0 -0
  287. package/sdk/platform/models/ShareValidator.d.ts +0 -0
  288. package/sdk/platform/models/ShareValidator.js +0 -0
  289. package/sdk/platform/models/ThemeValidator.d.ts +0 -0
  290. package/sdk/platform/models/ThemeValidator.js +0 -0
  291. package/sdk/platform/models/UserValidator.d.ts +0 -0
  292. package/sdk/platform/models/UserValidator.js +0 -0
  293. package/sdk/public/PublicModels.d.ts +0 -50
  294. package/sdk/public/PublicModels.js +0 -712
  295. package/sdk/application/{models/CartValidator.d.ts → Cart/CartApplicationValidator.d.ts} +0 -0
  296. package/sdk/application/{models/CatalogValidator.d.ts → Catalog/CatalogApplicationValidator.d.ts} +0 -0
  297. package/sdk/application/{client → Common}/CommonApplicationClient.d.ts +0 -0
  298. package/sdk/application/{models/CommonValidator.d.ts → Common/CommonApplicationValidator.d.ts} +0 -0
  299. package/sdk/application/{client → Communication}/CommunicationApplicationClient.d.ts +0 -0
  300. package/sdk/application/{models/CommunicationValidator.d.ts → Communication/CommunicationApplicationValidator.d.ts} +0 -0
  301. package/sdk/application/{client → Configuration}/ConfigurationApplicationClient.d.ts +0 -0
  302. package/sdk/application/{models/ConfigurationValidator.d.ts → Configuration/ConfigurationApplicationValidator.d.ts} +0 -0
  303. package/sdk/application/{client → Content}/ContentApplicationClient.d.ts +0 -0
  304. package/sdk/application/{models/ContentValidator.d.ts → Content/ContentApplicationValidator.d.ts} +0 -0
  305. package/sdk/application/{client → FileStorage}/FileStorageApplicationClient.d.ts +0 -0
  306. package/sdk/application/{models/FileStorageValidator.d.ts → FileStorage/FileStorageApplicationValidator.d.ts} +0 -0
  307. package/sdk/application/{client → Lead}/LeadApplicationClient.d.ts +0 -0
  308. package/sdk/application/{models/LeadValidator.d.ts → Lead/LeadApplicationValidator.d.ts} +0 -0
  309. package/sdk/application/{client → Logistic}/LogisticApplicationClient.d.ts +0 -0
  310. package/sdk/application/{models/LogisticValidator.d.ts → Logistic/LogisticApplicationValidator.d.ts} +0 -0
  311. package/sdk/application/{client → Order}/OrderApplicationClient.d.ts +0 -0
  312. package/sdk/application/{models/OrderValidator.d.ts → Order/OrderApplicationValidator.d.ts} +0 -0
  313. package/sdk/application/{client → Payment}/PaymentApplicationClient.d.ts +0 -0
  314. package/sdk/application/{models/PaymentValidator.d.ts → Payment/PaymentApplicationValidator.d.ts} +0 -0
  315. package/sdk/application/{models/PosCartValidator.d.ts → PosCart/PosCartApplicationValidator.d.ts} +0 -0
  316. package/sdk/application/{client → Rewards}/RewardsApplicationClient.d.ts +0 -0
  317. package/sdk/application/{models/RewardsValidator.d.ts → Rewards/RewardsApplicationValidator.d.ts} +0 -0
  318. package/sdk/application/{client → Share}/ShareApplicationClient.d.ts +0 -0
  319. package/sdk/application/{models/ShareValidator.d.ts → Share/ShareApplicationValidator.d.ts} +0 -0
  320. package/sdk/application/{client → Theme}/ThemeApplicationClient.d.ts +0 -0
  321. package/sdk/application/{models/ThemeValidator.d.ts → Theme/ThemeApplicationValidator.d.ts} +0 -0
  322. package/sdk/application/{client → User}/UserApplicationClient.d.ts +0 -0
  323. package/sdk/application/{models/UserValidator.d.ts → User/UserApplicationValidator.d.ts} +0 -0
  324. package/sdk/platform/{client → Analytics}/AnalyticsPlatformClient.d.ts +0 -0
  325. package/sdk/platform/{models/AnalyticsValidator.d.ts → Analytics/AnalyticsPlatformValidator.d.ts} +0 -0
  326. package/sdk/platform/{client → AuditTrail}/AuditTrailPlatformClient.d.ts +0 -0
  327. package/sdk/platform/{models/AuditTrailValidator.d.ts → AuditTrail/AuditTrailPlatformValidator.d.ts} +0 -0
  328. package/sdk/platform/{client → Billing}/BillingPlatformClient.d.ts +0 -0
  329. package/sdk/platform/{models/BillingValidator.d.ts → Billing/BillingPlatformValidator.d.ts} +0 -0
  330. package/sdk/platform/{client → Catalog}/CatalogPlatformClient.d.ts +126 -126
  331. package/sdk/platform/{models/CatalogValidator.d.ts → Catalog/CatalogPlatformValidator.d.ts} +15 -15
  332. /package/sdk/platform/{client → Common}/CommonPlatformClient.d.ts +0 -0
  333. /package/sdk/platform/{models/CommonValidator.d.ts → Common/CommonPlatformValidator.d.ts} +0 -0
  334. /package/sdk/platform/{client → Communication}/CommunicationPlatformClient.d.ts +0 -0
  335. /package/sdk/platform/{models/CommunicationValidator.d.ts → Communication/CommunicationPlatformValidator.d.ts} +0 -0
  336. /package/sdk/platform/{client → Configuration}/ConfigurationPlatformClient.d.ts +0 -0
  337. /package/sdk/platform/{models/ConfigurationValidator.d.ts → Configuration/ConfigurationPlatformValidator.d.ts} +0 -0
  338. /package/sdk/platform/{client → FileStorage}/FileStoragePlatformClient.d.ts +0 -0
  339. /package/sdk/platform/{models/FileStorageValidator.d.ts → FileStorage/FileStoragePlatformValidator.d.ts} +0 -0
  340. /package/sdk/platform/{client → Inventory}/InventoryPlatformClient.d.ts +0 -0
  341. /package/sdk/platform/{models/InventoryValidator.d.ts → Inventory/InventoryPlatformValidator.d.ts} +0 -0
  342. /package/sdk/platform/{client → Lead}/LeadPlatformClient.d.ts +0 -0
  343. /package/sdk/platform/{models/LeadValidator.d.ts → Lead/LeadPlatformValidator.d.ts} +0 -0
  344. /package/sdk/platform/{client → Payment}/PaymentPlatformClient.d.ts +0 -0
  345. /package/sdk/platform/{models/PaymentValidator.d.ts → Payment/PaymentPlatformValidator.d.ts} +0 -0
  346. /package/sdk/platform/{client → Webhook}/WebhookPlatformClient.d.ts +0 -0
  347. /package/sdk/platform/{models/WebhookValidator.d.ts → Webhook/WebhookPlatformValidator.d.ts} +0 -0
  348. /package/sdk/public/{client → Configuration}/ConfigurationPublicClient.d.ts +0 -0
  349. /package/sdk/public/{models/ConfigurationValidator.d.ts → Configuration/ConfigurationPublicValidator.d.ts} +0 -0
  350. /package/sdk/public/{client → Inventory}/InventoryPublicClient.d.ts +0 -0
  351. /package/sdk/public/{models/InventoryValidator.d.ts → Inventory/InventoryPublicValidator.d.ts} +0 -0
  352. /package/sdk/public/{client → Webhook}/WebhookPublicClient.d.ts +0 -0
  353. /package/sdk/public/{models/WebhookValidator.d.ts → Webhook/WebhookPublicValidator.d.ts} +0 -0
@@ -0,0 +1,4690 @@
1
+ const Joi = require("joi");
2
+
3
+ class CatalogModel {
4
+ static SearchKeywordResult() {
5
+ return Joi.object({
6
+ sort_on: Joi.string().allow("").required(),
7
+
8
+ query: Joi.any().required(),
9
+ });
10
+ }
11
+
12
+ static CreateSearchKeyword() {
13
+ return Joi.object({
14
+ app_id: Joi.string().allow(""),
15
+
16
+ _custom_json: Joi.any(),
17
+
18
+ result: CatalogModel.SearchKeywordResult().required(),
19
+
20
+ words: Joi.array().items(Joi.string().allow("")),
21
+
22
+ is_active: Joi.boolean(),
23
+ });
24
+ }
25
+
26
+ static GetSearchWordsData() {
27
+ return Joi.object({
28
+ app_id: Joi.string().allow(""),
29
+
30
+ _custom_json: Joi.any(),
31
+
32
+ result: Joi.any(),
33
+
34
+ words: Joi.array().items(Joi.string().allow("")),
35
+
36
+ is_active: Joi.boolean(),
37
+
38
+ uid: Joi.string().allow(""),
39
+ });
40
+ }
41
+
42
+ static ErrorResponse() {
43
+ return Joi.object({
44
+ error: Joi.string().allow(""),
45
+
46
+ code: Joi.string().allow(""),
47
+
48
+ message: Joi.string().allow(""),
49
+
50
+ meta: Joi.any(),
51
+
52
+ status: Joi.number(),
53
+ });
54
+ }
55
+
56
+ static Page() {
57
+ return Joi.object({
58
+ item_total: Joi.number(),
59
+
60
+ next_id: Joi.string().allow(""),
61
+
62
+ has_previous: Joi.boolean(),
63
+
64
+ has_next: Joi.boolean(),
65
+
66
+ current: Joi.number(),
67
+
68
+ type: Joi.string().allow("").required(),
69
+
70
+ size: Joi.number(),
71
+ });
72
+ }
73
+
74
+ static GetSearchWordsDetailResponse() {
75
+ return Joi.object({
76
+ page: CatalogModel.Page(),
77
+
78
+ items: CatalogModel.GetSearchWordsData(),
79
+ });
80
+ }
81
+
82
+ static DeleteResponse() {
83
+ return Joi.object({
84
+ message: Joi.string().allow(""),
85
+ });
86
+ }
87
+
88
+ static GetSearchWordsResponse() {
89
+ return Joi.object({
90
+ page: CatalogModel.Page(),
91
+
92
+ items: Joi.array().items(CatalogModel.GetSearchWordsData()),
93
+ });
94
+ }
95
+
96
+ static AutocompletePageAction() {
97
+ return Joi.object({
98
+ url: Joi.string().allow(""),
99
+
100
+ query: Joi.any(),
101
+
102
+ params: Joi.any(),
103
+
104
+ type: Joi.string().allow(""),
105
+ });
106
+ }
107
+
108
+ static AutocompleteAction() {
109
+ return Joi.object({
110
+ page: CatalogModel.AutocompletePageAction(),
111
+
112
+ type: Joi.string().allow(""),
113
+ });
114
+ }
115
+
116
+ static Media() {
117
+ return Joi.object({
118
+ url: Joi.string().allow(""),
119
+
120
+ aspect_ratio: Joi.string().allow(""),
121
+
122
+ type: Joi.string().allow(""),
123
+ });
124
+ }
125
+
126
+ static AutocompleteResult() {
127
+ return Joi.object({
128
+ action: CatalogModel.AutocompleteAction(),
129
+
130
+ _custom_json: Joi.any(),
131
+
132
+ display: Joi.string().allow(""),
133
+
134
+ logo: CatalogModel.Media(),
135
+ });
136
+ }
137
+
138
+ static CreateAutocompleteKeyword() {
139
+ return Joi.object({
140
+ app_id: Joi.string().allow(""),
141
+
142
+ _custom_json: Joi.any(),
143
+
144
+ words: Joi.array().items(Joi.string().allow("")),
145
+
146
+ results: Joi.array().items(CatalogModel.AutocompleteResult()),
147
+
148
+ is_active: Joi.boolean(),
149
+ });
150
+ }
151
+
152
+ static GetAutocompleteWordsData() {
153
+ return Joi.object({
154
+ app_id: Joi.string().allow(""),
155
+
156
+ _custom_json: Joi.any(),
157
+
158
+ words: Joi.array().items(Joi.string().allow("")),
159
+
160
+ results: Joi.array().items(Joi.any()),
161
+
162
+ uid: Joi.string().allow(""),
163
+ });
164
+ }
165
+
166
+ static GetAutocompleteWordsResponse() {
167
+ return Joi.object({
168
+ page: CatalogModel.Page(),
169
+
170
+ items: Joi.array().items(CatalogModel.GetAutocompleteWordsData()),
171
+ });
172
+ }
173
+
174
+ static CreateAutocompleteWordsResponse() {
175
+ return Joi.object({
176
+ words: Joi.array().items(Joi.string().allow("")),
177
+
178
+ results: Joi.array().items(Joi.any()),
179
+
180
+ app_id: Joi.string().allow(""),
181
+
182
+ _custom_json: Joi.any(),
183
+ });
184
+ }
185
+
186
+ static ProductBundleItem() {
187
+ return Joi.object({
188
+ auto_select: Joi.boolean(),
189
+
190
+ auto_add_to_cart: Joi.boolean(),
191
+
192
+ min_quantity: Joi.number().required(),
193
+
194
+ allow_remove: Joi.boolean(),
195
+
196
+ product_uid: Joi.number().required(),
197
+
198
+ max_quantity: Joi.number().required(),
199
+ });
200
+ }
201
+
202
+ static GetProductBundleCreateResponse() {
203
+ return Joi.object({
204
+ products: Joi.array().items(CatalogModel.ProductBundleItem()).required(),
205
+
206
+ same_store_assignment: Joi.boolean(),
207
+
208
+ company_id: Joi.number(),
209
+
210
+ slug: Joi.string().allow("").required(),
211
+
212
+ created_by: Joi.any(),
213
+
214
+ logo: Joi.string().allow("").allow(null),
215
+
216
+ created_on: Joi.string().allow(""),
217
+
218
+ page_visibility: Joi.array().items(Joi.string().allow("")),
219
+
220
+ choice: Joi.string().allow("").required(),
221
+
222
+ meta: Joi.any(),
223
+
224
+ is_active: Joi.boolean().required(),
225
+
226
+ name: Joi.string().allow("").required(),
227
+
228
+ modified_by: Joi.any(),
229
+
230
+ id: Joi.string().allow(""),
231
+
232
+ modified_on: Joi.string().allow(""),
233
+ });
234
+ }
235
+
236
+ static GetProductBundleListingResponse() {
237
+ return Joi.object({
238
+ page: CatalogModel.Page(),
239
+
240
+ items: Joi.array().items(CatalogModel.GetProductBundleCreateResponse()),
241
+ });
242
+ }
243
+
244
+ static ProductBundleRequest() {
245
+ return Joi.object({
246
+ products: Joi.array().items(CatalogModel.ProductBundleItem()).required(),
247
+
248
+ same_store_assignment: Joi.boolean(),
249
+
250
+ company_id: Joi.number(),
251
+
252
+ slug: Joi.string().allow("").required(),
253
+
254
+ created_by: Joi.any(),
255
+
256
+ logo: Joi.string().allow("").allow(null),
257
+
258
+ created_on: Joi.string().allow(""),
259
+
260
+ page_visibility: Joi.array().items(Joi.string().allow("")),
261
+
262
+ choice: Joi.string().allow("").required(),
263
+
264
+ meta: Joi.any(),
265
+
266
+ is_active: Joi.boolean().required(),
267
+
268
+ name: Joi.string().allow("").required(),
269
+
270
+ modified_by: Joi.any(),
271
+
272
+ modified_on: Joi.string().allow(""),
273
+ });
274
+ }
275
+
276
+ static ProductBundleUpdateRequest() {
277
+ return Joi.object({
278
+ products: Joi.array().items(CatalogModel.ProductBundleItem()).required(),
279
+
280
+ same_store_assignment: Joi.boolean(),
281
+
282
+ company_id: Joi.number(),
283
+
284
+ slug: Joi.string().allow("").required(),
285
+
286
+ logo: Joi.string().allow("").allow(null),
287
+
288
+ page_visibility: Joi.array().items(Joi.string().allow("")),
289
+
290
+ choice: Joi.string().allow("").required(),
291
+
292
+ meta: Joi.any(),
293
+
294
+ is_active: Joi.boolean().required(),
295
+
296
+ name: Joi.string().allow("").required(),
297
+
298
+ modified_by: Joi.any(),
299
+
300
+ modified_on: Joi.string().allow(""),
301
+ });
302
+ }
303
+
304
+ static LimitedProductData() {
305
+ return Joi.object({
306
+ short_description: Joi.string().allow(""),
307
+
308
+ attributes: Joi.any(),
309
+
310
+ name: Joi.string().allow(""),
311
+
312
+ sizes: Joi.array().items(Joi.string().allow("")),
313
+
314
+ slug: Joi.string().allow(""),
315
+
316
+ country_of_origin: Joi.string().allow(""),
317
+
318
+ quantity: Joi.number(),
319
+
320
+ identifier: Joi.any(),
321
+
322
+ item_code: Joi.string().allow(""),
323
+
324
+ uid: Joi.number(),
325
+
326
+ images: Joi.array().items(Joi.string().allow("")),
327
+
328
+ price: Joi.any(),
329
+ });
330
+ }
331
+
332
+ static Size() {
333
+ return Joi.object({
334
+ value: Joi.string().allow(""),
335
+
336
+ is_available: Joi.boolean(),
337
+
338
+ display: Joi.string().allow(""),
339
+
340
+ quantity: Joi.number(),
341
+ });
342
+ }
343
+
344
+ static Price() {
345
+ return Joi.object({
346
+ max_effective: Joi.number(),
347
+
348
+ min_effective: Joi.number(),
349
+
350
+ max_marked: Joi.number(),
351
+
352
+ currency: Joi.string().allow(""),
353
+
354
+ min_marked: Joi.number(),
355
+ });
356
+ }
357
+
358
+ static GetProducts() {
359
+ return Joi.object({
360
+ auto_select: Joi.boolean(),
361
+
362
+ product_uid: Joi.number(),
363
+
364
+ product_details: CatalogModel.LimitedProductData(),
365
+
366
+ sizes: Joi.array().items(CatalogModel.Size()),
367
+
368
+ price: CatalogModel.Price(),
369
+
370
+ min_quantity: Joi.number(),
371
+
372
+ allow_remove: Joi.boolean(),
373
+
374
+ auto_add_to_cart: Joi.boolean(),
375
+
376
+ max_quantity: Joi.number(),
377
+ });
378
+ }
379
+
380
+ static GetProductBundleResponse() {
381
+ return Joi.object({
382
+ products: Joi.array().items(CatalogModel.GetProducts()),
383
+
384
+ same_store_assignment: Joi.boolean(),
385
+
386
+ company_id: Joi.number(),
387
+
388
+ slug: Joi.string().allow(""),
389
+
390
+ logo: Joi.string().allow(""),
391
+
392
+ page_visibility: Joi.array().items(Joi.string().allow("")),
393
+
394
+ choice: Joi.string().allow(""),
395
+
396
+ meta: Joi.any(),
397
+
398
+ is_active: Joi.boolean(),
399
+
400
+ name: Joi.string().allow(""),
401
+ });
402
+ }
403
+
404
+ static ListSizeGuide() {
405
+ return Joi.object({
406
+ page: Joi.any(),
407
+
408
+ items: Joi.array().items(Joi.any()),
409
+ });
410
+ }
411
+
412
+ static Meta() {
413
+ return Joi.object({
414
+ unit: Joi.string().allow(""),
415
+
416
+ values: Joi.array().items(Joi.any()),
417
+
418
+ headers: Joi.any(),
419
+ });
420
+ }
421
+
422
+ static Guide() {
423
+ return Joi.object({
424
+ meta: CatalogModel.Meta(),
425
+ });
426
+ }
427
+
428
+ static ValidateSizeGuide() {
429
+ return Joi.object({
430
+ tag: Joi.string().allow(""),
431
+
432
+ guide: CatalogModel.Guide(),
433
+
434
+ brand_id: Joi.number(),
435
+
436
+ modified_on: Joi.string().allow(""),
437
+
438
+ company_id: Joi.number(),
439
+
440
+ created_by: Joi.any(),
441
+
442
+ created_on: Joi.string().allow(""),
443
+
444
+ title: Joi.string().allow("").required(),
445
+
446
+ subtitle: Joi.string().allow(""),
447
+
448
+ image: Joi.string().allow(""),
449
+
450
+ name: Joi.string().allow("").required(),
451
+
452
+ modified_by: Joi.any(),
453
+
454
+ description: Joi.string().allow(""),
455
+
456
+ id: Joi.string().allow(""),
457
+
458
+ active: Joi.boolean(),
459
+ });
460
+ }
461
+
462
+ static SuccessResponse() {
463
+ return Joi.object({
464
+ success: Joi.boolean(),
465
+ });
466
+ }
467
+
468
+ static SizeGuideResponse() {
469
+ return Joi.object({
470
+ tag: Joi.string().allow(""),
471
+
472
+ guide: Joi.any(),
473
+
474
+ brand_id: Joi.number(),
475
+
476
+ company_id: Joi.number(),
477
+
478
+ created_on: Joi.string().allow(""),
479
+
480
+ created_by: Joi.any(),
481
+
482
+ title: Joi.string().allow(""),
483
+
484
+ subtitle: Joi.string().allow(""),
485
+
486
+ name: Joi.string().allow(""),
487
+
488
+ modified_by: Joi.any(),
489
+
490
+ active: Joi.boolean(),
491
+
492
+ id: Joi.string().allow(""),
493
+
494
+ modified_on: Joi.string().allow(""),
495
+ });
496
+ }
497
+
498
+ static ApplicationItemMOQ() {
499
+ return Joi.object({
500
+ maximum: Joi.number(),
501
+
502
+ minimum: Joi.number(),
503
+
504
+ increment_unit: Joi.number(),
505
+ });
506
+ }
507
+
508
+ static MetaFields() {
509
+ return Joi.object({
510
+ value: Joi.any().required(),
511
+
512
+ key: Joi.any().required(),
513
+ });
514
+ }
515
+
516
+ static ApplicationItemSEO() {
517
+ return Joi.object({
518
+ title: Joi.any(),
519
+
520
+ description: Joi.any(),
521
+ });
522
+ }
523
+
524
+ static ApplicationItemMeta() {
525
+ return Joi.object({
526
+ moq: CatalogModel.ApplicationItemMOQ(),
527
+
528
+ _custom_json: Joi.any(),
529
+
530
+ _custom_meta: Joi.array().items(CatalogModel.MetaFields()),
531
+
532
+ is_cod: Joi.boolean(),
533
+
534
+ alt_text: Joi.any(),
535
+
536
+ is_gift: Joi.boolean(),
537
+
538
+ seo: CatalogModel.ApplicationItemSEO(),
539
+ });
540
+ }
541
+
542
+ static SuccessResponse1() {
543
+ return Joi.object({
544
+ success: Joi.boolean(),
545
+
546
+ uid: Joi.number(),
547
+ });
548
+ }
549
+
550
+ static MOQData() {
551
+ return Joi.object({
552
+ maximum: Joi.number(),
553
+
554
+ minimum: Joi.number(),
555
+
556
+ increment_unit: Joi.number(),
557
+ });
558
+ }
559
+
560
+ static SEOData() {
561
+ return Joi.object({
562
+ title: Joi.any(),
563
+
564
+ description: Joi.any(),
565
+ });
566
+ }
567
+
568
+ static OwnerAppItemResponse() {
569
+ return Joi.object({
570
+ moq: CatalogModel.MOQData(),
571
+
572
+ is_cod: Joi.boolean(),
573
+
574
+ alt_text: Joi.any(),
575
+
576
+ is_gift: Joi.boolean(),
577
+
578
+ seo: CatalogModel.SEOData(),
579
+ });
580
+ }
581
+
582
+ static GetConfigMetadataResponse() {
583
+ return Joi.object({
584
+ condition: Joi.array().items(Joi.any()),
585
+
586
+ data: Joi.array().items(Joi.any()).required(),
587
+
588
+ values: Joi.array().items(Joi.any()),
589
+ });
590
+ }
591
+
592
+ static PageResponseType() {
593
+ return Joi.object({
594
+ total_count: Joi.number().required(),
595
+
596
+ current: Joi.number().required(),
597
+
598
+ has_next: Joi.boolean().required(),
599
+
600
+ next: Joi.number().required(),
601
+ });
602
+ }
603
+
604
+ static GetConfigResponse() {
605
+ return Joi.object({
606
+ page: CatalogModel.PageResponseType().required(),
607
+
608
+ data: Joi.array().items(Joi.any()).required(),
609
+ });
610
+ }
611
+
612
+ static ConfigErrorResponse() {
613
+ return Joi.object({
614
+ message: Joi.string().allow("").required(),
615
+ });
616
+ }
617
+
618
+ static AttributeDetailsGroup() {
619
+ return Joi.object({
620
+ unit: Joi.string().allow(""),
621
+
622
+ display_type: Joi.string().allow("").required(),
623
+
624
+ slug: Joi.string().allow(""),
625
+
626
+ logo: Joi.string().allow(""),
627
+
628
+ key: Joi.string().allow(""),
629
+
630
+ is_active: Joi.boolean().required(),
631
+
632
+ name: Joi.string().allow("").required(),
633
+
634
+ priority: Joi.number().required(),
635
+ });
636
+ }
637
+
638
+ static AppConfigurationDetail() {
639
+ return Joi.object({
640
+ app_id: Joi.string().allow("").required(),
641
+
642
+ attributes: Joi.array().items(CatalogModel.AttributeDetailsGroup()),
643
+
644
+ template_slugs: Joi.array().items(Joi.string().allow("")),
645
+
646
+ slug: Joi.string().allow("").required(),
647
+
648
+ logo: Joi.string().allow(""),
649
+
650
+ is_active: Joi.boolean().required(),
651
+
652
+ is_default: Joi.boolean().required(),
653
+
654
+ name: Joi.string().allow(""),
655
+
656
+ priority: Joi.number().required(),
657
+ });
658
+ }
659
+
660
+ static ConfigSuccessResponse() {
661
+ return Joi.object({
662
+ message: Joi.string().allow("").required(),
663
+ });
664
+ }
665
+
666
+ static AppConfigurationsSort() {
667
+ return Joi.object({
668
+ app_id: Joi.string().allow("").required(),
669
+
670
+ logo: Joi.string().allow(""),
671
+
672
+ default_key: Joi.string().allow("").required(),
673
+
674
+ key: Joi.string().allow("").required(),
675
+
676
+ is_active: Joi.boolean().required(),
677
+
678
+ is_default: Joi.boolean().required(),
679
+
680
+ name: Joi.string().allow(""),
681
+
682
+ priority: Joi.number().required(),
683
+ });
684
+ }
685
+
686
+ static AllowSingleRequest() {
687
+ return Joi.object({
688
+ allow_single: Joi.boolean().required(),
689
+ });
690
+ }
691
+
692
+ static DefaultKeyRequest() {
693
+ return Joi.object({
694
+ default_key: Joi.string().allow("").required(),
695
+ });
696
+ }
697
+
698
+ static MetaDataListingSortMetaResponse() {
699
+ return Joi.object({
700
+ display: Joi.string().allow(""),
701
+
702
+ key: Joi.string().allow(""),
703
+ });
704
+ }
705
+
706
+ static MetaDataListingSortResponse() {
707
+ return Joi.object({
708
+ data: Joi.array().items(CatalogModel.MetaDataListingSortMetaResponse()),
709
+ });
710
+ }
711
+
712
+ static MetaDataListingFilterMetaResponse() {
713
+ return Joi.object({
714
+ display: Joi.string().allow(""),
715
+
716
+ key: Joi.string().allow(""),
717
+
718
+ units: Joi.array().items(Joi.any()),
719
+
720
+ filter_types: Joi.array().items(Joi.string().allow("")),
721
+ });
722
+ }
723
+
724
+ static MetaDataListingFilterResponse() {
725
+ return Joi.object({
726
+ data: Joi.array().items(CatalogModel.MetaDataListingFilterMetaResponse()),
727
+ });
728
+ }
729
+
730
+ static MetaDataListingResponse() {
731
+ return Joi.object({
732
+ sort: CatalogModel.MetaDataListingSortResponse().required(),
733
+
734
+ filter: CatalogModel.MetaDataListingFilterResponse().required(),
735
+ });
736
+ }
737
+
738
+ static GetCatalogConfigurationDetailsProduct() {
739
+ return Joi.object({
740
+ variant: Joi.any(),
741
+
742
+ compare: Joi.any(),
743
+
744
+ detail: Joi.any(),
745
+
746
+ similar: Joi.any(),
747
+ });
748
+ }
749
+
750
+ static GetCatalogConfigurationMetaData() {
751
+ return Joi.object({
752
+ listing: CatalogModel.MetaDataListingResponse(),
753
+
754
+ product: CatalogModel.GetCatalogConfigurationDetailsProduct(),
755
+ });
756
+ }
757
+
758
+ static ConfigurationListingSortConfig() {
759
+ return Joi.object({
760
+ logo: Joi.string().allow(""),
761
+
762
+ key: Joi.string().allow("").required(),
763
+
764
+ is_active: Joi.boolean().required(),
765
+
766
+ name: Joi.string().allow(""),
767
+
768
+ priority: Joi.number().required(),
769
+ });
770
+ }
771
+
772
+ static ConfigurationListingSort() {
773
+ return Joi.object({
774
+ config: Joi.array().items(CatalogModel.ConfigurationListingSortConfig()),
775
+
776
+ default_key: Joi.string().allow("").required(),
777
+ });
778
+ }
779
+
780
+ static ConfigurationBucketPoints() {
781
+ return Joi.object({
782
+ end: Joi.number(),
783
+
784
+ display: Joi.string().allow(""),
785
+
786
+ start: Joi.number(),
787
+ });
788
+ }
789
+
790
+ static ConfigurationListingFilterValue() {
791
+ return Joi.object({
792
+ value: Joi.string().allow(""),
793
+
794
+ bucket_points: Joi.array().items(
795
+ CatalogModel.ConfigurationBucketPoints()
796
+ ),
797
+
798
+ condition: Joi.string().allow(""),
799
+
800
+ map: Joi.any(),
801
+
802
+ sort: Joi.string().allow(""),
803
+
804
+ map_values: Joi.array().items(Joi.any()),
805
+ });
806
+ }
807
+
808
+ static ConfigurationListingFilterConfig() {
809
+ return Joi.object({
810
+ value_config: CatalogModel.ConfigurationListingFilterValue(),
811
+
812
+ logo: Joi.string().allow(""),
813
+
814
+ type: Joi.string().allow("").required(),
815
+
816
+ key: Joi.string().allow("").required(),
817
+
818
+ is_active: Joi.boolean().required(),
819
+
820
+ name: Joi.string().allow(""),
821
+
822
+ display_name: Joi.string().allow(""),
823
+
824
+ priority: Joi.number().required(),
825
+ });
826
+ }
827
+
828
+ static ConfigurationListingFilter() {
829
+ return Joi.object({
830
+ attribute_config: Joi.array().items(
831
+ CatalogModel.ConfigurationListingFilterConfig()
832
+ ),
833
+
834
+ allow_single: Joi.boolean().required(),
835
+ });
836
+ }
837
+
838
+ static ConfigurationListing() {
839
+ return Joi.object({
840
+ sort: CatalogModel.ConfigurationListingSort().required(),
841
+
842
+ filter: CatalogModel.ConfigurationListingFilter().required(),
843
+ });
844
+ }
845
+
846
+ static ProductSize() {
847
+ return Joi.object({
848
+ min: Joi.number().required(),
849
+
850
+ max: Joi.number().required(),
851
+ });
852
+ }
853
+
854
+ static ConfigurationProductVariantConfig() {
855
+ return Joi.object({
856
+ display_type: Joi.string().allow("").required(),
857
+
858
+ logo: Joi.string().allow(""),
859
+
860
+ key: Joi.string().allow("").required(),
861
+
862
+ is_active: Joi.boolean().required(),
863
+
864
+ size: CatalogModel.ProductSize().required(),
865
+
866
+ name: Joi.string().allow("").required(),
867
+
868
+ priority: Joi.number().required(),
869
+ });
870
+ }
871
+
872
+ static ConfigurationProductVariant() {
873
+ return Joi.object({
874
+ config: Joi.array().items(
875
+ CatalogModel.ConfigurationProductVariantConfig()
876
+ ),
877
+ });
878
+ }
879
+
880
+ static ConfigurationProductConfig() {
881
+ return Joi.object({
882
+ logo: Joi.string().allow(""),
883
+
884
+ title: Joi.string().allow(""),
885
+
886
+ key: Joi.string().allow("").required(),
887
+
888
+ is_active: Joi.boolean().required(),
889
+
890
+ subtitle: Joi.string().allow(""),
891
+
892
+ size: CatalogModel.ProductSize(),
893
+
894
+ priority: Joi.number().required(),
895
+ });
896
+ }
897
+
898
+ static ConfigurationProductSimilar() {
899
+ return Joi.object({
900
+ config: Joi.array().items(CatalogModel.ConfigurationProductConfig()),
901
+ });
902
+ }
903
+
904
+ static ConfigurationProduct() {
905
+ return Joi.object({
906
+ variant: CatalogModel.ConfigurationProductVariant().required(),
907
+
908
+ similar: CatalogModel.ConfigurationProductSimilar().required(),
909
+ });
910
+ }
911
+
912
+ static AppCatalogConfiguration() {
913
+ return Joi.object({
914
+ app_id: Joi.string().allow("").required(),
915
+
916
+ config_id: Joi.string().allow(""),
917
+
918
+ modified_on: Joi.string().allow(""),
919
+
920
+ listing: CatalogModel.ConfigurationListing(),
921
+
922
+ product: CatalogModel.ConfigurationProduct(),
923
+
924
+ created_by: Joi.any(),
925
+
926
+ type: Joi.string().allow(""),
927
+
928
+ modified_by: Joi.any(),
929
+
930
+ config_type: Joi.string().allow("").required(),
931
+
932
+ id: Joi.string().allow(""),
933
+
934
+ created_on: Joi.string().allow(""),
935
+ });
936
+ }
937
+
938
+ static GetAppCatalogConfiguration() {
939
+ return Joi.object({
940
+ data: CatalogModel.AppCatalogConfiguration(),
941
+
942
+ is_default: Joi.boolean(),
943
+ });
944
+ }
945
+
946
+ static AppConfiguration() {
947
+ return Joi.object({
948
+ app_id: Joi.string().allow("").required(),
949
+
950
+ config_id: Joi.string().allow(""),
951
+
952
+ modified_on: Joi.string().allow(""),
953
+
954
+ listing: CatalogModel.ConfigurationListing(),
955
+
956
+ product: CatalogModel.ConfigurationProduct(),
957
+
958
+ created_by: Joi.any(),
959
+
960
+ type: Joi.string().allow(""),
961
+
962
+ modified_by: Joi.any(),
963
+
964
+ config_type: Joi.string().allow("").required(),
965
+
966
+ created_on: Joi.string().allow(""),
967
+ });
968
+ }
969
+
970
+ static GetCatalogConfigurationDetailsSchemaListing() {
971
+ return Joi.object({
972
+ sort: Joi.any(),
973
+
974
+ filter: Joi.any(),
975
+ });
976
+ }
977
+
978
+ static EntityConfiguration() {
979
+ return Joi.object({
980
+ app_id: Joi.string().allow("").required(),
981
+
982
+ config_id: Joi.string().allow(""),
983
+
984
+ listing: CatalogModel.GetCatalogConfigurationDetailsSchemaListing(),
985
+
986
+ product: CatalogModel.GetCatalogConfigurationDetailsProduct(),
987
+
988
+ config_type: Joi.string().allow("").required(),
989
+
990
+ id: Joi.string().allow(""),
991
+ });
992
+ }
993
+
994
+ static GetAppCatalogEntityConfiguration() {
995
+ return Joi.object({
996
+ data: CatalogModel.EntityConfiguration(),
997
+
998
+ is_default: Joi.boolean(),
999
+ });
1000
+ }
1001
+
1002
+ static ProductSortOn() {
1003
+ return Joi.object({
1004
+ value: Joi.string().allow(""),
1005
+
1006
+ is_selected: Joi.boolean(),
1007
+
1008
+ name: Joi.string().allow(""),
1009
+ });
1010
+ }
1011
+
1012
+ static ProductFiltersValue() {
1013
+ return Joi.object({
1014
+ value: Joi.any().required(),
1015
+
1016
+ count: Joi.number(),
1017
+
1018
+ display_format: Joi.string().allow(""),
1019
+
1020
+ selected_max: Joi.number(),
1021
+
1022
+ currency_symbol: Joi.string().allow(""),
1023
+
1024
+ is_selected: Joi.boolean().required(),
1025
+
1026
+ currency_code: Joi.string().allow(""),
1027
+
1028
+ min: Joi.number(),
1029
+
1030
+ display: Joi.string().allow("").required(),
1031
+
1032
+ query_format: Joi.string().allow(""),
1033
+
1034
+ selected_min: Joi.number(),
1035
+
1036
+ max: Joi.number(),
1037
+ });
1038
+ }
1039
+
1040
+ static ProductFiltersKey() {
1041
+ return Joi.object({
1042
+ logo: Joi.string().allow(""),
1043
+
1044
+ operators: Joi.array().items(Joi.string().allow("")),
1045
+
1046
+ display: Joi.string().allow("").required(),
1047
+
1048
+ kind: Joi.string().allow(""),
1049
+
1050
+ name: Joi.string().allow("").required(),
1051
+ });
1052
+ }
1053
+
1054
+ static ProductFilters() {
1055
+ return Joi.object({
1056
+ values: Joi.array().items(CatalogModel.ProductFiltersValue()).required(),
1057
+
1058
+ key: CatalogModel.ProductFiltersKey().required(),
1059
+ });
1060
+ }
1061
+
1062
+ static GetCollectionQueryOptionResponse() {
1063
+ return Joi.object({
1064
+ sort_on: Joi.array().items(CatalogModel.ProductSortOn()),
1065
+
1066
+ filters: Joi.array().items(CatalogModel.ProductFilters()),
1067
+
1068
+ operators: Joi.object().pattern(/\S/, Joi.string().allow("")).required(),
1069
+ });
1070
+ }
1071
+
1072
+ static CollectionListingFilterTag() {
1073
+ return Joi.object({
1074
+ is_selected: Joi.boolean(),
1075
+
1076
+ display: Joi.string().allow(""),
1077
+
1078
+ name: Joi.string().allow(""),
1079
+ });
1080
+ }
1081
+
1082
+ static CollectionListingFilterType() {
1083
+ return Joi.object({
1084
+ is_selected: Joi.boolean(),
1085
+
1086
+ display: Joi.string().allow(""),
1087
+
1088
+ name: Joi.string().allow(""),
1089
+ });
1090
+ }
1091
+
1092
+ static CollectionListingFilter() {
1093
+ return Joi.object({
1094
+ tags: Joi.array().items(CatalogModel.CollectionListingFilterTag()),
1095
+
1096
+ type: Joi.array().items(CatalogModel.CollectionListingFilterType()),
1097
+ });
1098
+ }
1099
+
1100
+ static CollectionQuery() {
1101
+ return Joi.object({
1102
+ value: Joi.array().items(Joi.any()).required(),
1103
+
1104
+ op: Joi.string().allow("").required(),
1105
+
1106
+ attribute: Joi.string().allow("").required(),
1107
+ });
1108
+ }
1109
+
1110
+ static ActionPage() {
1111
+ return Joi.object({
1112
+ params: Joi.object().pattern(
1113
+ /\S/,
1114
+ Joi.array().items(Joi.string().allow(""))
1115
+ ),
1116
+
1117
+ query: Joi.object().pattern(
1118
+ /\S/,
1119
+ Joi.array().items(Joi.string().allow(""))
1120
+ ),
1121
+
1122
+ url: Joi.string().allow(""),
1123
+
1124
+ type: CatalogModel.PageType().required(),
1125
+ });
1126
+ }
1127
+
1128
+ static Action() {
1129
+ return Joi.object({
1130
+ page: CatalogModel.ActionPage(),
1131
+
1132
+ popup: CatalogModel.ActionPage(),
1133
+
1134
+ type: Joi.string().allow(""),
1135
+ });
1136
+ }
1137
+
1138
+ static BannerImage() {
1139
+ return Joi.object({
1140
+ aspect_ratio: Joi.string().allow(""),
1141
+
1142
+ type: Joi.string().allow(""),
1143
+
1144
+ url: Joi.string().allow(""),
1145
+ });
1146
+ }
1147
+
1148
+ static ImageUrls() {
1149
+ return Joi.object({
1150
+ landscape: CatalogModel.BannerImage(),
1151
+
1152
+ portrait: CatalogModel.BannerImage(),
1153
+ });
1154
+ }
1155
+
1156
+ static Media1() {
1157
+ return Joi.object({
1158
+ meta: Joi.any(),
1159
+
1160
+ type: Joi.string().allow(""),
1161
+
1162
+ url: Joi.string().allow("").required(),
1163
+ });
1164
+ }
1165
+
1166
+ static GetCollectionDetailNest() {
1167
+ return Joi.object({
1168
+ type: Joi.string().allow(""),
1169
+
1170
+ meta: Joi.any(),
1171
+
1172
+ priority: Joi.number(),
1173
+
1174
+ tag: Joi.array().items(Joi.string().allow("")),
1175
+
1176
+ app_id: Joi.string().allow(""),
1177
+
1178
+ _schedule: Joi.any(),
1179
+
1180
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1181
+
1182
+ name: Joi.string().allow(""),
1183
+
1184
+ action: CatalogModel.Action(),
1185
+
1186
+ cron: Joi.any(),
1187
+
1188
+ banners: CatalogModel.ImageUrls(),
1189
+
1190
+ badge: Joi.any(),
1191
+
1192
+ is_active: Joi.boolean(),
1193
+
1194
+ uid: Joi.string().allow(""),
1195
+
1196
+ description: Joi.string().allow(""),
1197
+
1198
+ allow_facets: Joi.boolean(),
1199
+
1200
+ slug: Joi.string().allow(""),
1201
+
1202
+ logo: CatalogModel.Media1(),
1203
+
1204
+ allow_sort: Joi.boolean(),
1205
+
1206
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1207
+ });
1208
+ }
1209
+
1210
+ static GetCollectionListingResponse() {
1211
+ return Joi.object({
1212
+ page: CatalogModel.Page(),
1213
+
1214
+ filters: CatalogModel.CollectionListingFilter(),
1215
+
1216
+ items: Joi.array().items(CatalogModel.GetCollectionDetailNest()),
1217
+ });
1218
+ }
1219
+
1220
+ static SeoDetail() {
1221
+ return Joi.object({
1222
+ title: Joi.string().allow(""),
1223
+
1224
+ description: Joi.string().allow(""),
1225
+ });
1226
+ }
1227
+
1228
+ static UserInfo() {
1229
+ return Joi.object({
1230
+ email: Joi.string().allow(""),
1231
+
1232
+ user_id: Joi.string().allow(""),
1233
+
1234
+ username: Joi.string().allow(""),
1235
+
1236
+ uid: Joi.string().allow(""),
1237
+ });
1238
+ }
1239
+
1240
+ static NextSchedule() {
1241
+ return Joi.object({
1242
+ end: Joi.string().allow("").allow(null),
1243
+
1244
+ start: Joi.string().allow(""),
1245
+ });
1246
+ }
1247
+
1248
+ static CollectionSchedule() {
1249
+ return Joi.object({
1250
+ end: Joi.string().allow("").allow(null),
1251
+
1252
+ cron: Joi.string().allow("").allow(null),
1253
+
1254
+ duration: Joi.number().allow(null),
1255
+
1256
+ next_schedule: Joi.array().items(CatalogModel.NextSchedule()),
1257
+
1258
+ start: Joi.string().allow(""),
1259
+ });
1260
+ }
1261
+
1262
+ static CollectionImage() {
1263
+ return Joi.object({
1264
+ aspect_ratio: Joi.string().allow("").required(),
1265
+
1266
+ url: Joi.string().allow("").required(),
1267
+ });
1268
+ }
1269
+
1270
+ static CollectionBanner() {
1271
+ return Joi.object({
1272
+ landscape: CatalogModel.CollectionImage().required(),
1273
+
1274
+ portrait: CatalogModel.CollectionImage().required(),
1275
+ });
1276
+ }
1277
+
1278
+ static CollectionBadge() {
1279
+ return Joi.object({
1280
+ color: Joi.string().allow(""),
1281
+
1282
+ text: Joi.string().allow(""),
1283
+ });
1284
+ }
1285
+
1286
+ static CreateCollection() {
1287
+ return Joi.object({
1288
+ _locale_language: Joi.any(),
1289
+
1290
+ type: Joi.string().allow("").required(),
1291
+
1292
+ meta: Joi.any(),
1293
+
1294
+ seo: CatalogModel.SeoDetail(),
1295
+
1296
+ tags: Joi.array().items(Joi.string().allow("")),
1297
+
1298
+ priority: Joi.number(),
1299
+
1300
+ app_id: Joi.string().allow("").required(),
1301
+
1302
+ sort_on: Joi.string().allow(""),
1303
+
1304
+ created_by: CatalogModel.UserInfo(),
1305
+
1306
+ _schedule: CatalogModel.CollectionSchedule(),
1307
+
1308
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1309
+
1310
+ published: Joi.boolean(),
1311
+
1312
+ name: Joi.string().allow("").required(),
1313
+
1314
+ modified_by: CatalogModel.UserInfo(),
1315
+
1316
+ is_visible: Joi.boolean(),
1317
+
1318
+ banners: CatalogModel.CollectionBanner().required(),
1319
+
1320
+ badge: CatalogModel.CollectionBadge(),
1321
+
1322
+ is_active: Joi.boolean(),
1323
+
1324
+ description: Joi.string().allow(""),
1325
+
1326
+ _custom_json: Joi.any(),
1327
+
1328
+ allow_facets: Joi.boolean(),
1329
+
1330
+ slug: Joi.string().allow("").required(),
1331
+
1332
+ logo: CatalogModel.CollectionImage().required(),
1333
+
1334
+ allow_sort: Joi.boolean(),
1335
+
1336
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1337
+ });
1338
+ }
1339
+
1340
+ static CollectionCreateResponse() {
1341
+ return Joi.object({
1342
+ type: Joi.string().allow(""),
1343
+
1344
+ meta: Joi.any(),
1345
+
1346
+ priority: Joi.number(),
1347
+
1348
+ tag: Joi.array().items(Joi.string().allow("")),
1349
+
1350
+ app_id: Joi.string().allow(""),
1351
+
1352
+ sort_on: Joi.string().allow(""),
1353
+
1354
+ _schedule: Joi.any(),
1355
+
1356
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1357
+
1358
+ name: Joi.string().allow(""),
1359
+
1360
+ cron: Joi.any(),
1361
+
1362
+ banners: CatalogModel.ImageUrls(),
1363
+
1364
+ badge: Joi.any(),
1365
+
1366
+ is_active: Joi.boolean(),
1367
+
1368
+ description: Joi.string().allow(""),
1369
+
1370
+ allow_facets: Joi.boolean(),
1371
+
1372
+ slug: Joi.string().allow(""),
1373
+
1374
+ logo: CatalogModel.BannerImage(),
1375
+
1376
+ allow_sort: Joi.boolean(),
1377
+
1378
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1379
+ });
1380
+ }
1381
+
1382
+ static CollectionDetailResponse() {
1383
+ return Joi.object({
1384
+ type: Joi.string().allow(""),
1385
+
1386
+ meta: Joi.any(),
1387
+
1388
+ priority: Joi.number(),
1389
+
1390
+ tag: Joi.array().items(Joi.string().allow("")),
1391
+
1392
+ app_id: Joi.string().allow(""),
1393
+
1394
+ _schedule: Joi.any(),
1395
+
1396
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1397
+
1398
+ name: Joi.string().allow(""),
1399
+
1400
+ cron: Joi.any(),
1401
+
1402
+ banners: CatalogModel.ImageUrls(),
1403
+
1404
+ badge: Joi.any(),
1405
+
1406
+ is_active: Joi.boolean(),
1407
+
1408
+ uid: Joi.string().allow(""),
1409
+
1410
+ description: Joi.string().allow(""),
1411
+
1412
+ allow_facets: Joi.boolean(),
1413
+
1414
+ slug: Joi.string().allow(""),
1415
+
1416
+ logo: CatalogModel.Media1(),
1417
+
1418
+ allow_sort: Joi.boolean(),
1419
+
1420
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1421
+ });
1422
+ }
1423
+
1424
+ static UpdateCollection() {
1425
+ return Joi.object({
1426
+ _locale_language: Joi.any(),
1427
+
1428
+ type: Joi.string().allow(""),
1429
+
1430
+ meta: Joi.any(),
1431
+
1432
+ seo: CatalogModel.SeoDetail(),
1433
+
1434
+ tags: Joi.array().items(Joi.string().allow("")),
1435
+
1436
+ priority: Joi.number(),
1437
+
1438
+ sort_on: Joi.string().allow(""),
1439
+
1440
+ _schedule: CatalogModel.CollectionSchedule(),
1441
+
1442
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1443
+
1444
+ published: Joi.boolean(),
1445
+
1446
+ name: Joi.string().allow(""),
1447
+
1448
+ modified_by: CatalogModel.UserInfo(),
1449
+
1450
+ is_visible: Joi.boolean(),
1451
+
1452
+ banners: CatalogModel.CollectionBanner(),
1453
+
1454
+ badge: CatalogModel.CollectionBadge(),
1455
+
1456
+ is_active: Joi.boolean(),
1457
+
1458
+ description: Joi.string().allow(""),
1459
+
1460
+ _custom_json: Joi.any(),
1461
+
1462
+ allow_facets: Joi.boolean(),
1463
+
1464
+ slug: Joi.string().allow(""),
1465
+
1466
+ logo: CatalogModel.CollectionImage(),
1467
+
1468
+ allow_sort: Joi.boolean(),
1469
+
1470
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1471
+ });
1472
+ }
1473
+
1474
+ static ProductDetailAttribute() {
1475
+ return Joi.object({
1476
+ value: Joi.string().allow(""),
1477
+
1478
+ key: Joi.string().allow(""),
1479
+
1480
+ type: Joi.string().allow(""),
1481
+ });
1482
+ }
1483
+
1484
+ static ProductDetailGroupedAttribute() {
1485
+ return Joi.object({
1486
+ title: Joi.string().allow(""),
1487
+
1488
+ details: Joi.array().items(CatalogModel.ProductDetailAttribute()),
1489
+ });
1490
+ }
1491
+
1492
+ static Price1() {
1493
+ return Joi.object({
1494
+ currency_code: Joi.string().allow(""),
1495
+
1496
+ min: Joi.number(),
1497
+
1498
+ currency_symbol: Joi.string().allow(""),
1499
+
1500
+ max: Joi.number(),
1501
+ });
1502
+ }
1503
+
1504
+ static ProductListingPrice() {
1505
+ return Joi.object({
1506
+ marked: CatalogModel.Price1(),
1507
+
1508
+ effective: CatalogModel.Price1(),
1509
+ });
1510
+ }
1511
+
1512
+ static ProductBrand() {
1513
+ return Joi.object({
1514
+ action: CatalogModel.Action(),
1515
+
1516
+ uid: Joi.number(),
1517
+
1518
+ logo: CatalogModel.Media1(),
1519
+
1520
+ name: Joi.string().allow(""),
1521
+ });
1522
+ }
1523
+
1524
+ static ProductListingDetail() {
1525
+ return Joi.object({
1526
+ grouped_attributes: Joi.array().items(
1527
+ CatalogModel.ProductDetailGroupedAttribute()
1528
+ ),
1529
+
1530
+ item_type: Joi.string().allow(""),
1531
+
1532
+ type: Joi.string().allow(""),
1533
+
1534
+ discount: Joi.string().allow(""),
1535
+
1536
+ rating: Joi.number(),
1537
+
1538
+ tryouts: Joi.array().items(Joi.string().allow("")),
1539
+
1540
+ medias: Joi.array().items(CatalogModel.Media1()),
1541
+
1542
+ similars: Joi.array().items(Joi.string().allow("")),
1543
+
1544
+ product_online_date: Joi.string().allow(""),
1545
+
1546
+ name: Joi.string().allow(""),
1547
+
1548
+ sellable: Joi.boolean(),
1549
+
1550
+ promo_meta: Joi.any(),
1551
+
1552
+ teaser_tag: Joi.any(),
1553
+
1554
+ uid: Joi.number(),
1555
+
1556
+ item_code: Joi.string().allow(""),
1557
+
1558
+ description: Joi.string().allow(""),
1559
+
1560
+ price: CatalogModel.ProductListingPrice(),
1561
+
1562
+ short_description: Joi.string().allow(""),
1563
+
1564
+ attributes: Joi.any(),
1565
+
1566
+ slug: Joi.string().allow("").required(),
1567
+
1568
+ brand: CatalogModel.ProductBrand(),
1569
+
1570
+ has_variant: Joi.boolean(),
1571
+
1572
+ image_nature: Joi.string().allow(""),
1573
+
1574
+ color: Joi.string().allow(""),
1575
+
1576
+ highlights: Joi.array().items(Joi.string().allow("")),
1577
+
1578
+ rating_count: Joi.number(),
1579
+ });
1580
+ }
1581
+
1582
+ static GetCollectionItemsResponse() {
1583
+ return Joi.object({
1584
+ page: CatalogModel.Page(),
1585
+
1586
+ filters: Joi.array().items(CatalogModel.ProductFilters()),
1587
+
1588
+ items: Joi.array().items(CatalogModel.ProductListingDetail()),
1589
+
1590
+ sort_on: Joi.array().items(CatalogModel.ProductSortOn()),
1591
+ });
1592
+ }
1593
+
1594
+ static ItemQueryForUserCollection() {
1595
+ return Joi.object({
1596
+ action: Joi.string().allow(""),
1597
+
1598
+ item_id: Joi.number(),
1599
+ });
1600
+ }
1601
+
1602
+ static CollectionItemRequest() {
1603
+ return Joi.object({
1604
+ item: Joi.array().items(CatalogModel.ItemQueryForUserCollection()),
1605
+
1606
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1607
+
1608
+ type: Joi.string().allow(""),
1609
+ });
1610
+ }
1611
+
1612
+ static UpdatedResponse() {
1613
+ return Joi.object({
1614
+ items_not_updated: Joi.array().items(Joi.number()),
1615
+
1616
+ message: Joi.string().allow(""),
1617
+ });
1618
+ }
1619
+
1620
+ static CatalogInsightItem() {
1621
+ return Joi.object({
1622
+ sellable_count: Joi.number(),
1623
+
1624
+ out_of_stock_count: Joi.number(),
1625
+
1626
+ count: Joi.number(),
1627
+ });
1628
+ }
1629
+
1630
+ static CatalogInsightBrand() {
1631
+ return Joi.object({
1632
+ total_sizes: Joi.number(),
1633
+
1634
+ article_freshness: Joi.number(),
1635
+
1636
+ name: Joi.string().allow(""),
1637
+
1638
+ total_articles: Joi.number(),
1639
+
1640
+ available_articles: Joi.number(),
1641
+
1642
+ available_sizes: Joi.number(),
1643
+ });
1644
+ }
1645
+
1646
+ static CatalogInsightResponse() {
1647
+ return Joi.object({
1648
+ item: CatalogModel.CatalogInsightItem(),
1649
+
1650
+ brand_distribution: CatalogModel.CatalogInsightBrand(),
1651
+ });
1652
+ }
1653
+
1654
+ static CrossSellingData() {
1655
+ return Joi.object({
1656
+ articles: Joi.number(),
1657
+
1658
+ products: Joi.number(),
1659
+ });
1660
+ }
1661
+
1662
+ static CrossSellingResponse() {
1663
+ return Joi.object({
1664
+ data: CatalogModel.CrossSellingData(),
1665
+
1666
+ brand_distribution: CatalogModel.CatalogInsightBrand(),
1667
+ });
1668
+ }
1669
+
1670
+ static OptInPostRequest() {
1671
+ return Joi.object({
1672
+ platform: Joi.string().allow(""),
1673
+
1674
+ store_ids: Joi.array().items(Joi.number()),
1675
+
1676
+ opt_level: Joi.string().allow("").required(),
1677
+
1678
+ company_id: Joi.number(),
1679
+
1680
+ brand_ids: Joi.array().items(Joi.number()),
1681
+
1682
+ enabled: Joi.boolean(),
1683
+ });
1684
+ }
1685
+
1686
+ static CompanyOptIn() {
1687
+ return Joi.object({
1688
+ platform: Joi.string().allow("").required(),
1689
+
1690
+ store_ids: Joi.array().items(Joi.number()).required(),
1691
+
1692
+ opt_level: Joi.string().allow("").required(),
1693
+
1694
+ company_id: Joi.number().required(),
1695
+
1696
+ brand_ids: Joi.array().items(Joi.number()).required(),
1697
+
1698
+ created_on: Joi.number().required(),
1699
+
1700
+ created_by: Joi.any(),
1701
+
1702
+ modified_by: Joi.any(),
1703
+
1704
+ enabled: Joi.boolean().required(),
1705
+
1706
+ modified_on: Joi.number().required(),
1707
+ });
1708
+ }
1709
+
1710
+ static GetOptInPlatform() {
1711
+ return Joi.object({
1712
+ page: CatalogModel.Page().required(),
1713
+
1714
+ items: Joi.array().items(CatalogModel.CompanyOptIn()).required(),
1715
+ });
1716
+ }
1717
+
1718
+ static OptinCompanyDetail() {
1719
+ return Joi.object({
1720
+ business_type: Joi.string().allow(""),
1721
+
1722
+ name: Joi.string().allow(""),
1723
+
1724
+ company_type: Joi.string().allow(""),
1725
+
1726
+ uid: Joi.number(),
1727
+ });
1728
+ }
1729
+
1730
+ static CompanyBrandDetail() {
1731
+ return Joi.object({
1732
+ company_id: Joi.number(),
1733
+
1734
+ total_article: Joi.number(),
1735
+
1736
+ brand_name: Joi.string().allow(""),
1737
+
1738
+ brand_id: Joi.number(),
1739
+ });
1740
+ }
1741
+
1742
+ static OptinCompanyBrandDetailsView() {
1743
+ return Joi.object({
1744
+ page: CatalogModel.Page(),
1745
+
1746
+ items: Joi.array().items(CatalogModel.CompanyBrandDetail()),
1747
+ });
1748
+ }
1749
+
1750
+ static OptinCompanyMetrics() {
1751
+ return Joi.object({
1752
+ company: Joi.string().allow(""),
1753
+
1754
+ store: Joi.number(),
1755
+
1756
+ brand: Joi.number(),
1757
+ });
1758
+ }
1759
+
1760
+ static StoreDetail() {
1761
+ return Joi.object({
1762
+ manager: Joi.any(),
1763
+
1764
+ store_type: Joi.string().allow(""),
1765
+
1766
+ modified_on: Joi.string().allow(""),
1767
+
1768
+ store_code: Joi.string().allow(""),
1769
+
1770
+ name: Joi.string().allow(""),
1771
+
1772
+ company_id: Joi.number(),
1773
+
1774
+ documents: Joi.array().items(Joi.any()),
1775
+
1776
+ additional_contacts: Joi.array().items(Joi.any()),
1777
+
1778
+ uid: Joi.number(),
1779
+
1780
+ address: Joi.any(),
1781
+
1782
+ display_name: Joi.string().allow(""),
1783
+
1784
+ timing: Joi.any(),
1785
+
1786
+ created_on: Joi.string().allow(""),
1787
+ });
1788
+ }
1789
+
1790
+ static OptinStoreDetails() {
1791
+ return Joi.object({
1792
+ page: CatalogModel.Page(),
1793
+
1794
+ items: Joi.array().items(CatalogModel.StoreDetail()),
1795
+ });
1796
+ }
1797
+
1798
+ static AttributeSchemaRange() {
1799
+ return Joi.object({
1800
+ min: Joi.number(),
1801
+
1802
+ max: Joi.number(),
1803
+ });
1804
+ }
1805
+
1806
+ static AttributeMaster() {
1807
+ return Joi.object({
1808
+ multi: Joi.boolean(),
1809
+
1810
+ type: Joi.string().allow("").required(),
1811
+
1812
+ format: Joi.string().allow(""),
1813
+
1814
+ range: CatalogModel.AttributeSchemaRange(),
1815
+
1816
+ mandatory: Joi.boolean(),
1817
+
1818
+ allowed_values: Joi.array().items(Joi.string().allow("")),
1819
+ });
1820
+ }
1821
+
1822
+ static AttributeMasterFilter() {
1823
+ return Joi.object({
1824
+ indexing: Joi.boolean().required(),
1825
+
1826
+ priority: Joi.number(),
1827
+
1828
+ depends_on: Joi.array().items(Joi.string().allow("")),
1829
+ });
1830
+ }
1831
+
1832
+ static AttributeMasterMandatoryDetails() {
1833
+ return Joi.object({
1834
+ l3_keys: Joi.array().items(Joi.string().allow("")),
1835
+ });
1836
+ }
1837
+
1838
+ static AttributeMasterMeta() {
1839
+ return Joi.object({
1840
+ enriched: Joi.boolean(),
1841
+
1842
+ mandatory_details: CatalogModel.AttributeMasterMandatoryDetails().required(),
1843
+ });
1844
+ }
1845
+
1846
+ static AttributeMasterDetails() {
1847
+ return Joi.object({
1848
+ display_type: Joi.string().allow("").required(),
1849
+ });
1850
+ }
1851
+
1852
+ static GenderDetail() {
1853
+ return Joi.object({
1854
+ is_nested: Joi.boolean(),
1855
+
1856
+ id: Joi.string().allow(""),
1857
+
1858
+ schema: CatalogModel.AttributeMaster(),
1859
+
1860
+ slug: Joi.string().allow(""),
1861
+
1862
+ logo: Joi.string().allow(""),
1863
+
1864
+ filters: CatalogModel.AttributeMasterFilter(),
1865
+
1866
+ meta: CatalogModel.AttributeMasterMeta(),
1867
+
1868
+ name: Joi.string().allow(""),
1869
+
1870
+ details: CatalogModel.AttributeMasterDetails(),
1871
+
1872
+ description: Joi.string().allow(""),
1873
+
1874
+ enabled_for_end_consumer: Joi.boolean(),
1875
+
1876
+ departments: Joi.array().items(Joi.string().allow("")),
1877
+ });
1878
+ }
1879
+
1880
+ static ProdcutTemplateCategoriesResponse() {
1881
+ return Joi.object({
1882
+ page: CatalogModel.Page(),
1883
+
1884
+ items: Joi.array().items(Joi.any()),
1885
+ });
1886
+ }
1887
+
1888
+ static PTErrorResponse() {
1889
+ return Joi.object({
1890
+ errors: Joi.any(),
1891
+
1892
+ code: Joi.string().allow(""),
1893
+
1894
+ message: Joi.string().allow(""),
1895
+
1896
+ meta: Joi.any(),
1897
+
1898
+ status: Joi.number(),
1899
+ });
1900
+ }
1901
+
1902
+ static UserSerializer() {
1903
+ return Joi.object({
1904
+ _id: Joi.string().allow(""),
1905
+
1906
+ contact: Joi.string().allow(""),
1907
+
1908
+ username: Joi.string().allow(""),
1909
+
1910
+ uid: Joi.string().allow(""),
1911
+
1912
+ user_id: Joi.string().allow(""),
1913
+ });
1914
+ }
1915
+
1916
+ static GetDepartment() {
1917
+ return Joi.object({
1918
+ modified_on: Joi.string().allow(""),
1919
+
1920
+ search: Joi.string().allow(""),
1921
+
1922
+ slug: Joi.string().allow(""),
1923
+
1924
+ priority_order: Joi.number(),
1925
+
1926
+ logo: Joi.string().allow(""),
1927
+
1928
+ created_on: Joi.string().allow(""),
1929
+
1930
+ created_by: CatalogModel.UserSerializer(),
1931
+
1932
+ item_type: Joi.string().allow(""),
1933
+
1934
+ is_active: Joi.boolean(),
1935
+
1936
+ page_no: Joi.number(),
1937
+
1938
+ name: Joi.string().allow(""),
1939
+
1940
+ modified_by: CatalogModel.UserSerializer(),
1941
+
1942
+ uid: Joi.number(),
1943
+
1944
+ page_size: Joi.number(),
1945
+
1946
+ synonyms: Joi.array().items(Joi.string().allow("")),
1947
+ });
1948
+ }
1949
+
1950
+ static DepartmentsResponse() {
1951
+ return Joi.object({
1952
+ page: CatalogModel.Page(),
1953
+
1954
+ items: Joi.array().items(CatalogModel.GetDepartment()),
1955
+ });
1956
+ }
1957
+
1958
+ static DepartmentErrorResponse() {
1959
+ return Joi.object({
1960
+ errors: Joi.any(),
1961
+
1962
+ code: Joi.string().allow(""),
1963
+
1964
+ message: Joi.string().allow(""),
1965
+
1966
+ meta: Joi.any(),
1967
+
1968
+ status: Joi.number(),
1969
+ });
1970
+ }
1971
+
1972
+ static DepartmentCreateUpdate() {
1973
+ return Joi.object({
1974
+ _custom_json: Joi.any(),
1975
+
1976
+ priority_order: Joi.number().required(),
1977
+
1978
+ slug: Joi.string().allow(""),
1979
+
1980
+ logo: Joi.string().allow("").required(),
1981
+
1982
+ is_active: Joi.boolean(),
1983
+
1984
+ name: Joi.string().allow("").required(),
1985
+
1986
+ platforms: Joi.any(),
1987
+
1988
+ uid: Joi.number(),
1989
+
1990
+ tags: Joi.array().items(Joi.string().allow("")),
1991
+
1992
+ _cls: Joi.string().allow(""),
1993
+
1994
+ synonyms: Joi.array().items(Joi.string().allow("")),
1995
+ });
1996
+ }
1997
+
1998
+ static DepartmentCreateResponse() {
1999
+ return Joi.object({
2000
+ message: Joi.string().allow("").required(),
2001
+
2002
+ uid: Joi.number().required(),
2003
+ });
2004
+ }
2005
+
2006
+ static DepartmentCreateErrorResponse() {
2007
+ return Joi.object({
2008
+ error: Joi.string().allow(""),
2009
+ });
2010
+ }
2011
+
2012
+ static UserDetail() {
2013
+ return Joi.object({
2014
+ contact: Joi.string().allow(""),
2015
+
2016
+ user_id: Joi.string().allow("").required(),
2017
+
2018
+ username: Joi.string().allow("").required(),
2019
+
2020
+ super_user: Joi.boolean(),
2021
+ });
2022
+ }
2023
+
2024
+ static DepartmentModel() {
2025
+ return Joi.object({
2026
+ verified_on: Joi.string().allow(""),
2027
+
2028
+ _cls: Joi.any(),
2029
+
2030
+ _custom_json: Joi.any(),
2031
+
2032
+ modified_on: Joi.string().allow("").required(),
2033
+
2034
+ name: Joi.any().required(),
2035
+
2036
+ _id: Joi.any(),
2037
+
2038
+ slug: Joi.any(),
2039
+
2040
+ created_by: CatalogModel.UserDetail(),
2041
+
2042
+ logo: Joi.string().allow("").required(),
2043
+
2044
+ priority_order: Joi.number().required(),
2045
+
2046
+ is_active: Joi.boolean(),
2047
+
2048
+ synonyms: Joi.array().items(Joi.any()),
2049
+
2050
+ uid: Joi.number(),
2051
+
2052
+ modified_by: CatalogModel.UserDetail(),
2053
+
2054
+ verified_by: CatalogModel.UserDetail(),
2055
+
2056
+ created_on: Joi.string().allow("").required(),
2057
+ });
2058
+ }
2059
+
2060
+ static ProductTemplate() {
2061
+ return Joi.object({
2062
+ tag: Joi.string().allow(""),
2063
+
2064
+ modified_on: Joi.string().allow(""),
2065
+
2066
+ attributes: Joi.array().items(Joi.string().allow("")),
2067
+
2068
+ is_archived: Joi.boolean(),
2069
+
2070
+ slug: Joi.string().allow("").required(),
2071
+
2072
+ created_by: Joi.any(),
2073
+
2074
+ logo: Joi.string().allow(""),
2075
+
2076
+ created_on: Joi.string().allow(""),
2077
+
2078
+ is_physical: Joi.boolean().required(),
2079
+
2080
+ is_active: Joi.boolean(),
2081
+
2082
+ modified_by: Joi.any(),
2083
+
2084
+ name: Joi.string().allow(""),
2085
+
2086
+ is_expirable: Joi.boolean().required(),
2087
+
2088
+ categories: Joi.array().items(Joi.string().allow("")),
2089
+
2090
+ description: Joi.string().allow(""),
2091
+
2092
+ departments: Joi.array().items(Joi.string().allow("")),
2093
+ });
2094
+ }
2095
+
2096
+ static TemplatesResponse() {
2097
+ return Joi.object({
2098
+ page: CatalogModel.Page(),
2099
+
2100
+ items: CatalogModel.ProductTemplate(),
2101
+ });
2102
+ }
2103
+
2104
+ static Properties() {
2105
+ return Joi.object({
2106
+ brand_uid: Joi.any(),
2107
+
2108
+ item_type: Joi.any(),
2109
+
2110
+ tags: Joi.any(),
2111
+
2112
+ multi_size: Joi.any(),
2113
+
2114
+ hsn_code: Joi.any(),
2115
+
2116
+ sizes: Joi.any(),
2117
+
2118
+ size_guide: Joi.any(),
2119
+
2120
+ trader_type: Joi.any(),
2121
+
2122
+ product_group_tag: Joi.any(),
2123
+
2124
+ currency: Joi.any(),
2125
+
2126
+ name: Joi.any(),
2127
+
2128
+ custom_order: Joi.any(),
2129
+
2130
+ product_publish: Joi.any(),
2131
+
2132
+ country_of_origin: Joi.any(),
2133
+
2134
+ media: Joi.any(),
2135
+
2136
+ teaser_tag: Joi.any(),
2137
+
2138
+ is_active: Joi.any(),
2139
+
2140
+ return_config: Joi.any(),
2141
+
2142
+ item_code: Joi.any(),
2143
+
2144
+ no_of_boxes: Joi.any(),
2145
+
2146
+ description: Joi.any(),
2147
+
2148
+ is_dependent: Joi.any(),
2149
+
2150
+ command: Joi.any(),
2151
+
2152
+ short_description: Joi.any(),
2153
+
2154
+ trader: Joi.any(),
2155
+
2156
+ slug: Joi.any(),
2157
+
2158
+ category_slug: Joi.any(),
2159
+
2160
+ highlights: Joi.any(),
2161
+
2162
+ variants: Joi.any(),
2163
+ });
2164
+ }
2165
+
2166
+ static GlobalValidation() {
2167
+ return Joi.object({
2168
+ required: Joi.array().items(Joi.string().allow("")),
2169
+
2170
+ type: Joi.string().allow(""),
2171
+
2172
+ title: Joi.string().allow(""),
2173
+
2174
+ definitions: Joi.any(),
2175
+
2176
+ description: Joi.string().allow(""),
2177
+
2178
+ properties: CatalogModel.Properties(),
2179
+ });
2180
+ }
2181
+
2182
+ static TemplateValidationData() {
2183
+ return Joi.object({
2184
+ template_validation: Joi.any(),
2185
+
2186
+ global_validation: CatalogModel.GlobalValidation(),
2187
+ });
2188
+ }
2189
+
2190
+ static TemplateDetails() {
2191
+ return Joi.object({
2192
+ tag: Joi.string().allow(""),
2193
+
2194
+ attributes: Joi.array().items(Joi.string().allow("")),
2195
+
2196
+ is_archived: Joi.boolean(),
2197
+
2198
+ slug: Joi.string().allow("").required(),
2199
+
2200
+ logo: Joi.string().allow(""),
2201
+
2202
+ is_physical: Joi.boolean().required(),
2203
+
2204
+ is_active: Joi.boolean(),
2205
+
2206
+ name: Joi.string().allow(""),
2207
+
2208
+ is_expirable: Joi.boolean().required(),
2209
+
2210
+ categories: Joi.array().items(Joi.string().allow("")),
2211
+
2212
+ description: Joi.string().allow(""),
2213
+
2214
+ id: Joi.string().allow(""),
2215
+
2216
+ departments: Joi.array().items(Joi.string().allow("")),
2217
+ });
2218
+ }
2219
+
2220
+ static TemplatesValidationResponse() {
2221
+ return Joi.object({
2222
+ data: CatalogModel.TemplateValidationData(),
2223
+
2224
+ template_details: CatalogModel.TemplateDetails(),
2225
+ });
2226
+ }
2227
+
2228
+ static InventoryValidationResponse() {
2229
+ return Joi.object({
2230
+ message: Joi.string().allow(""),
2231
+
2232
+ data: Joi.any(),
2233
+ });
2234
+ }
2235
+
2236
+ static HSNData() {
2237
+ return Joi.object({
2238
+ country_of_origin: Joi.array().items(Joi.string().allow("")),
2239
+
2240
+ hsn_code: Joi.array().items(Joi.string().allow("")),
2241
+ });
2242
+ }
2243
+
2244
+ static HSNCodesResponse() {
2245
+ return Joi.object({
2246
+ message: Joi.string().allow(""),
2247
+
2248
+ data: CatalogModel.HSNData(),
2249
+ });
2250
+ }
2251
+
2252
+ static ProductDownloadItemsData() {
2253
+ return Joi.object({
2254
+ templates: Joi.array().items(Joi.string().allow("")),
2255
+
2256
+ brand: Joi.array().items(Joi.string().allow("")),
2257
+
2258
+ type: Joi.string().allow(""),
2259
+ });
2260
+ }
2261
+
2262
+ static VerifiedBy() {
2263
+ return Joi.object({
2264
+ user_id: Joi.string().allow(""),
2265
+
2266
+ username: Joi.string().allow(""),
2267
+ });
2268
+ }
2269
+
2270
+ static ProductDownloadsItems() {
2271
+ return Joi.object({
2272
+ task_id: Joi.string().allow(""),
2273
+
2274
+ completed_on: Joi.string().allow(""),
2275
+
2276
+ seller_id: Joi.number(),
2277
+
2278
+ url: Joi.string().allow(""),
2279
+
2280
+ data: CatalogModel.ProductDownloadItemsData(),
2281
+
2282
+ created_by: CatalogModel.VerifiedBy(),
2283
+
2284
+ template_tags: Joi.any(),
2285
+
2286
+ status: Joi.string().allow(""),
2287
+
2288
+ id: Joi.string().allow(""),
2289
+
2290
+ trigger_on: Joi.string().allow(""),
2291
+ });
2292
+ }
2293
+
2294
+ static ProductDownloadsResponse() {
2295
+ return Joi.object({
2296
+ page: CatalogModel.Page(),
2297
+
2298
+ items: CatalogModel.ProductDownloadsItems(),
2299
+ });
2300
+ }
2301
+
2302
+ static ProductConfigurationDownloads() {
2303
+ return Joi.object({
2304
+ data: Joi.array().items(Joi.any()),
2305
+
2306
+ multivalue: Joi.boolean(),
2307
+ });
2308
+ }
2309
+
2310
+ static CategoryMappingValues() {
2311
+ return Joi.object({
2312
+ catalog_id: Joi.number(),
2313
+
2314
+ name: Joi.string().allow("").required(),
2315
+ });
2316
+ }
2317
+
2318
+ static CategoryMapping() {
2319
+ return Joi.object({
2320
+ ajio: CatalogModel.CategoryMappingValues(),
2321
+
2322
+ google: CatalogModel.CategoryMappingValues(),
2323
+
2324
+ facebook: CatalogModel.CategoryMappingValues(),
2325
+ });
2326
+ }
2327
+
2328
+ static Media2() {
2329
+ return Joi.object({
2330
+ landscape: Joi.string().allow("").required(),
2331
+
2332
+ logo: Joi.string().allow("").required(),
2333
+
2334
+ portrait: Joi.string().allow("").required(),
2335
+ });
2336
+ }
2337
+
2338
+ static Hierarchy() {
2339
+ return Joi.object({
2340
+ l2: Joi.number().required(),
2341
+
2342
+ l1: Joi.number().required(),
2343
+
2344
+ department: Joi.number().required(),
2345
+ });
2346
+ }
2347
+
2348
+ static Category() {
2349
+ return Joi.object({
2350
+ tryouts: Joi.array().items(Joi.string().allow("")),
2351
+
2352
+ marketplaces: CatalogModel.CategoryMapping(),
2353
+
2354
+ modified_on: Joi.string().allow(""),
2355
+
2356
+ slug: Joi.string().allow(""),
2357
+
2358
+ created_by: Joi.any(),
2359
+
2360
+ created_on: Joi.string().allow(""),
2361
+
2362
+ media: CatalogModel.Media2(),
2363
+
2364
+ is_active: Joi.boolean().required(),
2365
+
2366
+ name: Joi.string().allow("").required(),
2367
+
2368
+ modified_by: Joi.any(),
2369
+
2370
+ level: Joi.number().required(),
2371
+
2372
+ uid: Joi.number(),
2373
+
2374
+ departments: Joi.array().items(Joi.number()).required(),
2375
+
2376
+ priority: Joi.number(),
2377
+
2378
+ id: Joi.string().allow(""),
2379
+
2380
+ synonyms: Joi.array().items(Joi.string().allow("")),
2381
+
2382
+ hierarchy: Joi.array().items(CatalogModel.Hierarchy()),
2383
+ });
2384
+ }
2385
+
2386
+ static CategoryResponse() {
2387
+ return Joi.object({
2388
+ page: CatalogModel.Page(),
2389
+
2390
+ items: Joi.array().items(CatalogModel.Category()),
2391
+ });
2392
+ }
2393
+
2394
+ static CategoryRequestBody() {
2395
+ return Joi.object({
2396
+ tryouts: Joi.array().items(Joi.string().allow("")),
2397
+
2398
+ marketplaces: CatalogModel.CategoryMapping(),
2399
+
2400
+ slug: Joi.string().allow(""),
2401
+
2402
+ media: CatalogModel.Media2(),
2403
+
2404
+ is_active: Joi.boolean().required(),
2405
+
2406
+ name: Joi.string().allow("").required(),
2407
+
2408
+ level: Joi.number().required(),
2409
+
2410
+ departments: Joi.array().items(Joi.number()).required(),
2411
+
2412
+ priority: Joi.number(),
2413
+
2414
+ synonyms: Joi.array().items(Joi.string().allow("")),
2415
+
2416
+ hierarchy: Joi.array().items(CatalogModel.Hierarchy()),
2417
+ });
2418
+ }
2419
+
2420
+ static CategoryCreateResponse() {
2421
+ return Joi.object({
2422
+ message: Joi.string().allow(""),
2423
+
2424
+ uid: Joi.number(),
2425
+ });
2426
+ }
2427
+
2428
+ static CategoryUpdateResponse() {
2429
+ return Joi.object({
2430
+ message: Joi.string().allow(""),
2431
+
2432
+ success: Joi.boolean(),
2433
+ });
2434
+ }
2435
+
2436
+ static SingleCategoryResponse() {
2437
+ return Joi.object({
2438
+ data: CatalogModel.Category(),
2439
+ });
2440
+ }
2441
+
2442
+ static NetQuantityResponse() {
2443
+ return Joi.object({
2444
+ value: Joi.number(),
2445
+
2446
+ unit: Joi.string().allow(""),
2447
+ });
2448
+ }
2449
+
2450
+ static ProductPublished() {
2451
+ return Joi.object({
2452
+ is_set: Joi.boolean(),
2453
+
2454
+ product_online_date: Joi.number(),
2455
+ });
2456
+ }
2457
+
2458
+ static ReturnConfigResponse() {
2459
+ return Joi.object({
2460
+ unit: Joi.string().allow(""),
2461
+
2462
+ time: Joi.number(),
2463
+
2464
+ returnable: Joi.boolean(),
2465
+ });
2466
+ }
2467
+
2468
+ static Logo() {
2469
+ return Joi.object({
2470
+ url: Joi.string().allow(""),
2471
+
2472
+ aspect_ratio: Joi.string().allow(""),
2473
+
2474
+ secure_url: Joi.string().allow(""),
2475
+
2476
+ aspect_ratio_f: Joi.number(),
2477
+ });
2478
+ }
2479
+
2480
+ static Brand() {
2481
+ return Joi.object({
2482
+ uid: Joi.number(),
2483
+
2484
+ logo: CatalogModel.Logo(),
2485
+
2486
+ name: Joi.string().allow(""),
2487
+ });
2488
+ }
2489
+
2490
+ static Image() {
2491
+ return Joi.object({
2492
+ url: Joi.string().allow(""),
2493
+
2494
+ aspect_ratio: Joi.string().allow(""),
2495
+
2496
+ secure_url: Joi.string().allow(""),
2497
+
2498
+ aspect_ratio_f: Joi.number(),
2499
+ });
2500
+ }
2501
+
2502
+ static Product() {
2503
+ return Joi.object({
2504
+ moq: Joi.any(),
2505
+
2506
+ pending: Joi.string().allow(""),
2507
+
2508
+ category: Joi.any(),
2509
+
2510
+ brand_uid: Joi.number(),
2511
+
2512
+ item_type: Joi.string().allow(""),
2513
+
2514
+ variant_media: Joi.any(),
2515
+
2516
+ tags: Joi.array().items(Joi.string().allow("")),
2517
+
2518
+ multi_size: Joi.boolean(),
2519
+
2520
+ hsn_code: Joi.string().allow(""),
2521
+
2522
+ sizes: Joi.array().items(Joi.any()),
2523
+
2524
+ category_uid: Joi.number(),
2525
+
2526
+ size_guide: Joi.string().allow(""),
2527
+
2528
+ company_id: Joi.number(),
2529
+
2530
+ template_tag: Joi.string().allow(""),
2531
+
2532
+ created_by: Joi.any(),
2533
+
2534
+ product_group_tag: Joi.array().items(Joi.string().allow("")),
2535
+
2536
+ all_identifiers: Joi.array().items(Joi.string().allow("")),
2537
+
2538
+ currency: Joi.string().allow(""),
2539
+
2540
+ name: Joi.string().allow(""),
2541
+
2542
+ modified_by: Joi.any(),
2543
+
2544
+ custom_order: Joi.any(),
2545
+
2546
+ verified_by: CatalogModel.VerifiedBy(),
2547
+
2548
+ modified_on: Joi.string().allow(""),
2549
+
2550
+ created_on: Joi.string().allow(""),
2551
+
2552
+ is_image_less_product: Joi.boolean(),
2553
+
2554
+ verified_on: Joi.string().allow(""),
2555
+
2556
+ net_quantity: CatalogModel.NetQuantityResponse(),
2557
+
2558
+ product_publish: CatalogModel.ProductPublished(),
2559
+
2560
+ country_of_origin: Joi.string().allow(""),
2561
+
2562
+ all_sizes: Joi.array().items(Joi.any()),
2563
+
2564
+ all_company_ids: Joi.array().items(Joi.number()),
2565
+
2566
+ media: Joi.array().items(CatalogModel.Media1()),
2567
+
2568
+ teaser_tag: Joi.any(),
2569
+
2570
+ is_active: Joi.boolean(),
2571
+
2572
+ primary_color: Joi.string().allow(""),
2573
+
2574
+ return_config: CatalogModel.ReturnConfigResponse(),
2575
+
2576
+ item_code: Joi.string().allow(""),
2577
+
2578
+ uid: Joi.number(),
2579
+
2580
+ stage: Joi.string().allow(""),
2581
+
2582
+ no_of_boxes: Joi.number(),
2583
+
2584
+ departments: Joi.array().items(Joi.number()),
2585
+
2586
+ description: Joi.string().allow(""),
2587
+
2588
+ is_dependent: Joi.boolean(),
2589
+
2590
+ short_description: Joi.string().allow(""),
2591
+
2592
+ _custom_json: Joi.any(),
2593
+
2594
+ trader: Joi.array().items(Joi.any()),
2595
+
2596
+ attributes: Joi.any(),
2597
+
2598
+ slug: Joi.string().allow(""),
2599
+
2600
+ tax_identifier: Joi.any(),
2601
+
2602
+ l3_mapping: Joi.array().items(Joi.string().allow("")),
2603
+
2604
+ category_slug: Joi.string().allow(""),
2605
+
2606
+ brand: CatalogModel.Brand(),
2607
+
2608
+ is_set: Joi.boolean(),
2609
+
2610
+ is_physical: Joi.boolean(),
2611
+
2612
+ image_nature: Joi.string().allow(""),
2613
+
2614
+ variant_group: Joi.any(),
2615
+
2616
+ color: Joi.string().allow(""),
2617
+
2618
+ highlights: Joi.array().items(Joi.string().allow("")),
2619
+
2620
+ is_expirable: Joi.boolean(),
2621
+
2622
+ variants: Joi.any(),
2623
+
2624
+ images: Joi.array().items(CatalogModel.Image()),
2625
+
2626
+ id: Joi.string().allow(""),
2627
+ });
2628
+ }
2629
+
2630
+ static ProductListingResponse() {
2631
+ return Joi.object({
2632
+ page: CatalogModel.Page(),
2633
+
2634
+ items: Joi.array().items(CatalogModel.Product()),
2635
+ });
2636
+ }
2637
+
2638
+ static CustomOrder() {
2639
+ return Joi.object({
2640
+ is_custom_order: Joi.boolean(),
2641
+
2642
+ manufacturing_time: Joi.number(),
2643
+
2644
+ manufacturing_time_unit: Joi.string().allow(""),
2645
+ });
2646
+ }
2647
+
2648
+ static NetQuantity() {
2649
+ return Joi.object({
2650
+ value: Joi.number(),
2651
+
2652
+ unit: Joi.any(),
2653
+ });
2654
+ }
2655
+
2656
+ static ProductPublish() {
2657
+ return Joi.object({
2658
+ is_set: Joi.boolean(),
2659
+
2660
+ product_online_date: Joi.string().allow(""),
2661
+ });
2662
+ }
2663
+
2664
+ static TeaserTag() {
2665
+ return Joi.object({
2666
+ tag: Joi.string().allow("").allow(null),
2667
+
2668
+ url: Joi.string().allow("").allow(null),
2669
+ });
2670
+ }
2671
+
2672
+ static ReturnConfig() {
2673
+ return Joi.object({
2674
+ unit: Joi.string().allow("").required(),
2675
+
2676
+ time: Joi.number().required(),
2677
+
2678
+ returnable: Joi.boolean().required(),
2679
+ });
2680
+ }
2681
+
2682
+ static Trader() {
2683
+ return Joi.object({
2684
+ name: Joi.any().required(),
2685
+
2686
+ address: Joi.array().items(Joi.string().allow("")),
2687
+
2688
+ type: Joi.string().allow(""),
2689
+ });
2690
+ }
2691
+
2692
+ static TaxIdentifier() {
2693
+ return Joi.object({
2694
+ reporting_hsn: Joi.string().allow(""),
2695
+
2696
+ hsn_code_id: Joi.string().allow(""),
2697
+
2698
+ hsn_code: Joi.string().allow(""),
2699
+ });
2700
+ }
2701
+
2702
+ static ProductCreateUpdateSchemaV2() {
2703
+ return Joi.object({
2704
+ brand_uid: Joi.number().required(),
2705
+
2706
+ item_type: Joi.string().allow("").required(),
2707
+
2708
+ variant_media: Joi.any(),
2709
+
2710
+ tags: Joi.array().items(Joi.string().allow("")),
2711
+
2712
+ multi_size: Joi.boolean(),
2713
+
2714
+ size_guide: Joi.string().allow(""),
2715
+
2716
+ sizes: Joi.array().items(Joi.any()).required(),
2717
+
2718
+ company_id: Joi.number().required(),
2719
+
2720
+ template_tag: Joi.string().allow("").required(),
2721
+
2722
+ product_group_tag: Joi.array().items(Joi.string().allow("")),
2723
+
2724
+ bulk_job_id: Joi.string().allow(""),
2725
+
2726
+ currency: Joi.string().allow("").required(),
2727
+
2728
+ name: Joi.string().allow("").required(),
2729
+
2730
+ custom_order: CatalogModel.CustomOrder(),
2731
+
2732
+ action: Joi.string().allow(""),
2733
+
2734
+ is_image_less_product: Joi.boolean(),
2735
+
2736
+ net_quantity: CatalogModel.NetQuantity(),
2737
+
2738
+ product_publish: CatalogModel.ProductPublish(),
2739
+
2740
+ country_of_origin: Joi.string().allow("").required(),
2741
+
2742
+ media: Joi.array().items(CatalogModel.Media1()),
2743
+
2744
+ teaser_tag: CatalogModel.TeaserTag(),
2745
+
2746
+ is_active: Joi.boolean(),
2747
+
2748
+ return_config: CatalogModel.ReturnConfig().required(),
2749
+
2750
+ item_code: Joi.string().allow("").required(),
2751
+
2752
+ uid: Joi.number().allow(null),
2753
+
2754
+ no_of_boxes: Joi.number(),
2755
+
2756
+ departments: Joi.array().items(Joi.number()).required(),
2757
+
2758
+ description: Joi.string().allow(""),
2759
+
2760
+ is_dependent: Joi.boolean(),
2761
+
2762
+ short_description: Joi.string().allow(""),
2763
+
2764
+ _custom_json: Joi.any(),
2765
+
2766
+ trader: Joi.array().items(CatalogModel.Trader()).required(),
2767
+
2768
+ attributes: Joi.any(),
2769
+
2770
+ slug: Joi.string().allow("").required(),
2771
+
2772
+ tax_identifier: CatalogModel.TaxIdentifier().required(),
2773
+
2774
+ category_slug: Joi.string().allow("").required(),
2775
+
2776
+ is_set: Joi.boolean(),
2777
+
2778
+ variant_group: Joi.any(),
2779
+
2780
+ highlights: Joi.array().items(Joi.string().allow("").allow(null)),
2781
+
2782
+ requester: Joi.string().allow(""),
2783
+
2784
+ variants: Joi.any(),
2785
+
2786
+ change_request_id: Joi.any(),
2787
+ });
2788
+ }
2789
+
2790
+ static ProductVariants() {
2791
+ return Joi.object({
2792
+ name: Joi.string().allow(""),
2793
+
2794
+ category_uid: Joi.number(),
2795
+
2796
+ brand_uid: Joi.number(),
2797
+
2798
+ media: Joi.array().items(CatalogModel.Media1()),
2799
+
2800
+ item_code: Joi.string().allow(""),
2801
+
2802
+ uid: Joi.number(),
2803
+ });
2804
+ }
2805
+
2806
+ static ProductVariantsResponse() {
2807
+ return Joi.object({
2808
+ page: CatalogModel.Page(),
2809
+
2810
+ variants: Joi.array().items(CatalogModel.ProductVariants()),
2811
+ });
2812
+ }
2813
+
2814
+ static AttributeMasterSerializer() {
2815
+ return Joi.object({
2816
+ unit: Joi.string().allow(""),
2817
+
2818
+ raw_key: Joi.string().allow(""),
2819
+
2820
+ schema: CatalogModel.AttributeMaster().required(),
2821
+
2822
+ tags: Joi.array().items(Joi.string().allow("")),
2823
+
2824
+ enabled_for_end_consumer: Joi.boolean(),
2825
+
2826
+ is_nested: Joi.boolean(),
2827
+
2828
+ created_by: Joi.any(),
2829
+
2830
+ name: Joi.string().allow(""),
2831
+
2832
+ modified_by: Joi.any(),
2833
+
2834
+ variant: Joi.boolean(),
2835
+
2836
+ details: CatalogModel.AttributeMasterDetails().required(),
2837
+
2838
+ modified_on: Joi.string().allow(""),
2839
+
2840
+ created_on: Joi.string().allow(""),
2841
+
2842
+ suggestion: Joi.string().allow(""),
2843
+
2844
+ synonyms: Joi.any(),
2845
+
2846
+ departments: Joi.array().items(Joi.string().allow("")).required(),
2847
+
2848
+ description: Joi.string().allow(""),
2849
+
2850
+ slug: Joi.string().allow("").required(),
2851
+
2852
+ logo: Joi.string().allow(""),
2853
+
2854
+ filters: CatalogModel.AttributeMasterFilter().required(),
2855
+ });
2856
+ }
2857
+
2858
+ static ProductAttributesResponse() {
2859
+ return Joi.object({
2860
+ items: Joi.array()
2861
+ .items(CatalogModel.AttributeMasterSerializer())
2862
+ .required(),
2863
+ });
2864
+ }
2865
+
2866
+ static SingleProductResponse() {
2867
+ return Joi.object({
2868
+ data: CatalogModel.Product(),
2869
+ });
2870
+ }
2871
+
2872
+ static ValidateIdentifier() {
2873
+ return Joi.object({
2874
+ gtin_value: Joi.string().allow("").required(),
2875
+
2876
+ gtin_type: Joi.string().allow("").required(),
2877
+
2878
+ primary: Joi.boolean(),
2879
+ });
2880
+ }
2881
+
2882
+ static AllSizes() {
2883
+ return Joi.object({
2884
+ item_weight_unit_of_measure: Joi.any().required(),
2885
+
2886
+ item_width: Joi.number().required(),
2887
+
2888
+ identifiers: Joi.array().items(CatalogModel.ValidateIdentifier()),
2889
+
2890
+ item_weight: Joi.number().required(),
2891
+
2892
+ item_length: Joi.number().required(),
2893
+
2894
+ item_dimensions_unit_of_measure: Joi.string().allow("").required(),
2895
+
2896
+ size: Joi.any().required(),
2897
+
2898
+ item_height: Joi.number().required(),
2899
+ });
2900
+ }
2901
+
2902
+ static GetAllSizes() {
2903
+ return Joi.object({
2904
+ all_sizes: Joi.array().items(CatalogModel.AllSizes()),
2905
+ });
2906
+ }
2907
+
2908
+ static ValidateProduct() {
2909
+ return Joi.object({
2910
+ valid: Joi.boolean(),
2911
+ });
2912
+ }
2913
+
2914
+ static UserDetail1() {
2915
+ return Joi.object({
2916
+ full_name: Joi.string().allow(""),
2917
+
2918
+ user_id: Joi.string().allow(""),
2919
+
2920
+ username: Joi.string().allow(""),
2921
+ });
2922
+ }
2923
+
2924
+ static ProductBulkRequest() {
2925
+ return Joi.object({
2926
+ cancelled: Joi.number(),
2927
+
2928
+ company_id: Joi.number(),
2929
+
2930
+ template_tag: Joi.string().allow(""),
2931
+
2932
+ failed_records: Joi.array().items(Joi.string().allow("")),
2933
+
2934
+ created_on: Joi.string().allow(""),
2935
+
2936
+ created_by: CatalogModel.UserDetail1(),
2937
+
2938
+ cancelled_records: Joi.array().items(Joi.string().allow("")),
2939
+
2940
+ succeed: Joi.number(),
2941
+
2942
+ stage: Joi.string().allow(""),
2943
+
2944
+ is_active: Joi.boolean(),
2945
+
2946
+ file_path: Joi.string().allow(""),
2947
+
2948
+ modified_by: CatalogModel.UserDetail1(),
2949
+
2950
+ template: CatalogModel.ProductTemplate(),
2951
+
2952
+ total: Joi.number(),
2953
+
2954
+ modified_on: Joi.string().allow(""),
2955
+
2956
+ failed: Joi.number(),
2957
+ });
2958
+ }
2959
+
2960
+ static ProductBulkRequestList() {
2961
+ return Joi.object({
2962
+ page: CatalogModel.Page(),
2963
+
2964
+ items: CatalogModel.ProductBulkRequest(),
2965
+ });
2966
+ }
2967
+
2968
+ static UserInfo1() {
2969
+ return Joi.object({
2970
+ email: Joi.string().allow(""),
2971
+
2972
+ user_id: Joi.string().allow(""),
2973
+
2974
+ username: Joi.string().allow(""),
2975
+
2976
+ uid: Joi.string().allow(""),
2977
+ });
2978
+ }
2979
+
2980
+ static BulkJob() {
2981
+ return Joi.object({
2982
+ tracking_url: Joi.string().allow(""),
2983
+
2984
+ cancelled: Joi.number(),
2985
+
2986
+ company_id: Joi.number().required(),
2987
+
2988
+ failed_records: Joi.array().items(Joi.any()),
2989
+
2990
+ template_tag: Joi.string().allow(""),
2991
+
2992
+ created_on: Joi.string().allow("").required(),
2993
+
2994
+ created_by: CatalogModel.UserInfo1(),
2995
+
2996
+ total: Joi.number(),
2997
+
2998
+ succeed: Joi.number(),
2999
+
3000
+ cancelled_records: Joi.array().items(Joi.any()),
3001
+
3002
+ custom_template_tag: Joi.string().allow(""),
3003
+
3004
+ stage: Joi.string().allow(""),
3005
+
3006
+ is_active: Joi.boolean(),
3007
+
3008
+ file_path: Joi.string().allow(""),
3009
+
3010
+ modified_by: CatalogModel.UserInfo1(),
3011
+
3012
+ modified_on: Joi.string().allow(""),
3013
+
3014
+ failed: Joi.number(),
3015
+ });
3016
+ }
3017
+
3018
+ static BulkResponse() {
3019
+ return Joi.object({
3020
+ batch_id: Joi.string().allow("").required(),
3021
+
3022
+ created_on: Joi.string().allow("").required(),
3023
+
3024
+ created_by: CatalogModel.UserInfo1(),
3025
+
3026
+ is_active: Joi.boolean(),
3027
+
3028
+ modified_by: CatalogModel.UserInfo1(),
3029
+
3030
+ modified_on: Joi.string().allow(""),
3031
+ });
3032
+ }
3033
+
3034
+ static BulkProductRequest() {
3035
+ return Joi.object({
3036
+ batch_id: Joi.string().allow("").required(),
3037
+
3038
+ company_id: Joi.number().required(),
3039
+
3040
+ template_tag: Joi.string().allow("").required(),
3041
+
3042
+ data: Joi.array().items(Joi.any()).required(),
3043
+ });
3044
+ }
3045
+
3046
+ static NestedTags() {
3047
+ return Joi.object({
3048
+ tags: Joi.array().items(Joi.string().allow("")),
3049
+ });
3050
+ }
3051
+
3052
+ static ProductTagsViewResponse() {
3053
+ return Joi.object({
3054
+ items: CatalogModel.NestedTags(),
3055
+ });
3056
+ }
3057
+
3058
+ static UserCommon() {
3059
+ return Joi.object({
3060
+ company_id: Joi.number(),
3061
+
3062
+ user_id: Joi.string().allow(""),
3063
+
3064
+ username: Joi.string().allow(""),
3065
+ });
3066
+ }
3067
+
3068
+ static Items() {
3069
+ return Joi.object({
3070
+ tracking_url: Joi.string().allow(""),
3071
+
3072
+ cancelled: Joi.number(),
3073
+
3074
+ company_id: Joi.number(),
3075
+
3076
+ failed_records: Joi.array().items(Joi.string().allow("")),
3077
+
3078
+ created_by: CatalogModel.UserCommon(),
3079
+
3080
+ created_on: Joi.string().allow(""),
3081
+
3082
+ total: Joi.number(),
3083
+
3084
+ succeed: Joi.number(),
3085
+
3086
+ cancelled_records: Joi.array().items(Joi.string().allow("")),
3087
+
3088
+ retry: Joi.number(),
3089
+
3090
+ stage: Joi.string().allow(""),
3091
+
3092
+ is_active: Joi.boolean(),
3093
+
3094
+ file_path: Joi.string().allow(""),
3095
+
3096
+ modified_by: CatalogModel.UserCommon(),
3097
+
3098
+ id: Joi.string().allow(""),
3099
+
3100
+ modified_on: Joi.string().allow(""),
3101
+
3102
+ failed: Joi.number(),
3103
+ });
3104
+ }
3105
+
3106
+ static BulkAssetResponse() {
3107
+ return Joi.object({
3108
+ page: CatalogModel.Page(),
3109
+
3110
+ items: Joi.array().items(CatalogModel.Items()),
3111
+ });
3112
+ }
3113
+
3114
+ static ProductBulkAssets() {
3115
+ return Joi.object({
3116
+ company_id: Joi.number(),
3117
+
3118
+ user: Joi.any().required(),
3119
+
3120
+ url: Joi.string().allow("").required(),
3121
+ });
3122
+ }
3123
+
3124
+ static ProductSizeDeleteDataResponse() {
3125
+ return Joi.object({
3126
+ company_id: Joi.number(),
3127
+
3128
+ item_id: Joi.number(),
3129
+
3130
+ size: Joi.string().allow(""),
3131
+ });
3132
+ }
3133
+
3134
+ static ProductSizeDeleteResponse() {
3135
+ return Joi.object({
3136
+ data: CatalogModel.ProductSizeDeleteDataResponse(),
3137
+
3138
+ success: Joi.boolean(),
3139
+ });
3140
+ }
3141
+
3142
+ static InventoryResponse() {
3143
+ return Joi.object({
3144
+ price_effective: Joi.number(),
3145
+
3146
+ price_transfer: Joi.number(),
3147
+
3148
+ identifiers: Joi.any(),
3149
+
3150
+ inventory_updated_on: Joi.string().allow(""),
3151
+
3152
+ item_id: Joi.number(),
3153
+
3154
+ quantity: Joi.number(),
3155
+
3156
+ seller_identifier: Joi.string().allow(""),
3157
+
3158
+ currency: Joi.string().allow(""),
3159
+
3160
+ store: Joi.any(),
3161
+
3162
+ size: Joi.string().allow(""),
3163
+
3164
+ sellable_quantity: Joi.number(),
3165
+
3166
+ uid: Joi.string().allow(""),
3167
+
3168
+ price: Joi.number(),
3169
+ });
3170
+ }
3171
+
3172
+ static InventoryResponsePaginated() {
3173
+ return Joi.object({
3174
+ page: CatalogModel.Page(),
3175
+
3176
+ items: Joi.array().items(CatalogModel.InventoryResponse()),
3177
+ });
3178
+ }
3179
+
3180
+ static ItemQuery() {
3181
+ return Joi.object({
3182
+ brand_uid: Joi.number(),
3183
+
3184
+ item_code: Joi.string().allow(""),
3185
+
3186
+ uid: Joi.number(),
3187
+ });
3188
+ }
3189
+
3190
+ static GTIN() {
3191
+ return Joi.object({
3192
+ gtin_value: Joi.any().required(),
3193
+
3194
+ gtin_type: Joi.string().allow("").required(),
3195
+
3196
+ primary: Joi.boolean(),
3197
+ });
3198
+ }
3199
+
3200
+ static SetSize() {
3201
+ return Joi.object({
3202
+ pieces: Joi.number().required(),
3203
+
3204
+ size: Joi.string().allow("").required(),
3205
+ });
3206
+ }
3207
+
3208
+ static SizeDistribution() {
3209
+ return Joi.object({
3210
+ sizes: Joi.array().items(CatalogModel.SetSize()).required(),
3211
+ });
3212
+ }
3213
+
3214
+ static InventorySet() {
3215
+ return Joi.object({
3216
+ name: Joi.string().allow(""),
3217
+
3218
+ size_distribution: CatalogModel.SizeDistribution().required(),
3219
+
3220
+ quantity: Joi.number(),
3221
+ });
3222
+ }
3223
+
3224
+ static InvSize() {
3225
+ return Joi.object({
3226
+ price_effective: Joi.number().required(),
3227
+
3228
+ item_weight_unit_of_measure: Joi.string().allow("").allow(null),
3229
+
3230
+ price_transfer: Joi.number().allow(null),
3231
+
3232
+ item_width: Joi.number().allow(null),
3233
+
3234
+ identifiers: Joi.array().items(CatalogModel.GTIN()).required(),
3235
+
3236
+ store_code: Joi.string().allow("").required(),
3237
+
3238
+ item_weight: Joi.number().allow(null),
3239
+
3240
+ expiration_date: Joi.string().allow(""),
3241
+
3242
+ set: CatalogModel.InventorySet(),
3243
+
3244
+ is_set: Joi.boolean(),
3245
+
3246
+ item_length: Joi.number().allow(null),
3247
+
3248
+ item_dimensions_unit_of_measure: Joi.string().allow("").allow(null),
3249
+
3250
+ quantity: Joi.number().required(),
3251
+
3252
+ currency: Joi.string().allow("").required(),
3253
+
3254
+ size: Joi.any().required(),
3255
+
3256
+ item_height: Joi.number().allow(null),
3257
+
3258
+ price: Joi.number(),
3259
+ });
3260
+ }
3261
+
3262
+ static InventoryRequest() {
3263
+ return Joi.object({
3264
+ item: CatalogModel.ItemQuery().required(),
3265
+
3266
+ company_id: Joi.number().required(),
3267
+
3268
+ sizes: Joi.array().items(CatalogModel.InvSize()).required(),
3269
+ });
3270
+ }
3271
+
3272
+ static ManufacturerResponse() {
3273
+ return Joi.object({
3274
+ address: Joi.string().allow("").required(),
3275
+
3276
+ is_default: Joi.boolean().required(),
3277
+
3278
+ name: Joi.string().allow("").required(),
3279
+ });
3280
+ }
3281
+
3282
+ static WeightResponse() {
3283
+ return Joi.object({
3284
+ unit: Joi.string().allow("").required(),
3285
+
3286
+ is_default: Joi.boolean().required(),
3287
+
3288
+ shipping: Joi.number().required(),
3289
+ });
3290
+ }
3291
+
3292
+ static DimensionResponse() {
3293
+ return Joi.object({
3294
+ unit: Joi.string().allow("").required(),
3295
+
3296
+ width: Joi.number().required(),
3297
+
3298
+ height: Joi.number().required(),
3299
+
3300
+ is_default: Joi.boolean().required(),
3301
+
3302
+ length: Joi.number().required(),
3303
+ });
3304
+ }
3305
+
3306
+ static ReturnConfig1() {
3307
+ return Joi.object({
3308
+ unit: Joi.string().allow(""),
3309
+
3310
+ time: Joi.number(),
3311
+
3312
+ returnable: Joi.boolean(),
3313
+ });
3314
+ }
3315
+
3316
+ static StoreMeta() {
3317
+ return Joi.object({
3318
+ id: Joi.number().required(),
3319
+ });
3320
+ }
3321
+
3322
+ static QuantityBase() {
3323
+ return Joi.object({
3324
+ updated_at: Joi.string().allow(""),
3325
+
3326
+ count: Joi.number(),
3327
+ });
3328
+ }
3329
+
3330
+ static Quantities() {
3331
+ return Joi.object({
3332
+ order_committed: CatalogModel.QuantityBase(),
3333
+
3334
+ damaged: CatalogModel.QuantityBase(),
3335
+
3336
+ not_available: CatalogModel.QuantityBase(),
3337
+
3338
+ sellable: CatalogModel.QuantityBase(),
3339
+ });
3340
+ }
3341
+
3342
+ static PriceMeta() {
3343
+ return Joi.object({
3344
+ updated_at: Joi.string().allow(""),
3345
+
3346
+ tp_notes: Joi.any(),
3347
+
3348
+ effective: Joi.number().required(),
3349
+
3350
+ marked: Joi.number().required(),
3351
+
3352
+ currency: Joi.string().allow("").required(),
3353
+
3354
+ transfer: Joi.number().required(),
3355
+ });
3356
+ }
3357
+
3358
+ static Trader1() {
3359
+ return Joi.object({
3360
+ name: Joi.string().allow("").required(),
3361
+
3362
+ address: Joi.array().items(Joi.string().allow("")).required(),
3363
+
3364
+ type: Joi.string().allow("").required(),
3365
+ });
3366
+ }
3367
+
3368
+ static BrandMeta() {
3369
+ return Joi.object({
3370
+ id: Joi.number().required(),
3371
+
3372
+ name: Joi.string().allow("").required(),
3373
+ });
3374
+ }
3375
+
3376
+ static CompanyMeta() {
3377
+ return Joi.object({
3378
+ id: Joi.number().required(),
3379
+ });
3380
+ }
3381
+
3382
+ static InventorySellerResponse() {
3383
+ return Joi.object({
3384
+ total_quantity: Joi.number().required(),
3385
+
3386
+ trace_id: Joi.string().allow(""),
3387
+
3388
+ item_id: Joi.number().required(),
3389
+
3390
+ identifier: Joi.any().required(),
3391
+
3392
+ raw_meta: Joi.any(),
3393
+
3394
+ manufacturer: CatalogModel.ManufacturerResponse().required(),
3395
+
3396
+ meta: Joi.any().allow(null),
3397
+
3398
+ track_inventory: Joi.boolean(),
3399
+
3400
+ size: Joi.string().allow("").required(),
3401
+
3402
+ tags: Joi.array().items(Joi.string().allow("")),
3403
+
3404
+ weight: CatalogModel.WeightResponse().required(),
3405
+
3406
+ added_on_store: Joi.string().allow(""),
3407
+
3408
+ fynd_meta: Joi.any(),
3409
+
3410
+ created_by: CatalogModel.UserSerializer(),
3411
+
3412
+ modified_by: CatalogModel.UserSerializer(),
3413
+
3414
+ fragile: Joi.boolean().required(),
3415
+
3416
+ dimension: CatalogModel.DimensionResponse().required(),
3417
+
3418
+ country_of_origin: Joi.string().allow("").required(),
3419
+
3420
+ set: CatalogModel.InventorySet(),
3421
+
3422
+ fynd_item_code: Joi.string().allow("").required(),
3423
+
3424
+ return_config: CatalogModel.ReturnConfig1(),
3425
+
3426
+ store: CatalogModel.StoreMeta().required(),
3427
+
3428
+ is_active: Joi.boolean(),
3429
+
3430
+ uid: Joi.string().allow("").required(),
3431
+
3432
+ stage: Joi.string().allow(""),
3433
+
3434
+ quantities: CatalogModel.Quantities(),
3435
+
3436
+ price: CatalogModel.PriceMeta().required(),
3437
+
3438
+ _custom_json: Joi.any(),
3439
+
3440
+ trader: Joi.array().items(CatalogModel.Trader1()),
3441
+
3442
+ tax_identifier: Joi.any(),
3443
+
3444
+ expiration_date: Joi.string().allow(""),
3445
+
3446
+ brand: CatalogModel.BrandMeta().required(),
3447
+
3448
+ seller_identifier: Joi.string().allow("").required(),
3449
+
3450
+ is_set: Joi.boolean(),
3451
+
3452
+ fynd_article_code: Joi.string().allow("").required(),
3453
+
3454
+ company: CatalogModel.CompanyMeta().required(),
3455
+ });
3456
+ }
3457
+
3458
+ static InventorySellerIdentifierResponsePaginated() {
3459
+ return Joi.object({
3460
+ page: CatalogModel.Page(),
3461
+
3462
+ items: Joi.array().items(CatalogModel.InventorySellerResponse()),
3463
+ });
3464
+ }
3465
+
3466
+ static DateMeta() {
3467
+ return Joi.object({
3468
+ added_on_store: Joi.string().allow(""),
3469
+
3470
+ inventory_updated_on: Joi.string().allow(""),
3471
+
3472
+ modified_on: Joi.string().allow(""),
3473
+
3474
+ created_on: Joi.string().allow(""),
3475
+ });
3476
+ }
3477
+
3478
+ static ManufacturerResponse1() {
3479
+ return Joi.object({
3480
+ address: Joi.string().allow(""),
3481
+
3482
+ is_default: Joi.boolean(),
3483
+
3484
+ name: Joi.string().allow(""),
3485
+ });
3486
+ }
3487
+
3488
+ static WeightResponse1() {
3489
+ return Joi.object({
3490
+ unit: Joi.string().allow(""),
3491
+
3492
+ shipping: Joi.number(),
3493
+ });
3494
+ }
3495
+
3496
+ static DimensionResponse1() {
3497
+ return Joi.object({
3498
+ height: Joi.number(),
3499
+
3500
+ unit: Joi.string().allow(""),
3501
+
3502
+ width: Joi.number(),
3503
+
3504
+ length: Joi.number(),
3505
+ });
3506
+ }
3507
+
3508
+ static Quantity() {
3509
+ return Joi.object({
3510
+ count: Joi.number(),
3511
+ });
3512
+ }
3513
+
3514
+ static QuantitiesArticle() {
3515
+ return Joi.object({
3516
+ order_committed: CatalogModel.Quantity(),
3517
+
3518
+ damaged: CatalogModel.Quantity(),
3519
+
3520
+ not_available: CatalogModel.Quantity(),
3521
+
3522
+ sellable: CatalogModel.Quantity(),
3523
+ });
3524
+ }
3525
+
3526
+ static ArticleStoreResponse() {
3527
+ return Joi.object({
3528
+ store_type: Joi.string().allow(""),
3529
+
3530
+ uid: Joi.number(),
3531
+
3532
+ store_code: Joi.string().allow(""),
3533
+
3534
+ name: Joi.string().allow(""),
3535
+ });
3536
+ }
3537
+
3538
+ static ReturnConfig2() {
3539
+ return Joi.object({
3540
+ unit: Joi.string().allow(""),
3541
+
3542
+ time: Joi.number(),
3543
+
3544
+ returnable: Joi.boolean(),
3545
+ });
3546
+ }
3547
+
3548
+ static PriceArticle() {
3549
+ return Joi.object({
3550
+ tp_notes: Joi.any(),
3551
+
3552
+ effective: Joi.number(),
3553
+
3554
+ marked: Joi.number(),
3555
+
3556
+ currency: Joi.string().allow(""),
3557
+
3558
+ transfer: Joi.number(),
3559
+ });
3560
+ }
3561
+
3562
+ static Trader2() {
3563
+ return Joi.object({
3564
+ name: Joi.string().allow(""),
3565
+
3566
+ address: Joi.array().items(Joi.string().allow("")),
3567
+
3568
+ type: Joi.string().allow(""),
3569
+ });
3570
+ }
3571
+
3572
+ static BrandMeta1() {
3573
+ return Joi.object({
3574
+ id: Joi.number(),
3575
+
3576
+ name: Joi.string().allow(""),
3577
+ });
3578
+ }
3579
+
3580
+ static CompanyMeta1() {
3581
+ return Joi.object({
3582
+ id: Joi.number(),
3583
+ });
3584
+ }
3585
+
3586
+ static GetInventories() {
3587
+ return Joi.object({
3588
+ total_quantity: Joi.number(),
3589
+
3590
+ date_meta: CatalogModel.DateMeta(),
3591
+
3592
+ trace_id: Joi.string().allow(""),
3593
+
3594
+ item_id: Joi.number(),
3595
+
3596
+ identifier: Joi.any(),
3597
+
3598
+ manufacturer: CatalogModel.ManufacturerResponse1(),
3599
+
3600
+ track_inventory: Joi.boolean(),
3601
+
3602
+ size: Joi.string().allow(""),
3603
+
3604
+ platforms: Joi.any(),
3605
+
3606
+ tags: Joi.array().items(Joi.string().allow("")),
3607
+
3608
+ weight: CatalogModel.WeightResponse1(),
3609
+
3610
+ inventory_updated_on: Joi.string().allow(""),
3611
+
3612
+ created_by: CatalogModel.UserSerializer(),
3613
+
3614
+ modified_by: CatalogModel.UserSerializer(),
3615
+
3616
+ dimension: CatalogModel.DimensionResponse1(),
3617
+
3618
+ country_of_origin: Joi.string().allow(""),
3619
+
3620
+ stage: Joi.string().allow(""),
3621
+
3622
+ quantities: CatalogModel.QuantitiesArticle(),
3623
+
3624
+ store: CatalogModel.ArticleStoreResponse(),
3625
+
3626
+ return_config: CatalogModel.ReturnConfig2(),
3627
+
3628
+ uid: Joi.string().allow(""),
3629
+
3630
+ price: CatalogModel.PriceArticle(),
3631
+
3632
+ trader: Joi.array().items(CatalogModel.Trader2()),
3633
+
3634
+ tax_identifier: Joi.any(),
3635
+
3636
+ expiration_date: Joi.string().allow(""),
3637
+
3638
+ brand: CatalogModel.BrandMeta1(),
3639
+
3640
+ seller_identifier: Joi.string().allow(""),
3641
+
3642
+ is_set: Joi.boolean(),
3643
+
3644
+ company: CatalogModel.CompanyMeta1(),
3645
+
3646
+ id: Joi.string().allow(""),
3647
+ });
3648
+ }
3649
+
3650
+ static GetInventoriesResponse() {
3651
+ return Joi.object({
3652
+ page: CatalogModel.Page(),
3653
+
3654
+ items: Joi.array().items(CatalogModel.GetInventories()),
3655
+ });
3656
+ }
3657
+
3658
+ static BulkInventoryGetItems() {
3659
+ return Joi.object({
3660
+ modified_on: Joi.string().allow(""),
3661
+
3662
+ cancelled: Joi.number(),
3663
+
3664
+ company_id: Joi.number(),
3665
+
3666
+ failed_records: Joi.array().items(Joi.string().allow("")),
3667
+
3668
+ created_by: Joi.any(),
3669
+
3670
+ total: Joi.number(),
3671
+
3672
+ cancelled_records: Joi.array().items(Joi.string().allow("")),
3673
+
3674
+ succeed: Joi.number(),
3675
+
3676
+ stage: Joi.string().allow(""),
3677
+
3678
+ is_active: Joi.boolean(),
3679
+
3680
+ file_path: Joi.string().allow(""),
3681
+
3682
+ modified_by: Joi.any(),
3683
+
3684
+ id: Joi.string().allow(""),
3685
+
3686
+ created_on: Joi.string().allow(""),
3687
+
3688
+ failed: Joi.number(),
3689
+ });
3690
+ }
3691
+
3692
+ static BulkInventoryGet() {
3693
+ return Joi.object({
3694
+ page: CatalogModel.Page(),
3695
+
3696
+ items: Joi.array().items(CatalogModel.BulkInventoryGetItems()),
3697
+ });
3698
+ }
3699
+
3700
+ static InventoryJobPayload() {
3701
+ return Joi.object({
3702
+ price_effective: Joi.number(),
3703
+
3704
+ item_weight_unit_of_measure: Joi.string().allow(""),
3705
+
3706
+ store_code: Joi.string().allow("").required(),
3707
+
3708
+ total_quantity: Joi.number(),
3709
+
3710
+ price_marked: Joi.number(),
3711
+
3712
+ expiration_date: Joi.string().allow(""),
3713
+
3714
+ trace_id: Joi.string().allow("").allow(null),
3715
+
3716
+ seller_identifier: Joi.string().allow("").required(),
3717
+
3718
+ item_dimensions_unit_of_measure: Joi.string().allow(""),
3719
+
3720
+ quantity: Joi.number(),
3721
+
3722
+ currency: Joi.string().allow(""),
3723
+
3724
+ tags: Joi.array().items(Joi.string().allow("")),
3725
+
3726
+ price: Joi.number(),
3727
+ });
3728
+ }
3729
+
3730
+ static InventoryBulkRequest() {
3731
+ return Joi.object({
3732
+ batch_id: Joi.string().allow("").required(),
3733
+
3734
+ company_id: Joi.number().required(),
3735
+
3736
+ user: Joi.any(),
3737
+
3738
+ sizes: Joi.array().items(CatalogModel.InventoryJobPayload()).required(),
3739
+ });
3740
+ }
3741
+
3742
+ static InventoryExportJob() {
3743
+ return Joi.object({
3744
+ task_id: Joi.string().allow("").required(),
3745
+
3746
+ completed_on: Joi.string().allow(""),
3747
+
3748
+ trigger_on: Joi.string().allow(""),
3749
+
3750
+ url: Joi.string().allow(""),
3751
+
3752
+ request_params: Joi.any(),
3753
+
3754
+ status: Joi.string().allow(""),
3755
+
3756
+ seller_id: Joi.number().required(),
3757
+ });
3758
+ }
3759
+
3760
+ static InventoryExportRequest() {
3761
+ return Joi.object({
3762
+ store: Joi.array().items(Joi.number()),
3763
+
3764
+ brand: Joi.array().items(Joi.number()),
3765
+
3766
+ type: Joi.string().allow("").allow(null),
3767
+ });
3768
+ }
3769
+
3770
+ static InventoryExportResponse() {
3771
+ return Joi.object({
3772
+ task_id: Joi.string().allow("").required(),
3773
+
3774
+ seller_id: Joi.number().required(),
3775
+
3776
+ request_params: Joi.any(),
3777
+
3778
+ status: Joi.string().allow(""),
3779
+
3780
+ trigger_on: Joi.string().allow(""),
3781
+ });
3782
+ }
3783
+
3784
+ static FilerList() {
3785
+ return Joi.object({
3786
+ value: Joi.string().allow(""),
3787
+
3788
+ display: Joi.string().allow(""),
3789
+ });
3790
+ }
3791
+
3792
+ static InventoryConfig() {
3793
+ return Joi.object({
3794
+ multivalues: Joi.boolean(),
3795
+
3796
+ data: Joi.array().items(CatalogModel.FilerList()),
3797
+ });
3798
+ }
3799
+
3800
+ static InventoryPayload() {
3801
+ return Joi.object({
3802
+ price_effective: Joi.number(),
3803
+
3804
+ total_quantity: Joi.number().allow(null),
3805
+
3806
+ price_marked: Joi.number(),
3807
+
3808
+ expiration_date: Joi.string().allow(""),
3809
+
3810
+ trace_id: Joi.string().allow(""),
3811
+
3812
+ seller_identifier: Joi.string().allow("").required(),
3813
+
3814
+ store_id: Joi.number().required(),
3815
+
3816
+ tags: Joi.array().items(Joi.string().allow("")),
3817
+ });
3818
+ }
3819
+
3820
+ static InventoryRequestSchemaV2() {
3821
+ return Joi.object({
3822
+ company_id: Joi.number().required(),
3823
+
3824
+ meta: Joi.any(),
3825
+
3826
+ payload: Joi.array().items(CatalogModel.InventoryPayload()),
3827
+ });
3828
+ }
3829
+
3830
+ static InventoryFailedReason() {
3831
+ return Joi.object({
3832
+ message: Joi.string().allow("").required(),
3833
+
3834
+ errors: Joi.string().allow(""),
3835
+ });
3836
+ }
3837
+
3838
+ static InventoryResponseItem() {
3839
+ return Joi.object({
3840
+ reason: CatalogModel.InventoryFailedReason(),
3841
+
3842
+ data: CatalogModel.InventoryPayload(),
3843
+ });
3844
+ }
3845
+
3846
+ static InventoryUpdateResponse() {
3847
+ return Joi.object({
3848
+ message: Joi.string().allow("").required(),
3849
+
3850
+ items: Joi.array().items(CatalogModel.InventoryResponseItem()),
3851
+ });
3852
+ }
3853
+
3854
+ static PageResponse() {
3855
+ return Joi.object({
3856
+ current: Joi.string().allow(""),
3857
+
3858
+ has_next: Joi.boolean(),
3859
+
3860
+ item_total: Joi.number(),
3861
+
3862
+ size: Joi.number(),
3863
+
3864
+ has_previous: Joi.boolean(),
3865
+ });
3866
+ }
3867
+
3868
+ static HsnCodesObject() {
3869
+ return Joi.object({
3870
+ tax_on_esp: Joi.boolean(),
3871
+
3872
+ hs2_code: Joi.string().allow(""),
3873
+
3874
+ modified_on: Joi.string().allow(""),
3875
+
3876
+ threshold1: Joi.number(),
3877
+
3878
+ tax_on_mrp: Joi.boolean(),
3879
+
3880
+ company_id: Joi.number(),
3881
+
3882
+ tax1: Joi.number(),
3883
+
3884
+ threshold2: Joi.number(),
3885
+
3886
+ id: Joi.string().allow(""),
3887
+
3888
+ tax2: Joi.number(),
3889
+
3890
+ hsn_code: Joi.string().allow(""),
3891
+ });
3892
+ }
3893
+
3894
+ static HsnCodesListingResponse() {
3895
+ return Joi.object({
3896
+ page: CatalogModel.PageResponse(),
3897
+
3898
+ items: Joi.array().items(CatalogModel.HsnCodesObject()),
3899
+ });
3900
+ }
3901
+
3902
+ static HsnUpsert() {
3903
+ return Joi.object({
3904
+ tax_on_esp: Joi.boolean(),
3905
+
3906
+ hs2_code: Joi.string().allow("").allow(null).required(),
3907
+
3908
+ threshold1: Joi.number().required(),
3909
+
3910
+ tax_on_mrp: Joi.boolean().required(),
3911
+
3912
+ company_id: Joi.number().required(),
3913
+
3914
+ is_active: Joi.boolean(),
3915
+
3916
+ uid: Joi.number(),
3917
+
3918
+ tax1: Joi.number().required(),
3919
+
3920
+ threshold2: Joi.number(),
3921
+
3922
+ tax2: Joi.number(),
3923
+
3924
+ hsn_code: Joi.string().allow("").required(),
3925
+ });
3926
+ }
3927
+
3928
+ static HsnCode() {
3929
+ return Joi.object({
3930
+ data: CatalogModel.HsnCodesObject(),
3931
+ });
3932
+ }
3933
+
3934
+ static BulkHsnUpsert() {
3935
+ return Joi.object({
3936
+ data: Joi.array().items(CatalogModel.HsnUpsert()).required(),
3937
+ });
3938
+ }
3939
+
3940
+ static BulkHsnResponse() {
3941
+ return Joi.object({
3942
+ success: Joi.boolean(),
3943
+ });
3944
+ }
3945
+
3946
+ static TaxSlab() {
3947
+ return Joi.object({
3948
+ cess: Joi.number(),
3949
+
3950
+ threshold: Joi.number().required(),
3951
+
3952
+ effective_date: Joi.string().allow("").required(),
3953
+
3954
+ rate: Joi.number().required(),
3955
+ });
3956
+ }
3957
+
3958
+ static HSNDataInsertV2() {
3959
+ return Joi.object({
3960
+ modified_on: Joi.string().allow(""),
3961
+
3962
+ created_by: Joi.any(),
3963
+
3964
+ type: Joi.string().allow("").required(),
3965
+
3966
+ country_code: Joi.string().allow("").required(),
3967
+
3968
+ taxes: Joi.array().items(CatalogModel.TaxSlab()).required(),
3969
+
3970
+ reporting_hsn: Joi.string().allow("").required(),
3971
+
3972
+ modified_by: Joi.any(),
3973
+
3974
+ description: Joi.string().allow("").required(),
3975
+
3976
+ created_on: Joi.string().allow(""),
3977
+
3978
+ hsn_code: Joi.string().allow("").required(),
3979
+ });
3980
+ }
3981
+
3982
+ static HsnCodesListingResponseSchemaV2() {
3983
+ return Joi.object({
3984
+ page: CatalogModel.PageResponse(),
3985
+
3986
+ items: Joi.array().items(CatalogModel.HSNDataInsertV2()),
3987
+ });
3988
+ }
3989
+
3990
+ static BrandItem() {
3991
+ return Joi.object({
3992
+ uid: Joi.number(),
3993
+
3994
+ slug: Joi.string().allow(""),
3995
+
3996
+ logo: CatalogModel.Media(),
3997
+
3998
+ banners: CatalogModel.ImageUrls(),
3999
+
4000
+ discount: Joi.string().allow(""),
4001
+
4002
+ name: Joi.string().allow(""),
4003
+
4004
+ action: CatalogModel.Action(),
4005
+
4006
+ departments: Joi.array().items(Joi.string().allow("")),
4007
+ });
4008
+ }
4009
+
4010
+ static BrandListingResponse() {
4011
+ return Joi.object({
4012
+ page: CatalogModel.Page().required(),
4013
+
4014
+ items: Joi.array().items(CatalogModel.BrandItem()),
4015
+ });
4016
+ }
4017
+
4018
+ static Department() {
4019
+ return Joi.object({
4020
+ priority_order: Joi.number(),
4021
+
4022
+ slug: Joi.string().allow(""),
4023
+
4024
+ logo: CatalogModel.Media(),
4025
+
4026
+ name: Joi.string().allow(""),
4027
+
4028
+ uid: Joi.number(),
4029
+ });
4030
+ }
4031
+
4032
+ static DepartmentResponse() {
4033
+ return Joi.object({
4034
+ items: Joi.array().items(CatalogModel.Department()),
4035
+ });
4036
+ }
4037
+
4038
+ static ThirdLevelChild() {
4039
+ return Joi.object({
4040
+ _custom_json: Joi.any(),
4041
+
4042
+ name: Joi.string().allow(""),
4043
+
4044
+ childs: Joi.array().items(Joi.any()),
4045
+
4046
+ slug: Joi.string().allow(""),
4047
+
4048
+ banners: CatalogModel.ImageUrls(),
4049
+
4050
+ uid: Joi.number(),
4051
+
4052
+ action: CatalogModel.Action(),
4053
+ });
4054
+ }
4055
+
4056
+ static SecondLevelChild() {
4057
+ return Joi.object({
4058
+ _custom_json: Joi.any(),
4059
+
4060
+ name: Joi.string().allow(""),
4061
+
4062
+ childs: Joi.array().items(CatalogModel.ThirdLevelChild()),
4063
+
4064
+ slug: Joi.string().allow(""),
4065
+
4066
+ banners: CatalogModel.ImageUrls(),
4067
+
4068
+ uid: Joi.number(),
4069
+
4070
+ action: CatalogModel.Action(),
4071
+ });
4072
+ }
4073
+
4074
+ static Child() {
4075
+ return Joi.object({
4076
+ _custom_json: Joi.any(),
4077
+
4078
+ name: Joi.string().allow(""),
4079
+
4080
+ childs: Joi.array().items(CatalogModel.SecondLevelChild()),
4081
+
4082
+ slug: Joi.string().allow(""),
4083
+
4084
+ banners: CatalogModel.ImageUrls(),
4085
+
4086
+ uid: Joi.number(),
4087
+
4088
+ action: CatalogModel.Action(),
4089
+ });
4090
+ }
4091
+
4092
+ static CategoryItems() {
4093
+ return Joi.object({
4094
+ name: Joi.string().allow(""),
4095
+
4096
+ childs: Joi.array().items(CatalogModel.Child()),
4097
+
4098
+ slug: Joi.string().allow(""),
4099
+
4100
+ banners: CatalogModel.ImageUrls(),
4101
+
4102
+ uid: Joi.number(),
4103
+
4104
+ action: CatalogModel.Action(),
4105
+ });
4106
+ }
4107
+
4108
+ static DepartmentCategoryTree() {
4109
+ return Joi.object({
4110
+ items: Joi.array().items(CatalogModel.CategoryItems()),
4111
+
4112
+ department: Joi.string().allow(""),
4113
+ });
4114
+ }
4115
+
4116
+ static DepartmentIdentifier() {
4117
+ return Joi.object({
4118
+ slug: Joi.string().allow(""),
4119
+
4120
+ uid: Joi.number(),
4121
+ });
4122
+ }
4123
+
4124
+ static CategoryListingResponse() {
4125
+ return Joi.object({
4126
+ data: Joi.array().items(CatalogModel.DepartmentCategoryTree()),
4127
+
4128
+ departments: Joi.array().items(CatalogModel.DepartmentIdentifier()),
4129
+ });
4130
+ }
4131
+
4132
+ static ApplicationProductListingResponse() {
4133
+ return Joi.object({
4134
+ sort_on: Joi.array().items(CatalogModel.ProductSortOn()),
4135
+
4136
+ page: CatalogModel.Page().required(),
4137
+
4138
+ filters: Joi.array().items(CatalogModel.ProductFilters()),
4139
+
4140
+ operators: Joi.any(),
4141
+
4142
+ items: Joi.array().items(CatalogModel.ProductListingDetail()),
4143
+ });
4144
+ }
4145
+
4146
+ static ProductDetail() {
4147
+ return Joi.object({
4148
+ grouped_attributes: Joi.array().items(
4149
+ CatalogModel.ProductDetailGroupedAttribute()
4150
+ ),
4151
+
4152
+ item_type: Joi.string().allow(""),
4153
+
4154
+ type: Joi.string().allow(""),
4155
+
4156
+ rating: Joi.number(),
4157
+
4158
+ tryouts: Joi.array().items(Joi.string().allow("")),
4159
+
4160
+ medias: Joi.array().items(CatalogModel.Media1()),
4161
+
4162
+ similars: Joi.array().items(Joi.string().allow("")),
4163
+
4164
+ product_online_date: Joi.string().allow(""),
4165
+
4166
+ name: Joi.string().allow(""),
4167
+
4168
+ promo_meta: Joi.any(),
4169
+
4170
+ teaser_tag: Joi.any(),
4171
+
4172
+ uid: Joi.number(),
4173
+
4174
+ item_code: Joi.string().allow(""),
4175
+
4176
+ description: Joi.string().allow(""),
4177
+
4178
+ short_description: Joi.string().allow(""),
4179
+
4180
+ attributes: Joi.any(),
4181
+
4182
+ slug: Joi.string().allow("").required(),
4183
+
4184
+ brand: CatalogModel.ProductBrand(),
4185
+
4186
+ has_variant: Joi.boolean(),
4187
+
4188
+ image_nature: Joi.string().allow(""),
4189
+
4190
+ color: Joi.string().allow(""),
4191
+
4192
+ highlights: Joi.array().items(Joi.string().allow("")),
4193
+
4194
+ rating_count: Joi.number(),
4195
+ });
4196
+ }
4197
+
4198
+ static InventoryPage() {
4199
+ return Joi.object({
4200
+ next_id: Joi.string().allow(""),
4201
+
4202
+ has_next: Joi.boolean(),
4203
+
4204
+ type: Joi.string().allow("").required(),
4205
+
4206
+ item_total: Joi.number().required(),
4207
+
4208
+ has_previous: Joi.boolean(),
4209
+ });
4210
+ }
4211
+
4212
+ static InventoryStockResponse() {
4213
+ return Joi.object({
4214
+ page: CatalogModel.InventoryPage().required(),
4215
+
4216
+ items: Joi.array().items(Joi.any()),
4217
+ });
4218
+ }
4219
+
4220
+ static ArticleAssignment() {
4221
+ return Joi.object({
4222
+ level: Joi.string().allow(""),
4223
+
4224
+ strategy: Joi.string().allow(""),
4225
+ });
4226
+ }
4227
+
4228
+ static ArticleQuery() {
4229
+ return Joi.object({
4230
+ ignored_stores: Joi.array().items(Joi.number()),
4231
+
4232
+ item_id: Joi.number().required(),
4233
+
4234
+ size: Joi.string().allow("").required(),
4235
+ });
4236
+ }
4237
+
4238
+ static AssignStoreArticle() {
4239
+ return Joi.object({
4240
+ quantity: Joi.number(),
4241
+
4242
+ article_assignment: CatalogModel.ArticleAssignment(),
4243
+
4244
+ group_id: Joi.string().allow(""),
4245
+
4246
+ meta: Joi.any(),
4247
+
4248
+ query: CatalogModel.ArticleQuery(),
4249
+ });
4250
+ }
4251
+
4252
+ static AssignStore() {
4253
+ return Joi.object({
4254
+ app_id: Joi.string().allow("").required(),
4255
+
4256
+ store_ids: Joi.array().items(Joi.number()),
4257
+
4258
+ channel_type: Joi.string().allow(""),
4259
+
4260
+ articles: Joi.array().items(CatalogModel.AssignStoreArticle()).required(),
4261
+
4262
+ company_id: Joi.number(),
4263
+
4264
+ pincode: Joi.string().allow("").required(),
4265
+
4266
+ channel_identifier: Joi.string().allow(""),
4267
+ });
4268
+ }
4269
+
4270
+ static ArticleAssignment1() {
4271
+ return Joi.object({
4272
+ level: Joi.string().allow(""),
4273
+
4274
+ strategy: Joi.string().allow(""),
4275
+ });
4276
+ }
4277
+
4278
+ static StoreAssignResponse() {
4279
+ return Joi.object({
4280
+ price_effective: Joi.number(),
4281
+
4282
+ _id: Joi.string().allow(""),
4283
+
4284
+ store_pincode: Joi.number(),
4285
+
4286
+ company_id: Joi.number(),
4287
+
4288
+ price_marked: Joi.number(),
4289
+
4290
+ s_city: Joi.string().allow(""),
4291
+
4292
+ item_id: Joi.number().required(),
4293
+
4294
+ quantity: Joi.number().required(),
4295
+
4296
+ article_assignment: CatalogModel.ArticleAssignment1().required(),
4297
+
4298
+ strategy_wise_listing: Joi.array().items(Joi.any()),
4299
+
4300
+ index: Joi.number(),
4301
+
4302
+ meta: Joi.any(),
4303
+
4304
+ group_id: Joi.string().allow(""),
4305
+
4306
+ size: Joi.string().allow("").required(),
4307
+
4308
+ uid: Joi.string().allow(""),
4309
+
4310
+ store_id: Joi.number(),
4311
+
4312
+ status: Joi.boolean().required(),
4313
+ });
4314
+ }
4315
+
4316
+ static LocationIntegrationType() {
4317
+ return Joi.object({
4318
+ inventory: Joi.string().allow(""),
4319
+
4320
+ order: Joi.string().allow(""),
4321
+ });
4322
+ }
4323
+
4324
+ static SellerPhoneNumber() {
4325
+ return Joi.object({
4326
+ number: Joi.string().allow("").required(),
4327
+
4328
+ country_code: Joi.number().required(),
4329
+ });
4330
+ }
4331
+
4332
+ static InvoiceCredSerializer() {
4333
+ return Joi.object({
4334
+ enabled: Joi.boolean(),
4335
+
4336
+ username: Joi.string().allow(""),
4337
+
4338
+ password: Joi.string().allow(""),
4339
+ });
4340
+ }
4341
+
4342
+ static InvoiceDetailsSerializer() {
4343
+ return Joi.object({
4344
+ e_waybill: CatalogModel.InvoiceCredSerializer(),
4345
+
4346
+ e_invoice: CatalogModel.InvoiceCredSerializer(),
4347
+ });
4348
+ }
4349
+
4350
+ static UserSerializer1() {
4351
+ return Joi.object({
4352
+ contact: Joi.string().allow(""),
4353
+
4354
+ user_id: Joi.string().allow(""),
4355
+
4356
+ username: Joi.string().allow(""),
4357
+ });
4358
+ }
4359
+
4360
+ static Document() {
4361
+ return Joi.object({
4362
+ value: Joi.string().allow("").required(),
4363
+
4364
+ url: Joi.string().allow(""),
4365
+
4366
+ verified: Joi.boolean(),
4367
+
4368
+ type: Joi.string().allow("").required(),
4369
+
4370
+ legal_name: Joi.string().allow(""),
4371
+ });
4372
+ }
4373
+
4374
+ static LocationTimingSerializer() {
4375
+ return Joi.object({
4376
+ hour: Joi.number(),
4377
+
4378
+ minute: Joi.number(),
4379
+ });
4380
+ }
4381
+
4382
+ static LocationDayWiseSerializer() {
4383
+ return Joi.object({
4384
+ open: Joi.boolean().required(),
4385
+
4386
+ closing: CatalogModel.LocationTimingSerializer(),
4387
+
4388
+ weekday: Joi.string().allow("").required(),
4389
+
4390
+ opening: CatalogModel.LocationTimingSerializer(),
4391
+ });
4392
+ }
4393
+
4394
+ static LocationManagerSerializer() {
4395
+ return Joi.object({
4396
+ email: Joi.string().allow(""),
4397
+
4398
+ mobile_no: CatalogModel.SellerPhoneNumber().required(),
4399
+
4400
+ name: Joi.string().allow(""),
4401
+ });
4402
+ }
4403
+
4404
+ static ProductReturnConfigSerializer() {
4405
+ return Joi.object({
4406
+ store_uid: Joi.number(),
4407
+
4408
+ on_same_store: Joi.boolean(),
4409
+ });
4410
+ }
4411
+
4412
+ static GetAddressSerializer() {
4413
+ return Joi.object({
4414
+ landmark: Joi.string().allow(""),
4415
+
4416
+ city: Joi.string().allow(""),
4417
+
4418
+ state: Joi.string().allow(""),
4419
+
4420
+ address_type: Joi.string().allow(""),
4421
+
4422
+ pincode: Joi.number(),
4423
+
4424
+ longitude: Joi.number(),
4425
+
4426
+ address1: Joi.string().allow(""),
4427
+
4428
+ country_code: Joi.string().allow(""),
4429
+
4430
+ country: Joi.string().allow(""),
4431
+
4432
+ latitude: Joi.number(),
4433
+
4434
+ address2: Joi.string().allow(""),
4435
+ });
4436
+ }
4437
+
4438
+ static UserSerializer2() {
4439
+ return Joi.object({
4440
+ contact: Joi.string().allow(""),
4441
+
4442
+ user_id: Joi.string().allow(""),
4443
+
4444
+ username: Joi.string().allow(""),
4445
+ });
4446
+ }
4447
+
4448
+ static GetCompanySerializer() {
4449
+ return Joi.object({
4450
+ verified_on: Joi.string().allow(""),
4451
+
4452
+ name: Joi.string().allow(""),
4453
+
4454
+ business_type: Joi.string().allow(""),
4455
+
4456
+ created_on: Joi.string().allow(""),
4457
+
4458
+ created_by: CatalogModel.UserSerializer2(),
4459
+
4460
+ reject_reason: Joi.string().allow(""),
4461
+
4462
+ addresses: Joi.array().items(CatalogModel.GetAddressSerializer()),
4463
+
4464
+ stage: Joi.string().allow(""),
4465
+
4466
+ uid: Joi.number(),
4467
+
4468
+ modified_by: CatalogModel.UserSerializer2(),
4469
+
4470
+ company_type: Joi.string().allow(""),
4471
+
4472
+ verified_by: CatalogModel.UserSerializer2(),
4473
+
4474
+ modified_on: Joi.string().allow(""),
4475
+ });
4476
+ }
4477
+
4478
+ static GetLocationSerializer() {
4479
+ return Joi.object({
4480
+ integration_type: CatalogModel.LocationIntegrationType(),
4481
+
4482
+ phone_number: Joi.string().allow("").required(),
4483
+
4484
+ contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
4485
+
4486
+ gst_credentials: CatalogModel.InvoiceDetailsSerializer(),
4487
+
4488
+ created_by: CatalogModel.UserSerializer1(),
4489
+
4490
+ documents: Joi.array().items(CatalogModel.Document()),
4491
+
4492
+ name: Joi.string().allow("").required(),
4493
+
4494
+ modified_by: CatalogModel.UserSerializer1(),
4495
+
4496
+ timing: Joi.array().items(CatalogModel.LocationDayWiseSerializer()),
4497
+
4498
+ verified_by: CatalogModel.UserSerializer1(),
4499
+
4500
+ created_on: Joi.string().allow(""),
4501
+
4502
+ modified_on: Joi.string().allow(""),
4503
+
4504
+ verified_on: Joi.string().allow(""),
4505
+
4506
+ store_type: Joi.string().allow(""),
4507
+
4508
+ warnings: Joi.any(),
4509
+
4510
+ stage: Joi.string().allow(""),
4511
+
4512
+ uid: Joi.number(),
4513
+
4514
+ notification_emails: Joi.array().items(Joi.string().allow("")),
4515
+
4516
+ manager: CatalogModel.LocationManagerSerializer(),
4517
+
4518
+ _custom_json: Joi.any(),
4519
+
4520
+ product_return_config: CatalogModel.ProductReturnConfigSerializer(),
4521
+
4522
+ code: Joi.string().allow("").required(),
4523
+
4524
+ address: CatalogModel.GetAddressSerializer().required(),
4525
+
4526
+ display_name: Joi.string().allow("").required(),
4527
+
4528
+ company: CatalogModel.GetCompanySerializer(),
4529
+ });
4530
+ }
4531
+
4532
+ static LocationListSerializer() {
4533
+ return Joi.object({
4534
+ page: CatalogModel.Page(),
4535
+
4536
+ items: Joi.array().items(CatalogModel.GetLocationSerializer()),
4537
+ });
4538
+ }
4539
+
4540
+ static ApplicationBrandJson() {
4541
+ return Joi.object({
4542
+ _custom_json: Joi.any().required(),
4543
+ });
4544
+ }
4545
+
4546
+ static ApplicationCategoryJson() {
4547
+ return Joi.object({
4548
+ _custom_json: Joi.any().required(),
4549
+ });
4550
+ }
4551
+
4552
+ static ApplicationDepartment() {
4553
+ return Joi.object({
4554
+ app_id: Joi.string().allow("").required(),
4555
+
4556
+ _custom_json: Joi.any(),
4557
+
4558
+ logo: Joi.string().allow(""),
4559
+
4560
+ is_active: Joi.boolean(),
4561
+
4562
+ name: Joi.string().allow(""),
4563
+
4564
+ uid: Joi.number().required(),
4565
+ });
4566
+ }
4567
+
4568
+ static ApplicationDepartmentListingResponse() {
4569
+ return Joi.object({
4570
+ page: CatalogModel.Page().required(),
4571
+
4572
+ items: Joi.array().items(CatalogModel.ApplicationDepartment()),
4573
+ });
4574
+ }
4575
+
4576
+ static ApplicationDepartmentJson() {
4577
+ return Joi.object({
4578
+ _custom_json: Joi.any().required(),
4579
+ });
4580
+ }
4581
+
4582
+ static ApplicationStoreJson() {
4583
+ return Joi.object({
4584
+ _custom_json: Joi.any().required(),
4585
+ });
4586
+ }
4587
+
4588
+ /*
4589
+ Enum: PageType
4590
+ Used By: Catalog
4591
+ */
4592
+ static PageType() {
4593
+ return Joi.string().valid(
4594
+ "about-us",
4595
+
4596
+ "addresses",
4597
+
4598
+ "blog",
4599
+
4600
+ "brands",
4601
+
4602
+ "cards",
4603
+
4604
+ "cart",
4605
+
4606
+ "categories",
4607
+
4608
+ "brand",
4609
+
4610
+ "category",
4611
+
4612
+ "collection",
4613
+
4614
+ "collections",
4615
+
4616
+ "contact-us",
4617
+
4618
+ "external",
4619
+
4620
+ "faq",
4621
+
4622
+ "freshchat",
4623
+
4624
+ "home",
4625
+
4626
+ "notification-settings",
4627
+
4628
+ "orders",
4629
+
4630
+ "page",
4631
+
4632
+ "policy",
4633
+
4634
+ "product",
4635
+
4636
+ "product-reviews",
4637
+
4638
+ "add-product-review",
4639
+
4640
+ "product-request",
4641
+
4642
+ "products",
4643
+
4644
+ "profile",
4645
+
4646
+ "profile-order-shipment",
4647
+
4648
+ "profile-basic",
4649
+
4650
+ "profile-company",
4651
+
4652
+ "profile-emails",
4653
+
4654
+ "profile-phones",
4655
+
4656
+ "rate-us",
4657
+
4658
+ "refer-earn",
4659
+
4660
+ "settings",
4661
+
4662
+ "shared-cart",
4663
+
4664
+ "tnc",
4665
+
4666
+ "track-order",
4667
+
4668
+ "wishlist",
4669
+
4670
+ "sections",
4671
+
4672
+ "form",
4673
+
4674
+ "cart-delivery",
4675
+
4676
+ "cart-payment",
4677
+
4678
+ "cart-review",
4679
+
4680
+ "login",
4681
+
4682
+ "register",
4683
+
4684
+ "shipping-policy",
4685
+
4686
+ "return-policy"
4687
+ );
4688
+ }
4689
+ }
4690
+ module.exports = CatalogModel;