@gofynd/fdk-client-javascript 1.1.6 → 1.2.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 (321) hide show
  1. package/README.md +12 -0
  2. package/index.js +0 -3
  3. package/package.json +1 -1
  4. package/sdk/application/ApplicationAPIClient.d.ts +15 -1
  5. package/sdk/application/ApplicationAPIClient.js +8 -1
  6. package/sdk/application/ApplicationClient.d.ts +37 -6
  7. package/sdk/application/ApplicationClient.js +31 -0
  8. package/sdk/application/ApplicationConfig.d.ts +52 -12
  9. package/sdk/application/ApplicationConfig.js +37 -2
  10. package/sdk/application/ApplicationModels.d.ts +46 -1
  11. package/sdk/application/ApplicationModels.js +18 -0
  12. package/sdk/application/Cart/CartApplicationClient.d.ts +172 -357
  13. package/sdk/application/Cart/CartApplicationClient.js +620 -483
  14. package/sdk/application/Cart/CartApplicationModel.d.ts +2054 -96
  15. package/sdk/application/Cart/CartApplicationModel.js +1224 -93
  16. package/sdk/application/Cart/CartApplicationValidator.d.ts +508 -30
  17. package/sdk/application/Cart/CartApplicationValidator.js +270 -15
  18. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +234 -413
  19. package/sdk/application/Catalog/CatalogApplicationClient.js +777 -630
  20. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +2218 -117
  21. package/sdk/application/Catalog/CatalogApplicationModel.js +1499 -170
  22. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +798 -31
  23. package/sdk/application/Catalog/CatalogApplicationValidator.js +318 -3
  24. package/sdk/application/Common/CommonApplicationClient.d.ts +14 -21
  25. package/sdk/application/Common/CommonApplicationClient.js +50 -33
  26. package/sdk/application/Common/CommonApplicationModel.d.ts +448 -19
  27. package/sdk/application/Common/CommonApplicationModel.js +224 -16
  28. package/sdk/application/Common/CommonApplicationValidator.d.ts +42 -4
  29. package/sdk/application/Common/CommonApplicationValidator.js +21 -3
  30. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +25 -18
  31. package/sdk/application/Communication/CommunicationApplicationClient.js +74 -47
  32. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +190 -14
  33. package/sdk/application/Communication/CommunicationApplicationModel.js +124 -7
  34. package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +27 -4
  35. package/sdk/application/Communication/CommunicationApplicationValidator.js +21 -5
  36. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +113 -112
  37. package/sdk/application/Configuration/ConfigurationApplicationClient.js +381 -260
  38. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +2453 -110
  39. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1254 -108
  40. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +160 -8
  41. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +88 -4
  42. package/sdk/application/Content/ContentApplicationClient.d.ts +120 -138
  43. package/sdk/application/Content/ContentApplicationClient.js +409 -277
  44. package/sdk/application/Content/ContentApplicationModel.d.ts +1627 -105
  45. package/sdk/application/Content/ContentApplicationModel.js +1202 -109
  46. package/sdk/application/Content/ContentApplicationValidator.d.ts +214 -12
  47. package/sdk/application/Content/ContentApplicationValidator.js +113 -3
  48. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +20 -29
  49. package/sdk/application/FileStorage/FileStorageApplicationClient.js +68 -47
  50. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +299 -20
  51. package/sdk/application/FileStorage/FileStorageApplicationModel.js +209 -16
  52. package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +55 -5
  53. package/sdk/application/FileStorage/FileStorageApplicationValidator.js +33 -6
  54. package/sdk/application/Lead/LeadApplicationClient.d.ts +50 -53
  55. package/sdk/application/Lead/LeadApplicationClient.js +169 -103
  56. package/sdk/application/Lead/LeadApplicationModel.d.ts +1405 -54
  57. package/sdk/application/Lead/LeadApplicationModel.js +619 -73
  58. package/sdk/application/Lead/LeadApplicationValidator.d.ts +91 -9
  59. package/sdk/application/Lead/LeadApplicationValidator.js +51 -6
  60. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +34 -33
  61. package/sdk/application/Logistic/LogisticApplicationClient.js +110 -73
  62. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +399 -28
  63. package/sdk/application/Logistic/LogisticApplicationModel.js +293 -24
  64. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +48 -6
  65. package/sdk/application/Logistic/LogisticApplicationValidator.js +34 -6
  66. package/sdk/application/Order/OrderApplicationClient.d.ts +81 -133
  67. package/sdk/application/Order/OrderApplicationClient.js +297 -217
  68. package/sdk/application/Order/OrderApplicationModel.d.ts +1101 -66
  69. package/sdk/application/Order/OrderApplicationModel.js +776 -57
  70. package/sdk/application/Order/OrderApplicationValidator.d.ts +249 -14
  71. package/sdk/application/Order/OrderApplicationValidator.js +114 -5
  72. package/sdk/application/Payment/PaymentApplicationClient.d.ts +341 -356
  73. package/sdk/application/Payment/PaymentApplicationClient.js +1077 -703
  74. package/sdk/application/Payment/PaymentApplicationModel.d.ts +3125 -99
  75. package/sdk/application/Payment/PaymentApplicationModel.js +1158 -62
  76. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +494 -41
  77. package/sdk/application/Payment/PaymentApplicationValidator.js +297 -25
  78. package/sdk/application/PosCart/PosCartApplicationClient.d.ts +178 -350
  79. package/sdk/application/PosCart/PosCartApplicationClient.js +636 -491
  80. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1823 -89
  81. package/sdk/application/PosCart/PosCartApplicationModel.js +1117 -85
  82. package/sdk/application/PosCart/PosCartApplicationValidator.d.ts +480 -29
  83. package/sdk/application/PosCart/PosCartApplicationValidator.js +262 -15
  84. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +49 -47
  85. package/sdk/application/Rewards/RewardsApplicationClient.js +160 -102
  86. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +343 -22
  87. package/sdk/application/Rewards/RewardsApplicationModel.js +230 -15
  88. package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +70 -7
  89. package/sdk/application/Rewards/RewardsApplicationValidator.js +45 -6
  90. package/sdk/application/Share/ShareApplicationClient.d.ts +44 -50
  91. package/sdk/application/Share/ShareApplicationClient.js +165 -97
  92. package/sdk/application/Share/ShareApplicationModel.d.ts +230 -15
  93. package/sdk/application/Share/ShareApplicationModel.js +154 -16
  94. package/sdk/application/Share/ShareApplicationValidator.d.ts +86 -8
  95. package/sdk/application/Share/ShareApplicationValidator.js +48 -4
  96. package/sdk/application/Theme/ThemeApplicationClient.d.ts +25 -27
  97. package/sdk/application/Theme/ThemeApplicationClient.js +83 -54
  98. package/sdk/application/Theme/ThemeApplicationModel.d.ts +621 -48
  99. package/sdk/application/Theme/ThemeApplicationModel.js +464 -40
  100. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +49 -5
  101. package/sdk/application/Theme/ThemeApplicationValidator.js +26 -3
  102. package/sdk/application/User/UserApplicationClient.d.ts +219 -303
  103. package/sdk/application/User/UserApplicationClient.js +819 -522
  104. package/sdk/application/User/UserApplicationModel.d.ts +1390 -101
  105. package/sdk/application/User/UserApplicationModel.js +983 -44
  106. package/sdk/application/User/UserApplicationValidator.d.ts +457 -33
  107. package/sdk/application/User/UserApplicationValidator.js +265 -31
  108. package/sdk/common/AxiosHelper.js +8 -2
  109. package/sdk/common/Paginator.d.ts +27 -12
  110. package/sdk/common/Paginator.js +15 -0
  111. package/sdk/common/RequestSigner.js +0 -1
  112. package/sdk/partner/PartnerAPIClient.d.ts +15 -1
  113. package/sdk/partner/PartnerAPIClient.js +8 -1
  114. package/sdk/partner/PartnerClient.d.ts +20 -3
  115. package/sdk/partner/PartnerClient.js +17 -0
  116. package/sdk/partner/PartnerConfig.d.ts +40 -14
  117. package/sdk/partner/PartnerConfig.js +31 -6
  118. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +26 -25
  119. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +82 -53
  120. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +202 -17
  121. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +139 -10
  122. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.d.ts +42 -5
  123. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +26 -4
  124. package/sdk/platform/Billing/BillingPlatformClient.d.ts +88 -97
  125. package/sdk/platform/Billing/BillingPlatformClient.js +310 -191
  126. package/sdk/platform/Billing/BillingPlatformModel.d.ts +1211 -68
  127. package/sdk/platform/Billing/BillingPlatformModel.js +824 -59
  128. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +153 -12
  129. package/sdk/platform/Billing/BillingPlatformValidator.js +87 -8
  130. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +392 -634
  131. package/sdk/platform/Cart/CartPlatformApplicationClient.js +1480 -957
  132. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +827 -57
  133. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +492 -34
  134. package/sdk/platform/Cart/CartPlatformModel.d.ts +3639 -175
  135. package/sdk/platform/Cart/CartPlatformModel.js +2368 -212
  136. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +438 -615
  137. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +1449 -984
  138. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +1081 -49
  139. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +482 -23
  140. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +573 -824
  141. package/sdk/platform/Catalog/CatalogPlatformClient.js +1773 -1264
  142. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +6871 -326
  143. package/sdk/platform/Catalog/CatalogPlatformModel.js +4215 -349
  144. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +1331 -71
  145. package/sdk/platform/Catalog/CatalogPlatformValidator.js +611 -30
  146. package/sdk/platform/Common/CommonPlatformClient.d.ts +14 -21
  147. package/sdk/platform/Common/CommonPlatformClient.js +48 -33
  148. package/sdk/platform/Common/CommonPlatformModel.d.ts +448 -19
  149. package/sdk/platform/Common/CommonPlatformModel.js +224 -16
  150. package/sdk/platform/Common/CommonPlatformValidator.d.ts +42 -4
  151. package/sdk/platform/Common/CommonPlatformValidator.js +21 -3
  152. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +457 -279
  153. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1423 -553
  154. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +581 -42
  155. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +294 -22
  156. package/sdk/platform/Communication/CommunicationPlatformClient.d.ts +18 -5
  157. package/sdk/platform/Communication/CommunicationPlatformClient.js +58 -19
  158. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1630 -102
  159. package/sdk/platform/Communication/CommunicationPlatformModel.js +1150 -85
  160. package/sdk/platform/Communication/CommunicationPlatformValidator.d.ts +16 -3
  161. package/sdk/platform/Communication/CommunicationPlatformValidator.js +11 -3
  162. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +102 -111
  163. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +321 -225
  164. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +830 -43
  165. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +612 -78
  166. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +180 -13
  167. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +98 -10
  168. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +232 -212
  169. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +737 -438
  170. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +293 -22
  171. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +184 -17
  172. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +166 -178
  173. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +519 -310
  174. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +4504 -188
  175. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2242 -204
  176. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +332 -19
  177. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +153 -10
  178. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +495 -560
  179. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1777 -987
  180. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +872 -62
  181. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +487 -35
  182. package/sdk/platform/Content/ContentPlatformModel.d.ts +1661 -108
  183. package/sdk/platform/Content/ContentPlatformModel.js +1217 -113
  184. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +67 -101
  185. package/sdk/platform/Discount/DiscountPlatformClient.js +240 -176
  186. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +242 -15
  187. package/sdk/platform/Discount/DiscountPlatformModel.js +162 -10
  188. package/sdk/platform/Discount/DiscountPlatformValidator.d.ts +185 -13
  189. package/sdk/platform/Discount/DiscountPlatformValidator.js +88 -8
  190. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +32 -41
  191. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +106 -74
  192. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +77 -6
  193. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +41 -6
  194. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +39 -54
  195. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +124 -99
  196. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +299 -20
  197. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +207 -16
  198. package/sdk/platform/FileStorage/FileStoragePlatformValidator.d.ts +98 -8
  199. package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +54 -7
  200. package/sdk/platform/Finance/FinancePlatformClient.d.ts +85 -91
  201. package/sdk/platform/Finance/FinancePlatformClient.js +272 -180
  202. package/sdk/platform/Finance/FinancePlatformModel.d.ts +619 -50
  203. package/sdk/platform/Finance/FinancePlatformModel.js +458 -30
  204. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +123 -15
  205. package/sdk/platform/Finance/FinancePlatformValidator.js +95 -16
  206. package/sdk/platform/Inventory/InventoryPlatformClient.d.ts +99 -97
  207. package/sdk/platform/Inventory/InventoryPlatformClient.js +288 -199
  208. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +1354 -61
  209. package/sdk/platform/Inventory/InventoryPlatformModel.js +916 -83
  210. package/sdk/platform/Inventory/InventoryPlatformValidator.d.ts +168 -12
  211. package/sdk/platform/Inventory/InventoryPlatformValidator.js +82 -6
  212. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +86 -106
  213. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +326 -186
  214. package/sdk/platform/Lead/LeadPlatformApplicationValidator.d.ts +180 -14
  215. package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +94 -9
  216. package/sdk/platform/Lead/LeadPlatformClient.d.ts +75 -101
  217. package/sdk/platform/Lead/LeadPlatformClient.js +240 -174
  218. package/sdk/platform/Lead/LeadPlatformModel.d.ts +1403 -54
  219. package/sdk/platform/Lead/LeadPlatformModel.js +618 -73
  220. package/sdk/platform/Lead/LeadPlatformValidator.d.ts +173 -12
  221. package/sdk/platform/Lead/LeadPlatformValidator.js +85 -8
  222. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +18 -14
  223. package/sdk/platform/Order/OrderPlatformApplicationClient.js +56 -29
  224. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +26 -4
  225. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +16 -3
  226. package/sdk/platform/Order/OrderPlatformClient.d.ts +343 -556
  227. package/sdk/platform/Order/OrderPlatformClient.js +969 -762
  228. package/sdk/platform/Order/OrderPlatformModel.d.ts +4967 -247
  229. package/sdk/platform/Order/OrderPlatformModel.js +3249 -259
  230. package/sdk/platform/Order/OrderPlatformValidator.d.ts +758 -37
  231. package/sdk/platform/Order/OrderPlatformValidator.js +351 -22
  232. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +28 -36
  233. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +103 -59
  234. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.d.ts +66 -6
  235. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.js +32 -4
  236. package/sdk/platform/Partner/PartnerPlatformClient.d.ts +68 -107
  237. package/sdk/platform/Partner/PartnerPlatformClient.js +253 -174
  238. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +767 -45
  239. package/sdk/platform/Partner/PartnerPlatformModel.js +524 -41
  240. package/sdk/platform/Partner/PartnerPlatformValidator.d.ts +207 -13
  241. package/sdk/platform/Partner/PartnerPlatformValidator.js +87 -5
  242. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +255 -260
  243. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +860 -504
  244. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +348 -30
  245. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +221 -19
  246. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +73 -73
  247. package/sdk/platform/Payment/PaymentPlatformClient.js +238 -154
  248. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2658 -93
  249. package/sdk/platform/Payment/PaymentPlatformModel.js +1035 -36
  250. package/sdk/platform/Payment/PaymentPlatformValidator.d.ts +111 -11
  251. package/sdk/platform/Payment/PaymentPlatformValidator.js +68 -7
  252. package/sdk/platform/PlatformAPIClient.d.ts +16 -1
  253. package/sdk/platform/PlatformAPIClient.js +9 -1
  254. package/sdk/platform/PlatformApplicationClient.d.ts +22 -1798
  255. package/sdk/platform/PlatformApplicationClient.js +17 -1899
  256. package/sdk/platform/PlatformClient.d.ts +29 -12579
  257. package/sdk/platform/PlatformClient.js +26 -15085
  258. package/sdk/platform/PlatformConfig.d.ts +37 -11
  259. package/sdk/platform/PlatformConfig.js +32 -6
  260. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +80 -92
  261. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +307 -177
  262. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +149 -12
  263. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +82 -8
  264. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +371 -23
  265. package/sdk/platform/Rewards/RewardsPlatformModel.js +246 -16
  266. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +120 -89
  267. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +349 -201
  268. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +128 -12
  269. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +85 -11
  270. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +148 -178
  271. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +454 -329
  272. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1399 -96
  273. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1022 -71
  274. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +280 -18
  275. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +134 -11
  276. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +38 -47
  277. package/sdk/platform/Share/SharePlatformApplicationClient.js +137 -73
  278. package/sdk/platform/Share/SharePlatformApplicationValidator.d.ts +87 -7
  279. package/sdk/platform/Share/SharePlatformApplicationValidator.js +42 -5
  280. package/sdk/platform/Share/SharePlatformModel.d.ts +250 -16
  281. package/sdk/platform/Share/SharePlatformModel.js +165 -17
  282. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +149 -183
  283. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +579 -330
  284. package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +308 -24
  285. package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +162 -10
  286. package/sdk/platform/Theme/ThemePlatformModel.d.ts +621 -48
  287. package/sdk/platform/Theme/ThemePlatformModel.js +464 -40
  288. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +119 -151
  289. package/sdk/platform/User/UserPlatformApplicationClient.js +411 -244
  290. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +235 -18
  291. package/sdk/platform/User/UserPlatformApplicationValidator.js +126 -12
  292. package/sdk/platform/User/UserPlatformModel.d.ts +1390 -101
  293. package/sdk/platform/User/UserPlatformModel.js +983 -44
  294. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +38 -47
  295. package/sdk/platform/Webhook/WebhookPlatformClient.js +137 -87
  296. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +242 -16
  297. package/sdk/platform/Webhook/WebhookPlatformModel.js +167 -18
  298. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +83 -7
  299. package/sdk/platform/Webhook/WebhookPlatformValidator.js +43 -5
  300. package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +14 -21
  301. package/sdk/public/Configuration/ConfigurationPublicClient.js +46 -33
  302. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +473 -19
  303. package/sdk/public/Configuration/ConfigurationPublicModel.js +224 -16
  304. package/sdk/public/Configuration/ConfigurationPublicValidator.d.ts +42 -4
  305. package/sdk/public/Configuration/ConfigurationPublicValidator.js +21 -3
  306. package/sdk/public/Inventory/InventoryPublicClient.d.ts +48 -48
  307. package/sdk/public/Inventory/InventoryPublicClient.js +146 -98
  308. package/sdk/public/Inventory/InventoryPublicModel.d.ts +392 -21
  309. package/sdk/public/Inventory/InventoryPublicModel.js +267 -27
  310. package/sdk/public/Inventory/InventoryPublicValidator.d.ts +90 -8
  311. package/sdk/public/Inventory/InventoryPublicValidator.js +44 -4
  312. package/sdk/public/PublicClient.d.ts +19 -3
  313. package/sdk/public/PublicClient.js +16 -0
  314. package/sdk/public/PublicConfig.d.ts +27 -6
  315. package/sdk/public/PublicConfig.js +17 -1
  316. package/sdk/public/Webhook/WebhookPublicClient.d.ts +13 -11
  317. package/sdk/public/Webhook/WebhookPublicClient.js +42 -27
  318. package/sdk/public/Webhook/WebhookPublicModel.d.ts +242 -16
  319. package/sdk/public/Webhook/WebhookPublicModel.js +167 -18
  320. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +18 -3
  321. package/sdk/public/Webhook/WebhookPublicValidator.js +14 -4
