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