@@ -1,146 +1,1096 @@
1
1
  const Joi = require("joi");
2
2
 
3
- class ConfigurationModel {
3
+ /**
4
+ * @typedef Android
5
+ * @property {string} [api_key] - Firebase secret credential API key for Android
6
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
7
+ * channel application created within a business account
8
+ */
9
+
10
+ /**
11
+ * @typedef AppCurrencyResponse
12
+ * @property {string} [application] - Alphanumeric ID allotted to an application
13
+ * (sales channel website) created within a business account
14
+ * @property {DefaultCurrency} [default_currency]
15
+ * @property {Currency[]} [supported_currency]
16
+ */
17
+
18
+ /**
19
+ * @typedef AppFeature
20
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero
21
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
22
+ * for the sales channel features
23
+ * @property {string} [app] - Application ID of the sales channel
24
+ * @property {CartFeature} [cart]
25
+ * @property {CommonFeature} [common]
26
+ * @property {string} [created_at] - ISO 8601 timestamp showing the date when
27
+ * the features were configured
28
+ * @property {HomePageFeature} [home_page]
29
+ * @property {LandingPageFeature} [landing_page]
30
+ * @property {OrderFeature} [order]
31
+ * @property {PcrFeature} [pcr]
32
+ * @property {ProductDetailFeature} [product_detail]
33
+ * @property {QrFeature} [qr]
34
+ * @property {RegistrationPageFeature} [registration_page]
35
+ * @property {string} [updated_at] - ISO 8601 timestamp of last known
36
+ * modifications to the sales channel feature configuration
37
+ */
38
+
39
+ /**
40
+ * @typedef AppFeatureRequest
41
+ * @property {AppFeature} [feature]
42
+ */
43
+
44
+ /**
45
+ * @typedef AppFeatureResponse
46
+ * @property {AppFeature} [feature]
47
+ */
48
+
49
+ /**
50
+ * @typedef Application
51
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
52
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
53
+ * of the sales channel
54
+ * @property {string} [app_type] - It shows application is live or in development mode.
55
+ * @property {ApplicationAuth} [auth]
56
+ * @property {SecureUrl} [banner]
57
+ * @property {number} [cache_ttl] - An integer value that specifies the number
58
+ * of seconds until the key expires
59
+ * @property {string} [channel_type] - It indicates different channel types like
60
+ * store, website-and-mobile-apps. Default value is store
61
+ * @property {number} [company_id] - Numeric ID allotted to a business account
62
+ * where the sales channel exists
63
+ * @property {ApplicationCors} [cors]
64
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation
65
+ * @property {string} [description] - It contains detailed information about the
66
+ * sales channel.
67
+ * @property {Domain} [domain]
68
+ * @property {Domain[]} [domains]
69
+ * @property {SecureUrl} [favicon]
70
+ * @property {boolean} [is_active] - Indicates sales channel is active or not active
71
+ * @property {boolean} [is_internal] - Indicates whether a sales channel is
72
+ * internal or not
73
+ * @property {SecureUrl} [logo]
74
+ * @property {ApplicationMeta[]} [meta]
75
+ * @property {SecureUrl} [mobile_logo]
76
+ * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
77
+ * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
78
+ * of owner who owns the application
79
+ * @property {ApplicationRedirections[]} [redirections]
80
+ * @property {string} [token] - Random generated fix length string for sales
81
+ * channel. It is required and auto-generated.
82
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation
83
+ * @property {ApplicationWebsite} [website]
84
+ */
85
+
86
+ /**
87
+ * @typedef ApplicationAboutResponse
88
+ * @property {ApplicationInfo} [application_info]
89
+ * @property {CompanyInfo} [company_info]
90
+ * @property {OwnerInfo} [owner_info]
91
+ */
92
+
93
+ /**
94
+ * @typedef ApplicationAuth
95
+ * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled.
96
+ */
97
+
98
+ /**
99
+ * @typedef ApplicationCors
100
+ * @property {string[]} [domains]
101
+ */
102
+
103
+ /**
104
+ * @typedef ApplicationDetail
105
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
106
+ * for the sales channel details
107
+ * @property {SecureUrl} [banner]
108
+ * @property {string} [description] - It gives a detailed information about the
109
+ * sales channel. It is required.
110
+ * @property {Domain} [domain]
111
+ * @property {Domain[]} [domains]
112
+ * @property {SecureUrl} [favicon]
113
+ * @property {SecureUrl} [logo]
114
+ * @property {SecureUrl} [mobile_logo]
115
+ * @property {string} name - Name of the sales channel. It is required.
116
+ */
117
+
118
+ /**
119
+ * @typedef ApplicationInfo
120
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
121
+ * of application information
122
+ * @property {SecureUrl} [banner]
123
+ * @property {ApplicationCors} [cors]
124
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel
125
+ * information creation
126
+ * @property {string} [description] - It contains details information about the
127
+ * sales channel
128
+ * @property {Domain} [domain]
129
+ * @property {boolean} [is_active] - Indicates whether sales channel is active
130
+ * or not active
131
+ * @property {SecureUrl} [logo]
132
+ * @property {ApplicationMeta} [meta]
133
+ * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
134
+ * @property {string} [secret] - Random generated fix length string for sales
135
+ * channel. It is required and auto-generated.
136
+ * @property {string} [token] - Random generated fix length string for sales
137
+ * channel. It is required and auto-generated.
138
+ * @property {ApplicationWebsite} [website]
139
+ */
140
+
141
+ /**
142
+ * @typedef ApplicationInformation
143
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
144
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
145
+ * the application information
146
+ * @property {InformationAddress} [address]
147
+ * @property {string} [application] - Alphanumeric ID allotted to a sales
148
+ * channel application created within a business account
149
+ * @property {BusinessHighlights} [business_highlights]
150
+ * @property {string} [copyright_text] - Copyright statement usually seen at the
151
+ * site's footer
152
+ * @property {string} [created_at] - ISO 8601 timestamp of creation of the
153
+ * application information
154
+ * @property {Links} [links]
155
+ * @property {SocialLinks} [social_links]
156
+ * @property {InformationSupport} [support]
157
+ * @property {string} [updated_at] - ISO 8601 timestamp of updation of the
158
+ * application information
159
+ */
160
+
161
+ /**
162
+ * @typedef ApplicationMeta
163
+ * @property {string} [name] - Indicates to name of application meta
164
+ * @property {string} [value] - Value related to application meta name
165
+ */
166
+
167
+ /**
168
+ * @typedef ApplicationRedirections
169
+ * @property {string} [redirect_from] - Old domain url of the sales channel
170
+ * @property {string} [redirect_to] - New domain URL of the sales channel. Users
171
+ * will be automatically redirected from old domain to new domain.
172
+ * @property {string} [type] - It shows domain redirection type. Permanent
173
+ * redirection is for long time period redirection, and temporary redirection
174
+ * for a short time period.
175
+ */
176
+
177
+ /**
178
+ * @typedef ApplicationVersionRequest
179
+ * @property {string} [id]
180
+ * @property {string} name
181
+ * @property {string} [namespace]
182
+ * @property {string} [token]
183
+ * @property {string} version
184
+ */
185
+
186
+ /**
187
+ * @typedef ApplicationWebsite
188
+ * @property {string} [basepath] - Base path for the current sales channel website
189
+ * @property {boolean} [enabled] - Shows whether sales channel website URL is
190
+ * enabled or not
191
+ */
192
+
193
+ /**
194
+ * @typedef AppStaff
195
+ * @property {string} [_id] - The unique identifier for the sales channel staff member
196
+ * @property {string} [application] - The unique identifier (24-digit Mongo
197
+ * Object ID) of the current sales channel
198
+ * @property {string} [employee_code] - Employee code of sales channel staff
199
+ * member. It has unique value.
200
+ * @property {string} [first_name] - First name the staff member
201
+ * @property {string} [last_name] - Last name the staff member
202
+ * @property {boolean} [order_incent] - This is a boolean value. `true` to
203
+ * retrieve the staff members eligible for getting incentives on orders.
204
+ * @property {string} [profile_pic_url] - Profile image hosted url of the staff member
205
+ * @property {number[]} [stores]
206
+ * @property {string} [title] - Tittle for the staff member like owner, staff.
207
+ * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the
208
+ * details of a particular staff member.
209
+ */
210
+
211
+ /**
212
+ * @typedef AppStaffListResponse
213
+ * @property {AppStaff[]} [items]
214
+ * @property {Page} [page]
215
+ */
216
+
217
+ /**
218
+ * @typedef AppStaffResponse
219
+ * @property {AppStaff[]} [staff_users]
220
+ */
221
+
222
+ /**
223
+ * @typedef AppTokenResponse
224
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
225
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
226
+ * of the token
227
+ * @property {string} [application] - Alphanumeric ID allotted to the current
228
+ * application created within the current business account
229
+ * @property {string} [created_at] - ISO 8601 timestamp of token creation
230
+ * @property {Tokens} [tokens]
231
+ * @property {string} [updated_at] - ISO 8601 timestamp of token updation
232
+ */
233
+
234
+ /**
235
+ * @typedef AppVersionRequest
236
+ * @property {ApplicationVersionRequest} application
237
+ * @property {Device} device
238
+ * @property {string} [locale]
239
+ * @property {string} [timezone]
240
+ */
241
+
242
+ /**
243
+ * @typedef ArticleAssignmentRule
244
+ * @property {StorePriorityRule} [store_priority]
245
+ */
246
+
247
+ /**
248
+ * @typedef BlogLink
249
+ * @property {string} [icon] - Hosted URL of icon image shown on the website
250
+ * @property {string} [link] - Web URL of brand's blog page
251
+ * @property {string} [title] - Name of the brand's blog page
252
+ */
253
+
254
+ /**
255
+ * @typedef BusinessHighlights
256
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
257
+ * the related business
258
+ * @property {string} [icon] - Hosted URL of icon image representing the
259
+ * business highlight
260
+ * @property {string} [sub_title] - Detailed information about the highlight
261
+ * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery
262
+ */
263
+
264
+ /**
265
+ * @typedef CartFeature
266
+ * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true.
267
+ * @property {boolean} [gst_input] - Shows whether customer is allowed to enter
268
+ * GST on the cart page for claiming input credits
269
+ * @property {boolean} [placing_for_customer] - Shows whether the staff is
270
+ * placing order on behalf of customer. Default value is true.
271
+ * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits,
272
+ * together. Default value is false.
273
+ * @property {boolean} [staff_selection] - Shows whether staff selection is
274
+ * enabled on cart page
275
+ */
276
+
277
+ /**
278
+ * @typedef CommonFeature
279
+ * @property {CommunicationOptinDialogFeature} [communication_optin_dialog]
280
+ * @property {CompareProductsFeature} [compare_products]
281
+ * @property {CurrencyFeature} [currency]
282
+ * @property {DeploymentStoreSelectionFeature} [deployment_store_selection]
283
+ * @property {FeedbackFeature} [feedback]
284
+ * @property {ListingPriceFeature} [listing_price]
285
+ * @property {RevenueEngineFeature} [revenue_engine]
286
+ * @property {RewardPointsConfig} [reward_points]
287
+ */
288
+
289
+ /**
290
+ * @typedef CommunicationOptinDialogFeature
291
+ * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled
292
+ */
293
+
294
+ /**
295
+ * @typedef CompanyAboutAddress
296
+ * @property {string} [address_type] - Indicates different office types like
297
+ * office, registered, and home.
298
+ * @property {string} [address1] - Primary address line of the company
299
+ * @property {string} [address2] - Secondary address line of the company
300
+ * @property {string} [city] - City name, e.g. Mumbai
301
+ * @property {string} [country] - Country name, e.g. India
302
+ * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001
303
+ * @property {string} [state] - State name, e.g. Maharashtra
304
+ */
305
+
306
+ /**
307
+ * @typedef CompanyInfo
308
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
309
+ * of company information
310
+ * @property {CompanyAboutAddress[]} [addresses]
311
+ * @property {string} [created_on] - ISO 8601 timestamp of company information creation
312
+ * @property {boolean} [is_active] - Indicates company is active or not active
313
+ * @property {string} [name] - Name of the company, Reliance Retail Limited
314
+ * @property {string[]} [notification_emails]
315
+ * @property {number} [uid] - Company UID
316
+ */
317
+
318
+ /**
319
+ * @typedef CompareProductsFeature
320
+ * @property {boolean} [enabled] - Shows whether product comparison feature is
321
+ * enabled on PDP
322
+ */
323
+
324
+ /**
325
+ * @typedef Credentials
326
+ * @property {Android} [android]
327
+ * @property {string} [api_key] - An API key is a unique string that's used to
328
+ * route requests to your Firebase project when interacting with Firebase.
329
+ * @property {string} [application_id] - Alphanumeric ID allotted to the current
330
+ * application created within the current business account
331
+ * @property {string} [gcm_sender_id] - Google Cloud Manager's Sender ID for
332
+ * Firebase. It is a unique numerical value which is created when you
333
+ * configure your project in the Google Developers Console/Google Cloud Console.
334
+ * @property {Ios} [ios]
335
+ * @property {string} [project_id] - Project ID for Firebase integration.
336
+ * Project ID is a unique identifier for a project and is used only within the console.
337
+ */
338
+
339
+ /**
340
+ * @typedef Credit
341
+ * @property {boolean} [enabled] - Shows whether reward points should be credited
342
+ */
343
+
344
+ /**
345
+ * @typedef CurrenciesResponse
346
+ * @property {Currency[]} [items]
347
+ */
348
+
349
+ /**
350
+ * @typedef Currency
351
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
352
+ * of the current sales channel supported currency
353
+ * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR.
354
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel support
355
+ * currency creation
356
+ * @property {number} [decimal_digits] - Acceptable decimal limits for a given
357
+ * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid
358
+ * value of a currency.
359
+ * @property {boolean} [is_active] - Shows currency is enabled or not in current
360
+ * sales channel
361
+ * @property {string} [name] - Name of the currency, e.g Indian Rupee
362
+ * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹
363
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel support
364
+ * currency updation
365
+ */
366
+
367
+ /**
368
+ * @typedef CurrencyFeature
369
+ * @property {string} [default_currency] - 3-letter code of the default currency
370
+ * used in the application. Default vaule is 'INR'.
371
+ * @property {string} [type] - If 'explicit', currency formatting shows currency
372
+ * code with price. For explicit or all currency selection.
373
+ * @property {string[]} [value] - 3-letter currency code
374
+ */
375
+
376
+ /**
377
+ * @typedef Debit
378
+ * @property {boolean} [auto_apply] - Allow automatic debit of reward points
379
+ * @property {boolean} [enabled] - Shows whether reward points are available for debit
380
+ * @property {string} [strategy_channel] - Strategy channel for debiting reward points
381
+ */
382
+
383
+ /**
384
+ * @typedef DefaultCurrency
385
+ * @property {string} [code] - 3-character code of the default currency, e.g.
386
+ * INR, EUR, USD
387
+ * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID)
388
+ * of the default currency
389
+ */
390
+
391
+ /**
392
+ * @typedef DeploymentStoreSelectionFeature
393
+ * @property {boolean} [enabled] - Shows whether selection of store (for
394
+ * deploying the application) is permitted
395
+ * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard
396
+ * type delivery, store selection is compulsory. For soft type, delivery store
397
+ * selection is optional.
398
+ */
399
+
400
+ /**
401
+ * @typedef Device
402
+ * @property {number} [build]
403
+ * @property {string} [model]
404
+ * @property {OS} os
405
+ */
406
+
407
+ /**
408
+ * @typedef Domain
409
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
410
+ * of the sales channel domain
411
+ * @property {boolean} [is_predefined] - Domain is hosting domain or not.
412
+ * @property {boolean} [is_primary] - Domain is primary or not. Primary domain
413
+ * is the default/main domain.
414
+ * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain
415
+ * @property {string} [name]
416
+ * @property {boolean} [verified] - Domain is verified or not. TXT and A records
417
+ * should propagate correctly.
418
+ */
419
+
420
+ /**
421
+ * @typedef FacebookLink
422
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
423
+ * @property {string} [link] - Web URL of brand's Facebook page
424
+ * @property {string} [title] - Name of the social media platform, e.g. Facebook
425
+ */
426
+
427
+ /**
428
+ * @typedef FeedbackFeature
429
+ * @property {boolean} [enabled] - Shows whether customer feedback is enabled on
430
+ * PDP. Default value is false.
431
+ */
432
+
433
+ /**
434
+ * @typedef Firebase
435
+ * @property {Credentials} [credentials]
436
+ * @property {boolean} [enabled] - Shows whether Firebase integration is enabled
437
+ * or disabled for the sales channel
438
+ */
439
+
440
+ /**
441
+ * @typedef Freshchat
442
+ * @property {FreshchatCredentials} [credentials]
443
+ * @property {boolean} [enabled] - Shows whether Freshchat integration is
444
+ * enabled or disabled for the sales channel
445
+ */
446
+
447
+ /**
448
+ * @typedef FreshchatCredentials
449
+ * @property {string} [app_id] - The unique app_id of your Freshchat account for
450
+ * integrating Freshchat with your sales channel
451
+ * @property {string} [app_key] - The unique app_key of your Freshchat account
452
+ * for integrating Freshchat with your sales channel
453
+ * @property {string} [web_token] - Web token used for accessing the Freshchat APIs
454
+ */
455
+
456
+ /**
457
+ * @typedef FyndRewards
458
+ * @property {FyndRewardsCredentials} [credentials]
459
+ */
460
+
461
+ /**
462
+ * @typedef FyndRewardsCredentials
463
+ * @property {string} [public_key] - Public key for integrating with Fynd rewards.
464
+ */
465
+
466
+ /**
467
+ * @typedef GoogleMap
468
+ * @property {GoogleMapCredentials} [credentials]
469
+ */
470
+
471
+ /**
472
+ * @typedef GoogleMapCredentials
473
+ * @property {string} [api_key] - Secret API key for Google Maps. A unique
474
+ * identifier that authenticates requests made to Google Maps API.
475
+ */
476
+
477
+ /**
478
+ * @typedef GooglePlusLink
479
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
480
+ * @property {string} [link] - Web URL of brand's Google+ account
481
+ * @property {string} [title] - Name of the social media platform, e.g. Google+
482
+ */
483
+
484
+ /**
485
+ * @typedef Gtm
486
+ * @property {GtmCredentials} [credentials]
487
+ * @property {boolean} [enabled] - Shows whether GTM integration is enabled or
488
+ * disabled for the sales channel
489
+ */
490
+
491
+ /**
492
+ * @typedef GtmCredentials
493
+ * @property {string} [api_key] - Secret credential API key for GTM
494
+ */
495
+
496
+ /**
497
+ * @typedef HomePageFeature
498
+ * @property {boolean} [order_processing] - Shows whether order processing is
499
+ * enabled or not enabled
500
+ */
501
+
502
+ /**
503
+ * @typedef InformationAddress
504
+ * @property {string[]} [address_line] - Contact address of the sales channel
505
+ * @property {string} [city] - Name of the city, e.g. Mumbai
506
+ * @property {string} [country] - Name of the country, e.g. India
507
+ * @property {string} [loc] - Co-ordinates of the location
508
+ * @property {InformationPhone} [phone]
509
+ * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001
510
+ */
511
+
512
+ /**
513
+ * @typedef InformationPhone
514
+ * @property {string} [code] - Country code for contact number, e.g. +91 (for India)
515
+ * @property {string} [number] - 10-digit mobile number
516
+ */
517
+
518
+ /**
519
+ * @typedef InformationSupport
520
+ * @property {string[]} [email]
521
+ * @property {string[]} [phone]
522
+ * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM
523
+ */
524
+
525
+ /**
526
+ * @typedef InstagramLink
527
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
528
+ * @property {string} [link] - Web URL of brand's Instagram page
529
+ * @property {string} [title] - Name of the social media platform, e.g. Instagram
530
+ */
531
+
532
+ /**
533
+ * @typedef InvalidPayloadRequest
534
+ * @property {string} [message] - Error message when request body payload is improper
535
+ */
536
+
537
+ /**
538
+ * @typedef InventoryArticleAssignment
539
+ * @property {boolean} [post_order_reassignment] - Allow post order reassigment of article
540
+ * @property {ArticleAssignmentRule} [rules]
541
+ */
542
+
543
+ /**
544
+ * @typedef InventoryBrandRule
545
+ * @property {number[]} [brands]
546
+ * @property {string} [criteria] - Whether all brands are enabled, or explicitly
547
+ * few brands in the inventory
548
+ */
549
+
550
+ /**
551
+ * @typedef InventoryPaymentConfig
552
+ * @property {string} [mode_of_payment] - Mode of payment for the inventory of
553
+ * sales channel. It is required and default value is null.
554
+ * @property {string} [source] - Source of the payment mode for the inventory
555
+ * payment of sales channel. Default value is FYND.
556
+ */
557
+
558
+ /**
559
+ * @typedef InventoryStoreRule
560
+ * @property {string} [criteria] - Whether all stores are enabled, or explicitly
561
+ * few stores in the inventory, or use brands and company filter.
562
+ * @property {StoreCriteriaRule[]} [rules] - List of rules with company and
563
+ * brands uids. Used when critera is `filter`.
564
+ * @property {number[]} [stores] - List of store uids. Used when critera is `explicit`.
565
+ */
566
+
567
+ /**
568
+ * @typedef Ios
569
+ * @property {string} [api_key] - Firebase secret credential API key for IOS
570
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
571
+ * channel application created within a business account
572
+ */
573
+
574
+ /**
575
+ * @typedef LandingPageFeature
576
+ * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout
577
+ * from cart without logging in
578
+ * @property {LaunchPage} [launch_page]
579
+ * @property {string} [login_btn_text] - Shows the text displayed over the login button
580
+ * @property {boolean} [show_domain_textbox] - Shows whether a textbox for
581
+ * entering domain is available
582
+ * @property {boolean} [show_register_btn] - Shows whether register button is
583
+ * available in the login/landing page
584
+ */
585
+
586
+ /**
587
+ * @typedef LanguageResponse
588
+ * @property {SupportedLanguage[]} [items]
589
+ */
590
+
591
+ /**
592
+ * @typedef LaunchPage
593
+ * @property {string} [page_type] - Type of the launch page
594
+ * @property {Object} [params] - Launch page params. It can be nullable.
595
+ * @property {Object} [query] - Query related to launch page. It can be nullable.
596
+ */
597
+
598
+ /**
599
+ * @typedef LinkedInLink
600
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
601
+ * @property {string} [link] - Web URL of brand's LinkedIn channel
602
+ * @property {string} [title] - Name of the social media platform, e.g. LinkedIn
603
+ */
604
+
605
+ /**
606
+ * @typedef Links
607
+ * @property {string} [link] - Web URL for redirecting to a related page
608
+ * @property {string} [title] - Name of the related page or link
609
+ */
610
+
611
+ /**
612
+ * @typedef ListingPriceFeature
613
+ * @property {string} [sort] - Sorting of listing price with min or max value.
614
+ * Default value is min.
615
+ * @property {string} [value] - Shows which price to display on PLP if one
616
+ * product has multiple prices (for each size), valid values are 'min', 'max',
617
+ * 'range'. Default value is range.
618
+ */
619
+
620
+ /**
621
+ * @typedef Moengage
622
+ * @property {MoengageCredentials} [credentials]
623
+ * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled
624
+ * or disabled for the sales channel
625
+ */
626
+
627
+ /**
628
+ * @typedef MoengageCredentials
629
+ * @property {string} [app_id] - APP ID provided by MoEngage to identify a
630
+ * specific app. The app_id for your MoEngage account is available on the
631
+ * MoEngage Dashboard.
632
+ */
633
+
634
+ /**
635
+ * @typedef NotFound
636
+ * @property {string} [message] - Response message for not found
637
+ */
638
+
639
+ /**
640
+ * @typedef OptedStoreAddress
641
+ * @property {string} [address1] - Address of the opted store
642
+ * @property {string} [address2] - Address of the opted store
643
+ * @property {string} [city] - City of the opted store, e.g. Mumbai
644
+ * @property {string} [country] - Country of the opted store, e.g. India
645
+ * @property {StoreLatLong} [lat_long]
646
+ * @property {number} [pincode] - 6-digit PIN code of the opted store location
647
+ * @property {string} [state] - State of the opted store, e.g. Maharashtra
648
+ */
649
+
650
+ /**
651
+ * @typedef OrderFeature
652
+ * @property {boolean} [buy_again] - Allow buy again option for order. Default
653
+ * value is false.
654
+ */
655
+
656
+ /**
657
+ * @typedef OrderingStore
658
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
659
+ * of the ordering store
660
+ * @property {OptedStoreAddress} [address]
661
+ * @property {string} [code] - Code of the ordering store (usually same as Store Code)
662
+ * @property {string} [display_name] - Display name of the ordering store
663
+ * @property {string} [name] - Store name of the ordering store
664
+ * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001
665
+ * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102
666
+ * @property {string} [store_type] - Store type of the ordering store, e.g.
667
+ * high_street, mall, warehouse
668
+ * @property {number} [uid] - Ordering store UID
669
+ */
670
+
671
+ /**
672
+ * @typedef OrderingStores
673
+ * @property {number} [__v] - Version key for tracking ordering stores. Default
674
+ * value is zero.
675
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
676
+ * of the ordering store
677
+ * @property {boolean} [all_stores] - Allow all stores of the ordering stores
678
+ * @property {string} [app] - Alphanumeric ID allotted to an application (sales
679
+ * channel website) created within a business account
680
+ * @property {number[]} [deployed_stores]
681
+ * @property {boolean} [enabled] - Allow ordering stores for current sales channel
682
+ * @property {OrderingStore[]} [items]
683
+ * @property {Page} [page]
684
+ * @property {string} [type] - For hard type delivery, store selection is
685
+ * compulsory. For soft type, delivery store selection is optional.
686
+ */
687
+
688
+ /**
689
+ * @typedef OrderingStoreSelect
690
+ * @property {number} uid - Ordering store unique uid. It is required.
691
+ */
692
+
693
+ /**
694
+ * @typedef OrderingStoreSelectRequest
695
+ * @property {OrderingStoreSelect} ordering_store
696
+ */
697
+
698
+ /**
699
+ * @typedef OrderingStoresResponse
700
+ * @property {OrderingStore[]} [items]
701
+ * @property {Page} [page]
702
+ */
703
+
704
+ /**
705
+ * @typedef OS
706
+ * @property {string} name
707
+ * @property {string} [version]
708
+ */
709
+
710
+ /**
711
+ * @typedef OwnerInfo
712
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
713
+ * of owner info
714
+ * @property {UserEmail[]} [emails]
715
+ * @property {string} [first_name] - First name of the owner
716
+ * @property {string} [last_name] - Last name of the owner
717
+ * @property {UserPhoneNumber[]} [phone_numbers]
718
+ * @property {string} [profile_pic] - Hosted URL of profile pic
719
+ */
720
+
721
+ /**
722
+ * @typedef Page
723
+ * @property {number} [current]
724
+ * @property {boolean} [has_next]
725
+ * @property {boolean} [has_previous]
726
+ * @property {number} [item_total]
727
+ * @property {string} [next_id]
728
+ * @property {number} [size]
729
+ * @property {string} type
730
+ */
731
+
732
+ /**
733
+ * @typedef PcrFeature
734
+ * @property {boolean} [staff_selection] - Allow staff selection. Default value is false.
735
+ */
736
+
737
+ /**
738
+ * @typedef PinterestLink
739
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
740
+ * @property {string} [link] - Web URL of brand's Pinterest page
741
+ * @property {string} [title] - Name of the social media platform, e.g. Pinterest
742
+ */
743
+
744
+ /**
745
+ * @typedef ProductDetailFeature
746
+ * @property {boolean} [request_product] - Indicates whether customers can
747
+ * request for a product. Default value is false.
748
+ * @property {boolean} [seller_selection] - Shows whether the customers can
749
+ * choose the seller on PDP
750
+ * @property {string[]} [similar] - Configuration to show similar products,
751
+ * other products from same seller, other products in same category, other
752
+ * products in same price range, etc.
753
+ * @property {boolean} [update_product_meta] - Allow user to update product
754
+ * meta. Default value is true.
755
+ */
756
+
757
+ /**
758
+ * @typedef QrFeature
759
+ * @property {boolean} [application] - Shows whether sharing of mobile app via
760
+ * QR code is allowed. Default value is false.
761
+ * @property {boolean} [collections] - Shows whether sharing collection via QR
762
+ * code is allowed. Default value is false.
763
+ * @property {boolean} [products] - Shows whether sharing product via QR code is
764
+ * allowed. Default value is false.
765
+ */
766
+
767
+ /**
768
+ * @typedef RegistrationPageFeature
769
+ * @property {boolean} [ask_store_address] - Shows whether a form to collect the
770
+ * address of the store, should be displayed upon visiting the website
771
+ */
772
+
773
+ /**
774
+ * @typedef RevenueEngineFeature
775
+ * @property {boolean} [enabled] - Enable revenue engine. Default value is false.
776
+ */
777
+
778
+ /**
779
+ * @typedef RewardPointsConfig
780
+ * @property {Credit} [credit]
781
+ * @property {Debit} [debit]
782
+ */
783
+
784
+ /**
785
+ * @typedef Safetynet
786
+ * @property {SafetynetCredentials} [credentials]
787
+ * @property {boolean} [enabled] - Shows whether Safetynet integration is
788
+ * enabled or disabled for the sales channel
789
+ */
790
+
791
+ /**
792
+ * @typedef SafetynetCredentials
793
+ * @property {string} [api_key] - Secret credential API key for Safetynet. This
794
+ * API key is used for calling the methods of Safetynet APIs.
795
+ */
796
+
797
+ /**
798
+ * @typedef SecureUrl
799
+ * @property {string} [secure_url] - Hosted URL of the image
800
+ */
801
+
802
+ /**
803
+ * @typedef Segment
804
+ * @property {SegmentCredentials} [credentials]
805
+ * @property {boolean} [enabled] - Shows whether Segment integration is enabled
806
+ * or disabled for the sales channel
807
+ */
808
+
809
+ /**
810
+ * @typedef SegmentCredentials
811
+ * @property {string} [write_key] - The unique identifier for a source that
812
+ * tells Segment from which source data is coming from, to which workspace the
813
+ * data belongs, and which destinations should receive the data.
814
+ */
815
+
816
+ /**
817
+ * @typedef SocialLinks
818
+ * @property {BlogLink} [blog_link]
819
+ * @property {FacebookLink} [facebook]
820
+ * @property {GooglePlusLink} [google_plus]
821
+ * @property {InstagramLink} [instagram]
822
+ * @property {LinkedInLink} [linked_in]
823
+ * @property {PinterestLink} [pinterest]
824
+ * @property {TwitterLink} [twitter]
825
+ * @property {VimeoLink} [vimeo]
826
+ * @property {YoutubeLink} [youtube]
827
+ */
828
+
829
+ /**
830
+ * @typedef StoreCriteriaRule
831
+ * @property {number[]} [brands] - List of brand UID
832
+ * @property {number[]} [companies] - List of company UID
833
+ */
834
+
835
+ /**
836
+ * @typedef StoreLatLong
837
+ * @property {number[]} [coordinates]
838
+ * @property {string} [type] - Coordinates type of the opted store
839
+ */
840
+
841
+ /**
842
+ * @typedef StorePriorityRule
843
+ * @property {boolean} [enabled] - Shows store priority is enabled or not
844
+ * enabled for the article assignment.
845
+ * @property {string[]} [storetype_order]
846
+ */
847
+
848
+ /**
849
+ * @typedef SuccessMessageResponse
850
+ * @property {string} [message] - Success message shown to the user (in a string format)
851
+ */
852
+
853
+ /**
854
+ * @typedef SupportedLanguage
855
+ * @property {string} [code] - Unique code of supported language, e.g. hi-IN
856
+ * @property {string} [name] - Name of the supported language, e.g. हिन्दी
857
+ */
858
+
859
+ /**
860
+ * @typedef Tokens
861
+ * @property {Firebase} [firebase]
862
+ * @property {Freshchat} [freshchat]
863
+ * @property {FyndRewards} [fynd_rewards]
864
+ * @property {GoogleMap} [google_map]
865
+ * @property {Gtm} [gtm]
866
+ * @property {Moengage} [moengage]
867
+ * @property {Safetynet} [safetynet]
868
+ * @property {Segment} [segment]
869
+ */
870
+
871
+ /**
872
+ * @typedef TwitterLink
873
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
874
+ * @property {string} [link] - Web URL of brand's Twitter account
875
+ * @property {string} [title] - Name of the social media platform, e.g. Twitter
876
+ */
877
+
878
+ /**
879
+ * @typedef UnhandledError
880
+ * @property {string} [message]
881
+ */
882
+
883
+ /**
884
+ * @typedef UpdateDialog
885
+ * @property {number} [interval]
886
+ * @property {string} [type]
887
+ */
888
+
889
+ /**
890
+ * @typedef UserEmail
891
+ * @property {boolean} [active] - Current email is active or not active
892
+ * @property {string} [email] - Email address of the user
893
+ * @property {boolean} [primary] - Indicates current email is primay email or
894
+ * not primary email of user
895
+ * @property {boolean} [verified] - Indicates current email is verified email or
896
+ * not verified email
897
+ */
898
+
899
+ /**
900
+ * @typedef UserPhoneNumber
901
+ * @property {boolean} [active] - Current phone number is active or not active
902
+ * @property {number} [country_code] - Country code, e.g. +91
903
+ * @property {string} [phone] - Phone number of the user
904
+ * @property {boolean} [primary] - Indicates current phone number is primay or
905
+ * not primary of user
906
+ * @property {boolean} [verified] - Indicates current phone number is verified
907
+ * or not verified
908
+ */
909
+
910
+ /**
911
+ * @typedef VimeoLink
912
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
913
+ * @property {string} [link] - Web URL of brand's Vimeo channel
914
+ * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo
915
+ */
916
+
917
+ /**
918
+ * @typedef YoutubeLink
919
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
920
+ * @property {string} [link] - Web URL of brand's YouTube channel
921
+ * @property {string} [title] - Name of the social media platform, e.g. YouTube
922
+ */
923
+
924
+ class ConfigurationApplicationModel {
925
+ /** @returns {Android} */
4
926
  static Android() {
5
927
  return Joi.object({
6
928
  api_key: Joi.string().allow(""),
7
929
  application_id: Joi.string().allow(""),
8
930
  });
9
931
  }
932
+
933
+ /** @returns {AppCurrencyResponse} */
10
934
  static AppCurrencyResponse() {
11
935
  return Joi.object({
12
936
  application: Joi.string().allow(""),
13
- default_currency: ConfigurationModel.DefaultCurrency(),
14
- supported_currency: Joi.array().items(ConfigurationModel.Currency()),
937
+ default_currency: ConfigurationApplicationModel.DefaultCurrency(),
938
+ supported_currency: Joi.array().items(
939
+ ConfigurationApplicationModel.Currency()
940
+ ),
15
941
  });
16
942
  }
943
+
944
+ /** @returns {AppFeature} */
17
945
  static AppFeature() {
18
946
  return Joi.object({
19
947
  __v: Joi.number(),
20
948
  _id: Joi.string().allow(""),
21
949
  app: Joi.string().allow(""),
22
- cart: ConfigurationModel.CartFeature(),
23
- common: ConfigurationModel.CommonFeature(),
950
+ cart: ConfigurationApplicationModel.CartFeature(),
951
+ common: ConfigurationApplicationModel.CommonFeature(),
24
952
  created_at: Joi.string().allow(""),
25
- home_page: ConfigurationModel.HomePageFeature(),
26
- landing_page: ConfigurationModel.LandingPageFeature(),
27
- order: ConfigurationModel.OrderFeature(),
28
- pcr: ConfigurationModel.PcrFeature(),
29
- product_detail: ConfigurationModel.ProductDetailFeature(),
30
- qr: ConfigurationModel.QrFeature(),
31
- registration_page: ConfigurationModel.RegistrationPageFeature(),
953
+ home_page: ConfigurationApplicationModel.HomePageFeature(),
954
+ landing_page: ConfigurationApplicationModel.LandingPageFeature(),
955
+ order: ConfigurationApplicationModel.OrderFeature(),
956
+ pcr: ConfigurationApplicationModel.PcrFeature(),
957
+ product_detail: ConfigurationApplicationModel.ProductDetailFeature(),
958
+ qr: ConfigurationApplicationModel.QrFeature(),
959
+ registration_page: ConfigurationApplicationModel.RegistrationPageFeature(),
32
960
  updated_at: Joi.string().allow(""),
33
961
  });
34
962
  }
963
+
964
+ /** @returns {AppFeatureRequest} */
35
965
  static AppFeatureRequest() {
36
966
  return Joi.object({
37
- feature: ConfigurationModel.AppFeature(),
967
+ feature: ConfigurationApplicationModel.AppFeature(),
38
968
  });
39
969
  }
970
+
971
+ /** @returns {AppFeatureResponse} */
40
972
  static AppFeatureResponse() {
41
973
  return Joi.object({
42
- feature: ConfigurationModel.AppFeature(),
974
+ feature: ConfigurationApplicationModel.AppFeature(),
43
975
  });
44
976
  }
977
+
978
+ /** @returns {Application} */
45
979
  static Application() {
46
980
  return Joi.object({
47
981
  __v: Joi.number(),
48
982
  _id: Joi.string().allow(""),
49
983
  app_type: Joi.string().allow(""),
50
- auth: ConfigurationModel.ApplicationAuth(),
51
- banner: ConfigurationModel.SecureUrl(),
984
+ auth: ConfigurationApplicationModel.ApplicationAuth(),
985
+ banner: ConfigurationApplicationModel.SecureUrl(),
52
986
  cache_ttl: Joi.number(),
53
987
  channel_type: Joi.string().allow(""),
54
988
  company_id: Joi.number(),
55
- cors: ConfigurationModel.ApplicationCors(),
989
+ cors: ConfigurationApplicationModel.ApplicationCors(),
56
990
  created_at: Joi.string().allow(""),
57
991
  description: Joi.string().allow(""),
58
- domain: ConfigurationModel.Domain(),
59
- domains: Joi.array().items(ConfigurationModel.Domain()),
60
- favicon: ConfigurationModel.SecureUrl(),
992
+ domain: ConfigurationApplicationModel.Domain(),
993
+ domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
994
+ favicon: ConfigurationApplicationModel.SecureUrl(),
61
995
  is_active: Joi.boolean(),
62
996
  is_internal: Joi.boolean(),
63
- logo: ConfigurationModel.SecureUrl(),
64
- meta: Joi.array().items(ConfigurationModel.ApplicationMeta()),
65
- mobile_logo: ConfigurationModel.SecureUrl(),
997
+ logo: ConfigurationApplicationModel.SecureUrl(),
998
+ meta: Joi.array().items(ConfigurationApplicationModel.ApplicationMeta()),
999
+ mobile_logo: ConfigurationApplicationModel.SecureUrl(),
66
1000
  name: Joi.string().allow(""),
67
1001
  owner: Joi.string().allow(""),
68
1002
  redirections: Joi.array().items(
69
- ConfigurationModel.ApplicationRedirections()
1003
+ ConfigurationApplicationModel.ApplicationRedirections()
70
1004
  ),
71
1005
  token: Joi.string().allow(""),
72
1006
  updated_at: Joi.string().allow(""),
73
- website: ConfigurationModel.ApplicationWebsite(),
1007
+ website: ConfigurationApplicationModel.ApplicationWebsite(),
74
1008
  });
75
1009
  }
1010
+
1011
+ /** @returns {ApplicationAboutResponse} */
76
1012
  static ApplicationAboutResponse() {
77
1013
  return Joi.object({
78
- application_info: ConfigurationModel.ApplicationInfo(),
79
- company_info: ConfigurationModel.CompanyInfo(),
80
- owner_info: ConfigurationModel.OwnerInfo(),
1014
+ application_info: ConfigurationApplicationModel.ApplicationInfo(),
1015
+ company_info: ConfigurationApplicationModel.CompanyInfo(),
1016
+ owner_info: ConfigurationApplicationModel.OwnerInfo(),
81
1017
  });
82
1018
  }
1019
+
1020
+ /** @returns {ApplicationAuth} */
83
1021
  static ApplicationAuth() {
84
1022
  return Joi.object({
85
1023
  enabled: Joi.boolean(),
86
1024
  });
87
1025
  }
1026
+
1027
+ /** @returns {ApplicationCors} */
88
1028
  static ApplicationCors() {
89
1029
  return Joi.object({
90
1030
  domains: Joi.array().items(Joi.string().allow("")),
91
1031
  });
92
1032
  }
1033
+
1034
+ /** @returns {ApplicationDetail} */
93
1035
  static ApplicationDetail() {
94
1036
  return Joi.object({
95
1037
  _id: Joi.string().allow(""),
96
- banner: ConfigurationModel.SecureUrl(),
1038
+ banner: ConfigurationApplicationModel.SecureUrl(),
97
1039
  description: Joi.string().allow(""),
98
- domain: ConfigurationModel.Domain(),
99
- domains: Joi.array().items(ConfigurationModel.Domain()),
100
- favicon: ConfigurationModel.SecureUrl(),
101
- logo: ConfigurationModel.SecureUrl(),
102
- mobile_logo: ConfigurationModel.SecureUrl(),
1040
+ domain: ConfigurationApplicationModel.Domain(),
1041
+ domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
1042
+ favicon: ConfigurationApplicationModel.SecureUrl(),
1043
+ logo: ConfigurationApplicationModel.SecureUrl(),
1044
+ mobile_logo: ConfigurationApplicationModel.SecureUrl(),
103
1045
  name: Joi.string().allow("").required(),
104
1046
  });
105
1047
  }
1048
+
1049
+ /** @returns {ApplicationInfo} */
106
1050
  static ApplicationInfo() {
107
1051
  return Joi.object({
108
1052
  _id: Joi.string().allow(""),
109
- banner: ConfigurationModel.SecureUrl(),
110
- cors: ConfigurationModel.ApplicationCors(),
1053
+ banner: ConfigurationApplicationModel.SecureUrl(),
1054
+ cors: ConfigurationApplicationModel.ApplicationCors(),
111
1055
  created_at: Joi.string().allow(""),
112
1056
  description: Joi.string().allow(""),
113
- domain: ConfigurationModel.Domain(),
1057
+ domain: ConfigurationApplicationModel.Domain(),
114
1058
  is_active: Joi.boolean(),
115
- logo: ConfigurationModel.SecureUrl(),
116
- meta: ConfigurationModel.ApplicationMeta(),
1059
+ logo: ConfigurationApplicationModel.SecureUrl(),
1060
+ meta: ConfigurationApplicationModel.ApplicationMeta(),
117
1061
  name: Joi.string().allow(""),
118
1062
  secret: Joi.string().allow(""),
119
1063
  token: Joi.string().allow(""),
120
- website: ConfigurationModel.ApplicationWebsite(),
1064
+ website: ConfigurationApplicationModel.ApplicationWebsite(),
121
1065
  });
122
1066
  }
1067
+
1068
+ /** @returns {ApplicationInformation} */
123
1069
  static ApplicationInformation() {
124
1070
  return Joi.object({
125
1071
  __v: Joi.number(),
126
1072
  _id: Joi.string().allow(""),
127
- address: ConfigurationModel.InformationAddress(),
1073
+ address: ConfigurationApplicationModel.InformationAddress(),
128
1074
  application: Joi.string().allow(""),
129
- business_highlights: ConfigurationModel.BusinessHighlights(),
1075
+ business_highlights: ConfigurationApplicationModel.BusinessHighlights(),
130
1076
  copyright_text: Joi.string().allow(""),
131
1077
  created_at: Joi.string().allow(""),
132
- links: ConfigurationModel.Links(),
133
- social_links: ConfigurationModel.SocialLinks(),
134
- support: ConfigurationModel.InformationSupport(),
1078
+ links: ConfigurationApplicationModel.Links(),
1079
+ social_links: ConfigurationApplicationModel.SocialLinks(),
1080
+ support: ConfigurationApplicationModel.InformationSupport(),
135
1081
  updated_at: Joi.string().allow(""),
136
1082
  });
137
1083
  }
1084
+
1085
+ /** @returns {ApplicationMeta} */
138
1086
  static ApplicationMeta() {
139
1087
  return Joi.object({
140
1088
  name: Joi.string().allow(""),
141
1089
  value: Joi.string().allow(""),
142
1090
  });
143
1091
  }
1092
+
1093
+ /** @returns {ApplicationRedirections} */
144
1094
  static ApplicationRedirections() {
145
1095
  return Joi.object({
146
1096
  redirect_from: Joi.string().allow(""),
@@ -148,6 +1098,8 @@ class ConfigurationModel {
148
1098
  type: Joi.string().allow(""),
149
1099
  });
150
1100
  }
1101
+
1102
+ /** @returns {ApplicationVersionRequest} */
151
1103
  static ApplicationVersionRequest() {
152
1104
  return Joi.object({
153
1105
  id: Joi.string().allow(""),
@@ -157,12 +1109,16 @@ class ConfigurationModel {
157
1109
  version: Joi.string().allow("").required(),
158
1110
  });
159
1111
  }
1112
+
1113
+ /** @returns {ApplicationWebsite} */
160
1114
  static ApplicationWebsite() {
161
1115
  return Joi.object({
162
1116
  basepath: Joi.string().allow(""),
163
1117
  enabled: Joi.boolean(),
164
1118
  });
165
1119
  }
1120
+
1121
+ /** @returns {AppStaff} */
166
1122
  static AppStaff() {
167
1123
  return Joi.object({
168
1124
  _id: Joi.string().allow(""),
@@ -177,40 +1133,52 @@ class ConfigurationModel {
177
1133
  user: Joi.string().allow(""),
178
1134
  });
179
1135
  }
1136
+
1137
+ /** @returns {AppStaffListResponse} */
180
1138
  static AppStaffListResponse() {
181
1139
  return Joi.object({
182
- items: Joi.array().items(ConfigurationModel.AppStaff()),
183
- page: ConfigurationModel.Page(),
1140
+ items: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
1141
+ page: ConfigurationApplicationModel.Page(),
184
1142
  });
185
1143
  }
1144
+
1145
+ /** @returns {AppStaffResponse} */
186
1146
  static AppStaffResponse() {
187
1147
  return Joi.object({
188
- staff_users: Joi.array().items(ConfigurationModel.AppStaff()),
1148
+ staff_users: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
189
1149
  });
190
1150
  }
1151
+
1152
+ /** @returns {AppTokenResponse} */
191
1153
  static AppTokenResponse() {
192
1154
  return Joi.object({
193
1155
  __v: Joi.number(),
194
1156
  _id: Joi.string().allow(""),
195
1157
  application: Joi.string().allow(""),
196
1158
  created_at: Joi.string().allow(""),
197
- tokens: ConfigurationModel.Tokens(),
1159
+ tokens: ConfigurationApplicationModel.Tokens(),
198
1160
  updated_at: Joi.string().allow(""),
199
1161
  });
200
1162
  }
1163
+
1164
+ /** @returns {AppVersionRequest} */
201
1165
  static AppVersionRequest() {
202
1166
  return Joi.object({
203
- application: ConfigurationModel.ApplicationVersionRequest().required(),
204
- device: ConfigurationModel.Device().required(),
1167
+ application: ConfigurationApplicationModel.ApplicationVersionRequest().required(),
1168
+ device: ConfigurationApplicationModel.Device().required(),
205
1169
  locale: Joi.string().allow(""),
206
1170
  timezone: Joi.string().allow(""),
207
1171
  });
208
1172
  }
1173
+
1174
+ /** @returns {ArticleAssignmentRule} */
209
1175
  static ArticleAssignmentRule() {
210
1176
  return Joi.object({
211
- store_priority: ConfigurationModel.StorePriorityRule(),
1177
+ store_priority: ConfigurationApplicationModel.StorePriorityRule(),
212
1178
  });
213
1179
  }
1180
+
1181
+ /** @returns {BlogLink} */
214
1182
  static BlogLink() {
215
1183
  return Joi.object({
216
1184
  icon: Joi.string().allow(""),
@@ -218,6 +1186,8 @@ class ConfigurationModel {
218
1186
  title: Joi.string().allow(""),
219
1187
  });
220
1188
  }
1189
+
1190
+ /** @returns {BusinessHighlights} */
221
1191
  static BusinessHighlights() {
222
1192
  return Joi.object({
223
1193
  _id: Joi.string().allow(""),
@@ -226,6 +1196,8 @@ class ConfigurationModel {
226
1196
  title: Joi.string().allow(""),
227
1197
  });
228
1198
  }
1199
+
1200
+ /** @returns {CartFeature} */
229
1201
  static CartFeature() {
230
1202
  return Joi.object({
231
1203
  google_map: Joi.boolean(),
@@ -235,38 +1207,48 @@ class ConfigurationModel {
235
1207
  staff_selection: Joi.boolean(),
236
1208
  });
237
1209
  }
1210
+
1211
+ /** @returns {CommonFeature} */
238
1212
  static CommonFeature() {
239
1213
  return Joi.object({
240
- communication_optin_dialog: ConfigurationModel.CommunicationOptinDialogFeature(),
241
- compare_products: ConfigurationModel.CompareProductsFeature(),
242
- currency: ConfigurationModel.CurrencyFeature(),
243
- deployment_store_selection: ConfigurationModel.DeploymentStoreSelectionFeature(),
244
- feedback: ConfigurationModel.FeedbackFeature(),
245
- listing_price: ConfigurationModel.ListingPriceFeature(),
246
- revenue_engine: ConfigurationModel.RevenueEngineFeature(),
247
- reward_points: ConfigurationModel.RewardPointsConfig(),
1214
+ communication_optin_dialog: ConfigurationApplicationModel.CommunicationOptinDialogFeature(),
1215
+ compare_products: ConfigurationApplicationModel.CompareProductsFeature(),
1216
+ currency: ConfigurationApplicationModel.CurrencyFeature(),
1217
+ deployment_store_selection: ConfigurationApplicationModel.DeploymentStoreSelectionFeature(),
1218
+ feedback: ConfigurationApplicationModel.FeedbackFeature(),
1219
+ listing_price: ConfigurationApplicationModel.ListingPriceFeature(),
1220
+ revenue_engine: ConfigurationApplicationModel.RevenueEngineFeature(),
1221
+ reward_points: ConfigurationApplicationModel.RewardPointsConfig(),
248
1222
  });
249
1223
  }
1224
+
1225
+ /** @returns {CommunicationOptinDialogFeature} */
250
1226
  static CommunicationOptinDialogFeature() {
251
1227
  return Joi.object({
252
1228
  visibility: Joi.boolean(),
253
1229
  });
254
1230
  }
1231
+
1232
+ /** @returns {CompanyAboutAddress} */
255
1233
  static CompanyAboutAddress() {
256
1234
  return Joi.object({
1235
+ address_type: Joi.string().allow(""),
257
1236
  address1: Joi.string().allow(""),
258
1237
  address2: Joi.string().allow(""),
259
- address_type: Joi.string().allow(""),
260
1238
  city: Joi.string().allow(""),
261
1239
  country: Joi.string().allow(""),
262
1240
  pincode: Joi.number(),
263
1241
  state: Joi.string().allow(""),
264
1242
  });
265
1243
  }
1244
+
1245
+ /** @returns {CompanyInfo} */
266
1246
  static CompanyInfo() {
267
1247
  return Joi.object({
268
1248
  _id: Joi.string().allow(""),
269
- addresses: Joi.array().items(ConfigurationModel.CompanyAboutAddress()),
1249
+ addresses: Joi.array().items(
1250
+ ConfigurationApplicationModel.CompanyAboutAddress()
1251
+ ),
270
1252
  created_on: Joi.string().allow(""),
271
1253
  is_active: Joi.boolean(),
272
1254
  name: Joi.string().allow(""),
@@ -274,31 +1256,41 @@ class ConfigurationModel {
274
1256
  uid: Joi.number(),
275
1257
  });
276
1258
  }
1259
+
1260
+ /** @returns {CompareProductsFeature} */
277
1261
  static CompareProductsFeature() {
278
1262
  return Joi.object({
279
1263
  enabled: Joi.boolean(),
280
1264
  });
281
1265
  }
1266
+
1267
+ /** @returns {Credentials} */
282
1268
  static Credentials() {
283
1269
  return Joi.object({
284
- android: ConfigurationModel.Android(),
1270
+ android: ConfigurationApplicationModel.Android(),
285
1271
  api_key: Joi.string().allow(""),
286
1272
  application_id: Joi.string().allow(""),
287
1273
  gcm_sender_id: Joi.string().allow(""),
288
- ios: ConfigurationModel.Ios(),
1274
+ ios: ConfigurationApplicationModel.Ios(),
289
1275
  project_id: Joi.string().allow(""),
290
1276
  });
291
1277
  }
1278
+
1279
+ /** @returns {Credit} */
292
1280
  static Credit() {
293
1281
  return Joi.object({
294
1282
  enabled: Joi.boolean(),
295
1283
  });
296
1284
  }
1285
+
1286
+ /** @returns {CurrenciesResponse} */
297
1287
  static CurrenciesResponse() {
298
1288
  return Joi.object({
299
- items: Joi.array().items(ConfigurationModel.Currency()),
1289
+ items: Joi.array().items(ConfigurationApplicationModel.Currency()),
300
1290
  });
301
1291
  }
1292
+
1293
+ /** @returns {Currency} */
302
1294
  static Currency() {
303
1295
  return Joi.object({
304
1296
  _id: Joi.string().allow(""),
@@ -311,6 +1303,8 @@ class ConfigurationModel {
311
1303
  updated_at: Joi.string().allow(""),
312
1304
  });
313
1305
  }
1306
+
1307
+ /** @returns {CurrencyFeature} */
314
1308
  static CurrencyFeature() {
315
1309
  return Joi.object({
316
1310
  default_currency: Joi.string().allow(""),
@@ -318,6 +1312,8 @@ class ConfigurationModel {
318
1312
  value: Joi.array().items(Joi.string().allow("")),
319
1313
  });
320
1314
  }
1315
+
1316
+ /** @returns {Debit} */
321
1317
  static Debit() {
322
1318
  return Joi.object({
323
1319
  auto_apply: Joi.boolean(),
@@ -325,25 +1321,33 @@ class ConfigurationModel {
325
1321
  strategy_channel: Joi.string().allow(""),
326
1322
  });
327
1323
  }
1324
+
1325
+ /** @returns {DefaultCurrency} */
328
1326
  static DefaultCurrency() {
329
1327
  return Joi.object({
330
1328
  code: Joi.string().allow(""),
331
1329
  ref: Joi.string().allow(""),
332
1330
  });
333
1331
  }
1332
+
1333
+ /** @returns {DeploymentStoreSelectionFeature} */
334
1334
  static DeploymentStoreSelectionFeature() {
335
1335
  return Joi.object({
336
1336
  enabled: Joi.boolean(),
337
1337
  type: Joi.string().allow(""),
338
1338
  });
339
1339
  }
1340
+
1341
+ /** @returns {Device} */
340
1342
  static Device() {
341
1343
  return Joi.object({
342
1344
  build: Joi.number(),
343
1345
  model: Joi.string().allow(""),
344
- os: ConfigurationModel.OS().required(),
1346
+ os: ConfigurationApplicationModel.OS().required(),
345
1347
  });
346
1348
  }
1349
+
1350
+ /** @returns {Domain} */
347
1351
  static Domain() {
348
1352
  return Joi.object({
349
1353
  _id: Joi.string().allow(""),
@@ -354,6 +1358,8 @@ class ConfigurationModel {
354
1358
  verified: Joi.boolean(),
355
1359
  });
356
1360
  }
1361
+
1362
+ /** @returns {FacebookLink} */
357
1363
  static FacebookLink() {
358
1364
  return Joi.object({
359
1365
  icon: Joi.string().allow(""),
@@ -361,23 +1367,31 @@ class ConfigurationModel {
361
1367
  title: Joi.string().allow(""),
362
1368
  });
363
1369
  }
1370
+
1371
+ /** @returns {FeedbackFeature} */
364
1372
  static FeedbackFeature() {
365
1373
  return Joi.object({
366
1374
  enabled: Joi.boolean(),
367
1375
  });
368
1376
  }
1377
+
1378
+ /** @returns {Firebase} */
369
1379
  static Firebase() {
370
1380
  return Joi.object({
371
- credentials: ConfigurationModel.Credentials(),
1381
+ credentials: ConfigurationApplicationModel.Credentials(),
372
1382
  enabled: Joi.boolean(),
373
1383
  });
374
1384
  }
1385
+
1386
+ /** @returns {Freshchat} */
375
1387
  static Freshchat() {
376
1388
  return Joi.object({
377
- credentials: ConfigurationModel.FreshchatCredentials(),
1389
+ credentials: ConfigurationApplicationModel.FreshchatCredentials(),
378
1390
  enabled: Joi.boolean(),
379
1391
  });
380
1392
  }
1393
+
1394
+ /** @returns {FreshchatCredentials} */
381
1395
  static FreshchatCredentials() {
382
1396
  return Joi.object({
383
1397
  app_id: Joi.string().allow(""),
@@ -385,26 +1399,36 @@ class ConfigurationModel {
385
1399
  web_token: Joi.string().allow(""),
386
1400
  });
387
1401
  }
1402
+
1403
+ /** @returns {FyndRewards} */
388
1404
  static FyndRewards() {
389
1405
  return Joi.object({
390
- credentials: ConfigurationModel.FyndRewardsCredentials(),
1406
+ credentials: ConfigurationApplicationModel.FyndRewardsCredentials(),
391
1407
  });
392
1408
  }
1409
+
1410
+ /** @returns {FyndRewardsCredentials} */
393
1411
  static FyndRewardsCredentials() {
394
1412
  return Joi.object({
395
1413
  public_key: Joi.string().allow(""),
396
1414
  });
397
1415
  }
1416
+
1417
+ /** @returns {GoogleMap} */
398
1418
  static GoogleMap() {
399
1419
  return Joi.object({
400
- credentials: ConfigurationModel.GoogleMapCredentials(),
1420
+ credentials: ConfigurationApplicationModel.GoogleMapCredentials(),
401
1421
  });
402
1422
  }
1423
+
1424
+ /** @returns {GoogleMapCredentials} */
403
1425
  static GoogleMapCredentials() {
404
1426
  return Joi.object({
405
1427
  api_key: Joi.string().allow(""),
406
1428
  });
407
1429
  }
1430
+
1431
+ /** @returns {GooglePlusLink} */
408
1432
  static GooglePlusLink() {
409
1433
  return Joi.object({
410
1434
  icon: Joi.string().allow(""),
@@ -412,38 +1436,50 @@ class ConfigurationModel {
412
1436
  title: Joi.string().allow(""),
413
1437
  });
414
1438
  }
1439
+
1440
+ /** @returns {Gtm} */
415
1441
  static Gtm() {
416
1442
  return Joi.object({
417
- credentials: ConfigurationModel.GtmCredentials(),
1443
+ credentials: ConfigurationApplicationModel.GtmCredentials(),
418
1444
  enabled: Joi.boolean(),
419
1445
  });
420
1446
  }
1447
+
1448
+ /** @returns {GtmCredentials} */
421
1449
  static GtmCredentials() {
422
1450
  return Joi.object({
423
1451
  api_key: Joi.string().allow(""),
424
1452
  });
425
1453
  }
1454
+
1455
+ /** @returns {HomePageFeature} */
426
1456
  static HomePageFeature() {
427
1457
  return Joi.object({
428
1458
  order_processing: Joi.boolean(),
429
1459
  });
430
1460
  }
1461
+
1462
+ /** @returns {InformationAddress} */
431
1463
  static InformationAddress() {
432
1464
  return Joi.object({
433
1465
  address_line: Joi.array().items(Joi.string().allow("")),
434
1466
  city: Joi.string().allow(""),
435
1467
  country: Joi.string().allow(""),
436
1468
  loc: Joi.string().allow(""),
437
- phone: ConfigurationModel.InformationPhone(),
1469
+ phone: ConfigurationApplicationModel.InformationPhone(),
438
1470
  pincode: Joi.number(),
439
1471
  });
440
1472
  }
1473
+
1474
+ /** @returns {InformationPhone} */
441
1475
  static InformationPhone() {
442
1476
  return Joi.object({
443
1477
  code: Joi.string().allow(""),
444
1478
  number: Joi.string().allow(""),
445
1479
  });
446
1480
  }
1481
+
1482
+ /** @returns {InformationSupport} */
447
1483
  static InformationSupport() {
448
1484
  return Joi.object({
449
1485
  email: Joi.array().items(Joi.string().allow("")),
@@ -451,6 +1487,8 @@ class ConfigurationModel {
451
1487
  timing: Joi.string().allow(""),
452
1488
  });
453
1489
  }
1490
+
1491
+ /** @returns {InstagramLink} */
454
1492
  static InstagramLink() {
455
1493
  return Joi.object({
456
1494
  icon: Joi.string().allow(""),
@@ -458,56 +1496,78 @@ class ConfigurationModel {
458
1496
  title: Joi.string().allow(""),
459
1497
  });
460
1498
  }
1499
+
1500
+ /** @returns {InvalidPayloadRequest} */
461
1501
  static InvalidPayloadRequest() {
462
1502
  return Joi.object({
463
1503
  message: Joi.string().allow(""),
464
1504
  });
465
1505
  }
1506
+
1507
+ /** @returns {InventoryArticleAssignment} */
466
1508
  static InventoryArticleAssignment() {
467
1509
  return Joi.object({
468
1510
  post_order_reassignment: Joi.boolean(),
469
- rules: ConfigurationModel.ArticleAssignmentRule(),
1511
+ rules: ConfigurationApplicationModel.ArticleAssignmentRule(),
470
1512
  });
471
1513
  }
1514
+
1515
+ /** @returns {InventoryBrandRule} */
472
1516
  static InventoryBrandRule() {
473
1517
  return Joi.object({
474
1518
  brands: Joi.array().items(Joi.number()),
475
1519
  criteria: Joi.string().allow(""),
476
1520
  });
477
1521
  }
1522
+
1523
+ /** @returns {InventoryPaymentConfig} */
478
1524
  static InventoryPaymentConfig() {
479
1525
  return Joi.object({
480
1526
  mode_of_payment: Joi.string().allow(""),
481
1527
  source: Joi.string().allow(""),
482
1528
  });
483
1529
  }
1530
+
1531
+ /** @returns {InventoryStoreRule} */
484
1532
  static InventoryStoreRule() {
485
1533
  return Joi.object({
486
1534
  criteria: Joi.string().allow(""),
487
- rules: Joi.array().items(ConfigurationModel.StoreCriteriaRule()),
1535
+ rules: Joi.array().items(
1536
+ ConfigurationApplicationModel.StoreCriteriaRule()
1537
+ ),
488
1538
  stores: Joi.array().items(Joi.number()),
489
1539
  });
490
1540
  }
1541
+
1542
+ /** @returns {Ios} */
491
1543
  static Ios() {
492
1544
  return Joi.object({
493
1545
  api_key: Joi.string().allow(""),
494
1546
  application_id: Joi.string().allow(""),
495
1547
  });
496
1548
  }
1549
+
1550
+ /** @returns {LandingPageFeature} */
497
1551
  static LandingPageFeature() {
498
1552
  return Joi.object({
499
1553
  continue_as_guest: Joi.boolean(),
500
- launch_page: ConfigurationModel.LaunchPage(),
1554
+ launch_page: ConfigurationApplicationModel.LaunchPage(),
501
1555
  login_btn_text: Joi.string().allow(""),
502
1556
  show_domain_textbox: Joi.boolean(),
503
1557
  show_register_btn: Joi.boolean(),
504
1558
  });
505
1559
  }
1560
+
1561
+ /** @returns {LanguageResponse} */
506
1562
  static LanguageResponse() {
507
1563
  return Joi.object({
508
- items: Joi.array().items(ConfigurationModel.SupportedLanguage()),
1564
+ items: Joi.array().items(
1565
+ ConfigurationApplicationModel.SupportedLanguage()
1566
+ ),
509
1567
  });
510
1568
  }
1569
+
1570
+ /** @returns {LaunchPage} */
511
1571
  static LaunchPage() {
512
1572
  return Joi.object({
513
1573
  page_type: Joi.string().allow(""),
@@ -515,6 +1575,8 @@ class ConfigurationModel {
515
1575
  query: Joi.any(),
516
1576
  });
517
1577
  }
1578
+
1579
+ /** @returns {LinkedInLink} */
518
1580
  static LinkedInLink() {
519
1581
  return Joi.object({
520
1582
  icon: Joi.string().allow(""),
@@ -522,54 +1584,70 @@ class ConfigurationModel {
522
1584
  title: Joi.string().allow(""),
523
1585
  });
524
1586
  }
1587
+
1588
+ /** @returns {Links} */
525
1589
  static Links() {
526
1590
  return Joi.object({
527
1591
  link: Joi.string().allow(""),
528
1592
  title: Joi.string().allow(""),
529
1593
  });
530
1594
  }
1595
+
1596
+ /** @returns {ListingPriceFeature} */
531
1597
  static ListingPriceFeature() {
532
1598
  return Joi.object({
533
1599
  sort: Joi.string().allow(""),
534
1600
  value: Joi.string().allow(""),
535
1601
  });
536
1602
  }
1603
+
1604
+ /** @returns {Moengage} */
537
1605
  static Moengage() {
538
1606
  return Joi.object({
539
- credentials: ConfigurationModel.MoengageCredentials(),
1607
+ credentials: ConfigurationApplicationModel.MoengageCredentials(),
540
1608
  enabled: Joi.boolean(),
541
1609
  });
542
1610
  }
1611
+
1612
+ /** @returns {MoengageCredentials} */
543
1613
  static MoengageCredentials() {
544
1614
  return Joi.object({
545
1615
  app_id: Joi.string().allow(""),
546
1616
  });
547
1617
  }
1618
+
1619
+ /** @returns {NotFound} */
548
1620
  static NotFound() {
549
1621
  return Joi.object({
550
1622
  message: Joi.string().allow(""),
551
1623
  });
552
1624
  }
1625
+
1626
+ /** @returns {OptedStoreAddress} */
553
1627
  static OptedStoreAddress() {
554
1628
  return Joi.object({
555
1629
  address1: Joi.string().allow(""),
556
1630
  address2: Joi.string().allow(""),
557
1631
  city: Joi.string().allow(""),
558
1632
  country: Joi.string().allow(""),
559
- lat_long: ConfigurationModel.StoreLatLong(),
1633
+ lat_long: ConfigurationApplicationModel.StoreLatLong(),
560
1634
  pincode: Joi.number(),
561
1635
  state: Joi.string().allow(""),
562
1636
  });
563
1637
  }
1638
+
1639
+ /** @returns {OrderFeature} */
564
1640
  static OrderFeature() {
565
1641
  return Joi.object({
566
1642
  buy_again: Joi.boolean(),
567
1643
  });
568
1644
  }
1645
+
1646
+ /** @returns {OrderingStore} */
569
1647
  static OrderingStore() {
570
1648
  return Joi.object({
571
1649
  _id: Joi.string().allow(""),
572
- address: ConfigurationModel.OptedStoreAddress(),
1650
+ address: ConfigurationApplicationModel.OptedStoreAddress(),
573
1651
  code: Joi.string().allow(""),
574
1652
  display_name: Joi.string().allow(""),
575
1653
  name: Joi.string().allow(""),
@@ -579,6 +1657,8 @@ class ConfigurationModel {
579
1657
  uid: Joi.number(),
580
1658
  });
581
1659
  }
1660
+
1661
+ /** @returns {OrderingStores} */
582
1662
  static OrderingStores() {
583
1663
  return Joi.object({
584
1664
  __v: Joi.number(),
@@ -587,43 +1667,57 @@ class ConfigurationModel {
587
1667
  app: Joi.string().allow(""),
588
1668
  deployed_stores: Joi.array().items(Joi.number()),
589
1669
  enabled: Joi.boolean(),
590
- items: Joi.array().items(ConfigurationModel.OrderingStore()),
591
- page: ConfigurationModel.Page(),
1670
+ items: Joi.array().items(ConfigurationApplicationModel.OrderingStore()),
1671
+ page: ConfigurationApplicationModel.Page(),
592
1672
  type: Joi.string().allow(""),
593
1673
  });
594
1674
  }
1675
+
1676
+ /** @returns {OrderingStoreSelect} */
595
1677
  static OrderingStoreSelect() {
596
1678
  return Joi.object({
597
1679
  uid: Joi.number().required(),
598
1680
  });
599
1681
  }
1682
+
1683
+ /** @returns {OrderingStoreSelectRequest} */
600
1684
  static OrderingStoreSelectRequest() {
601
1685
  return Joi.object({
602
- ordering_store: ConfigurationModel.OrderingStoreSelect().required(),
1686
+ ordering_store: ConfigurationApplicationModel.OrderingStoreSelect().required(),
603
1687
  });
604
1688
  }
1689
+
1690
+ /** @returns {OrderingStoresResponse} */
605
1691
  static OrderingStoresResponse() {
606
1692
  return Joi.object({
607
- items: Joi.array().items(ConfigurationModel.OrderingStore()),
608
- page: ConfigurationModel.Page(),
1693
+ items: Joi.array().items(ConfigurationApplicationModel.OrderingStore()),
1694
+ page: ConfigurationApplicationModel.Page(),
609
1695
  });
610
1696
  }
1697
+
1698
+ /** @returns {OS} */
611
1699
  static OS() {
612
1700
  return Joi.object({
613
1701
  name: Joi.string().allow("").required(),
614
1702
  version: Joi.string().allow(""),
615
1703
  });
616
1704
  }
1705
+
1706
+ /** @returns {OwnerInfo} */
617
1707
  static OwnerInfo() {
618
1708
  return Joi.object({
619
1709
  _id: Joi.string().allow(""),
620
- emails: Joi.array().items(ConfigurationModel.UserEmail()),
1710
+ emails: Joi.array().items(ConfigurationApplicationModel.UserEmail()),
621
1711
  first_name: Joi.string().allow(""),
622
1712
  last_name: Joi.string().allow(""),
623
- phone_numbers: Joi.array().items(ConfigurationModel.UserPhoneNumber()),
1713
+ phone_numbers: Joi.array().items(
1714
+ ConfigurationApplicationModel.UserPhoneNumber()
1715
+ ),
624
1716
  profile_pic: Joi.string().allow(""),
625
1717
  });
626
1718
  }
1719
+
1720
+ /** @returns {Page} */
627
1721
  static Page() {
628
1722
  return Joi.object({
629
1723
  current: Joi.number(),
@@ -635,11 +1729,15 @@ class ConfigurationModel {
635
1729
  type: Joi.string().allow("").required(),
636
1730
  });
637
1731
  }
1732
+
1733
+ /** @returns {PcrFeature} */
638
1734
  static PcrFeature() {
639
1735
  return Joi.object({
640
1736
  staff_selection: Joi.boolean(),
641
1737
  });
642
1738
  }
1739
+
1740
+ /** @returns {PinterestLink} */
643
1741
  static PinterestLink() {
644
1742
  return Joi.object({
645
1743
  icon: Joi.string().allow(""),
@@ -647,6 +1745,8 @@ class ConfigurationModel {
647
1745
  title: Joi.string().allow(""),
648
1746
  });
649
1747
  }
1748
+
1749
+ /** @returns {ProductDetailFeature} */
650
1750
  static ProductDetailFeature() {
651
1751
  return Joi.object({
652
1752
  request_product: Joi.boolean(),
@@ -655,6 +1755,8 @@ class ConfigurationModel {
655
1755
  update_product_meta: Joi.boolean(),
656
1756
  });
657
1757
  }
1758
+
1759
+ /** @returns {QrFeature} */
658
1760
  static QrFeature() {
659
1761
  return Joi.object({
660
1762
  application: Joi.boolean(),
@@ -662,103 +1764,135 @@ class ConfigurationModel {
662
1764
  products: Joi.boolean(),
663
1765
  });
664
1766
  }
1767
+
1768
+ /** @returns {RegistrationPageFeature} */
665
1769
  static RegistrationPageFeature() {
666
1770
  return Joi.object({
667
1771
  ask_store_address: Joi.boolean(),
668
1772
  });
669
1773
  }
1774
+
1775
+ /** @returns {RevenueEngineFeature} */
670
1776
  static RevenueEngineFeature() {
671
1777
  return Joi.object({
672
1778
  enabled: Joi.boolean(),
673
1779
  });
674
1780
  }
1781
+
1782
+ /** @returns {RewardPointsConfig} */
675
1783
  static RewardPointsConfig() {
676
1784
  return Joi.object({
677
- credit: ConfigurationModel.Credit(),
678
- debit: ConfigurationModel.Debit(),
1785
+ credit: ConfigurationApplicationModel.Credit(),
1786
+ debit: ConfigurationApplicationModel.Debit(),
679
1787
  });
680
1788
  }
1789
+
1790
+ /** @returns {Safetynet} */
681
1791
  static Safetynet() {
682
1792
  return Joi.object({
683
- credentials: ConfigurationModel.SafetynetCredentials(),
1793
+ credentials: ConfigurationApplicationModel.SafetynetCredentials(),
684
1794
  enabled: Joi.boolean(),
685
1795
  });
686
1796
  }
1797
+
1798
+ /** @returns {SafetynetCredentials} */
687
1799
  static SafetynetCredentials() {
688
1800
  return Joi.object({
689
1801
  api_key: Joi.string().allow(""),
690
1802
  });
691
1803
  }
1804
+
1805
+ /** @returns {SecureUrl} */
692
1806
  static SecureUrl() {
693
1807
  return Joi.object({
694
1808
  secure_url: Joi.string().allow(""),
695
1809
  });
696
1810
  }
1811
+
1812
+ /** @returns {Segment} */
697
1813
  static Segment() {
698
1814
  return Joi.object({
699
- credentials: ConfigurationModel.SegmentCredentials(),
1815
+ credentials: ConfigurationApplicationModel.SegmentCredentials(),
700
1816
  enabled: Joi.boolean(),
701
1817
  });
702
1818
  }
1819
+
1820
+ /** @returns {SegmentCredentials} */
703
1821
  static SegmentCredentials() {
704
1822
  return Joi.object({
705
1823
  write_key: Joi.string().allow(""),
706
1824
  });
707
1825
  }
1826
+
1827
+ /** @returns {SocialLinks} */
708
1828
  static SocialLinks() {
709
1829
  return Joi.object({
710
- blog_link: ConfigurationModel.BlogLink(),
711
- facebook: ConfigurationModel.FacebookLink(),
712
- google_plus: ConfigurationModel.GooglePlusLink(),
713
- instagram: ConfigurationModel.InstagramLink(),
714
- linked_in: ConfigurationModel.LinkedInLink(),
715
- pinterest: ConfigurationModel.PinterestLink(),
716
- twitter: ConfigurationModel.TwitterLink(),
717
- vimeo: ConfigurationModel.VimeoLink(),
718
- youtube: ConfigurationModel.YoutubeLink(),
1830
+ blog_link: ConfigurationApplicationModel.BlogLink(),
1831
+ facebook: ConfigurationApplicationModel.FacebookLink(),
1832
+ google_plus: ConfigurationApplicationModel.GooglePlusLink(),
1833
+ instagram: ConfigurationApplicationModel.InstagramLink(),
1834
+ linked_in: ConfigurationApplicationModel.LinkedInLink(),
1835
+ pinterest: ConfigurationApplicationModel.PinterestLink(),
1836
+ twitter: ConfigurationApplicationModel.TwitterLink(),
1837
+ vimeo: ConfigurationApplicationModel.VimeoLink(),
1838
+ youtube: ConfigurationApplicationModel.YoutubeLink(),
719
1839
  });
720
1840
  }
1841
+
1842
+ /** @returns {StoreCriteriaRule} */
721
1843
  static StoreCriteriaRule() {
722
1844
  return Joi.object({
723
1845
  brands: Joi.array().items(Joi.number()),
724
1846
  companies: Joi.array().items(Joi.number()),
725
1847
  });
726
1848
  }
1849
+
1850
+ /** @returns {StoreLatLong} */
727
1851
  static StoreLatLong() {
728
1852
  return Joi.object({
729
1853
  coordinates: Joi.array().items(Joi.number()),
730
1854
  type: Joi.string().allow(""),
731
1855
  });
732
1856
  }
1857
+
1858
+ /** @returns {StorePriorityRule} */
733
1859
  static StorePriorityRule() {
734
1860
  return Joi.object({
735
1861
  enabled: Joi.boolean(),
736
1862
  storetype_order: Joi.array().items(Joi.string().allow("")),
737
1863
  });
738
1864
  }
1865
+
1866
+ /** @returns {SuccessMessageResponse} */
739
1867
  static SuccessMessageResponse() {
740
1868
  return Joi.object({
741
1869
  message: Joi.string().allow(""),
742
1870
  });
743
1871
  }
1872
+
1873
+ /** @returns {SupportedLanguage} */
744
1874
  static SupportedLanguage() {
745
1875
  return Joi.object({
746
1876
  code: Joi.string().allow(""),
747
1877
  name: Joi.string().allow(""),
748
1878
  });
749
1879
  }
1880
+
1881
+ /** @returns {Tokens} */
750
1882
  static Tokens() {
751
1883
  return Joi.object({
752
- firebase: ConfigurationModel.Firebase(),
753
- freshchat: ConfigurationModel.Freshchat(),
754
- fynd_rewards: ConfigurationModel.FyndRewards(),
755
- google_map: ConfigurationModel.GoogleMap(),
756
- gtm: ConfigurationModel.Gtm(),
757
- moengage: ConfigurationModel.Moengage(),
758
- safetynet: ConfigurationModel.Safetynet(),
759
- segment: ConfigurationModel.Segment(),
1884
+ firebase: ConfigurationApplicationModel.Firebase(),
1885
+ freshchat: ConfigurationApplicationModel.Freshchat(),
1886
+ fynd_rewards: ConfigurationApplicationModel.FyndRewards(),
1887
+ google_map: ConfigurationApplicationModel.GoogleMap(),
1888
+ gtm: ConfigurationApplicationModel.Gtm(),
1889
+ moengage: ConfigurationApplicationModel.Moengage(),
1890
+ safetynet: ConfigurationApplicationModel.Safetynet(),
1891
+ segment: ConfigurationApplicationModel.Segment(),
760
1892
  });
761
1893
  }
1894
+
1895
+ /** @returns {TwitterLink} */
762
1896
  static TwitterLink() {
763
1897
  return Joi.object({
764
1898
  icon: Joi.string().allow(""),
@@ -766,17 +1900,23 @@ class ConfigurationModel {
766
1900
  title: Joi.string().allow(""),
767
1901
  });
768
1902
  }
1903
+
1904
+ /** @returns {UnhandledError} */
769
1905
  static UnhandledError() {
770
1906
  return Joi.object({
771
1907
  message: Joi.string().allow(""),
772
1908
  });
773
1909
  }
1910
+
1911
+ /** @returns {UpdateDialog} */
774
1912
  static UpdateDialog() {
775
1913
  return Joi.object({
776
1914
  interval: Joi.number(),
777
1915
  type: Joi.string().allow(""),
778
1916
  });
779
1917
  }
1918
+
1919
+ /** @returns {UserEmail} */
780
1920
  static UserEmail() {
781
1921
  return Joi.object({
782
1922
  active: Joi.boolean(),
@@ -785,6 +1925,8 @@ class ConfigurationModel {
785
1925
  verified: Joi.boolean(),
786
1926
  });
787
1927
  }
1928
+
1929
+ /** @returns {UserPhoneNumber} */
788
1930
  static UserPhoneNumber() {
789
1931
  return Joi.object({
790
1932
  active: Joi.boolean(),
@@ -794,6 +1936,8 @@ class ConfigurationModel {
794
1936
  verified: Joi.boolean(),
795
1937
  });
796
1938
  }
1939
+
1940
+ /** @returns {VimeoLink} */
797
1941
  static VimeoLink() {
798
1942
  return Joi.object({
799
1943
  icon: Joi.string().allow(""),
@@ -801,6 +1945,8 @@ class ConfigurationModel {
801
1945
  title: Joi.string().allow(""),
802
1946
  });
803
1947
  }
1948
+
1949
+ /** @returns {YoutubeLink} */
804
1950
  static YoutubeLink() {
805
1951
  return Joi.object({
806
1952
  icon: Joi.string().allow(""),
@@ -809,4 +1955,4 @@ class ConfigurationModel {
809
1955
  });
810
1956
  }
811
1957
  }
812
- module.exports = ConfigurationModel;
1958
+ module.exports = ConfigurationApplicationModel;