addio-admin-sdk 1.7.21 → 1.7.22

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 (541) hide show
  1. package/.babelrc +17 -17
  2. package/.env +14 -14
  3. package/.env.dev +14 -14
  4. package/.github/workflows/publish_coverage.yaml +69 -69
  5. package/addio-sdk-doc.md +1473 -1380
  6. package/changelog.md +469 -469
  7. package/dist/Interfaces/Address/index.d.ts +21 -21
  8. package/dist/Interfaces/Address/index.js +16 -16
  9. package/dist/Interfaces/Algolia/index.d.ts +149 -148
  10. package/dist/Interfaces/Algolia/index.js +2 -2
  11. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  12. package/dist/Interfaces/Attachement/index.js +2 -2
  13. package/dist/Interfaces/Attribute/index.d.ts +47 -47
  14. package/dist/Interfaces/Attribute/index.js +10 -10
  15. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  16. package/dist/Interfaces/BGJob/index.js +36 -36
  17. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  18. package/dist/Interfaces/BaseClass/index.js +2 -2
  19. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  20. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  21. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  22. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  23. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  24. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  25. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  26. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  27. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  28. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  29. package/dist/Interfaces/Booking/index.d.ts +68 -68
  30. package/dist/Interfaces/Booking/index.js +17 -17
  31. package/dist/Interfaces/Brand/index.d.ts +13 -13
  32. package/dist/Interfaces/Brand/index.js +2 -2
  33. package/dist/Interfaces/CMS/index.d.ts +25 -25
  34. package/dist/Interfaces/CMS/index.js +2 -2
  35. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  36. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  37. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  38. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  39. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  40. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  41. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  42. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  43. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  44. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  45. package/dist/Interfaces/Cart/index.d.ts +412 -410
  46. package/dist/Interfaces/Cart/index.js +191 -191
  47. package/dist/Interfaces/Cart/index.js.map +1 -1
  48. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  49. package/dist/Interfaces/Catalogue/index.js +37 -37
  50. package/dist/Interfaces/Category/index.d.ts +26 -26
  51. package/dist/Interfaces/Category/index.js +2 -2
  52. package/dist/Interfaces/Chart/index.d.ts +11 -11
  53. package/dist/Interfaces/Chart/index.js +2 -2
  54. package/dist/Interfaces/Class/index.d.ts +8 -8
  55. package/dist/Interfaces/Class/index.js +2 -2
  56. package/dist/Interfaces/Consent/index.d.ts +6 -6
  57. package/dist/Interfaces/Consent/index.js +2 -2
  58. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  59. package/dist/Interfaces/Context/IContextProps.js +2 -2
  60. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  61. package/dist/Interfaces/Context/IContextState.js +2 -2
  62. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  63. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  64. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  65. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  66. package/dist/Interfaces/Customer/index.d.ts +95 -95
  67. package/dist/Interfaces/Customer/index.js +158 -158
  68. package/dist/Interfaces/Declination/index.d.ts +111 -111
  69. package/dist/Interfaces/Declination/index.js +77 -77
  70. package/dist/Interfaces/Document/index.d.ts +8 -8
  71. package/dist/Interfaces/Document/index.js +2 -2
  72. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  73. package/dist/Interfaces/Elastic/index.js +2 -2
  74. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  75. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  76. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  77. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  78. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  79. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  80. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  81. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  82. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  83. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  84. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  85. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  86. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  87. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  88. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  89. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  90. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  91. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  92. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  93. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  94. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  95. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  96. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  97. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  98. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  99. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  100. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  101. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  102. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  103. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  104. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  105. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  106. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  107. package/dist/Interfaces/Email/IEmail.js +69 -69
  108. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  109. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  110. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  111. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  112. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  113. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  114. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  115. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  116. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  117. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  118. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  119. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  120. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  121. package/dist/Interfaces/ExportSchema/index.js +2 -2
  122. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  123. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  124. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  125. package/dist/Interfaces/ExternalService/index.js +2 -2
  126. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  127. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  128. package/dist/Interfaces/G2/index.d.ts +556 -556
  129. package/dist/Interfaces/G2/index.js +36 -36
  130. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  131. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  132. package/dist/Interfaces/Indexed/Product/index.d.ts +94 -94
  133. package/dist/Interfaces/Indexed/Product/index.js +287 -287
  134. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  135. package/dist/Interfaces/Inventory/index.js +8 -8
  136. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  137. package/dist/Interfaces/Invoice/index.js +2 -2
  138. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  139. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  140. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  141. package/dist/Interfaces/MarketplacePublication/index.js +33 -33
  142. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  143. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  144. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  145. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  146. package/dist/Interfaces/Order/index.d.ts +4 -4
  147. package/dist/Interfaces/Order/index.js +2 -2
  148. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  149. package/dist/Interfaces/Org/IRelUser.js +2 -2
  150. package/dist/Interfaces/Org/index.d.ts +29 -29
  151. package/dist/Interfaces/Org/index.js +12 -12
  152. package/dist/Interfaces/Payment/index.d.ts +13 -13
  153. package/dist/Interfaces/Payment/index.js +2 -2
  154. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  155. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  156. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  157. package/dist/Interfaces/Product/IImportProduct.js +971 -971
  158. package/dist/Interfaces/Product/IInventoryItem.d.ts +84 -84
  159. package/dist/Interfaces/Product/IInventoryItem.js +36 -36
  160. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  161. package/dist/Interfaces/Product/IPricing.js +174 -174
  162. package/dist/Interfaces/Product/index.d.ts +121 -121
  163. package/dist/Interfaces/Product/index.js +56 -56
  164. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  165. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  166. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  167. package/dist/Interfaces/PromiseToPurchase/BankType.js +42 -42
  168. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  169. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  170. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  171. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  172. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  173. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  174. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  175. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  176. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  177. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  178. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  179. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  180. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  181. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  182. package/dist/Interfaces/Quote/index.d.ts +5 -5
  183. package/dist/Interfaces/Quote/index.js +2 -2
  184. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  185. package/dist/Interfaces/Refunds/index.js +2 -2
  186. package/dist/Interfaces/Rules/IDiscountRule.d.ts +137 -137
  187. package/dist/Interfaces/Rules/IDiscountRule.js +107 -107
  188. package/dist/Interfaces/Schedule/index.d.ts +47 -46
  189. package/dist/Interfaces/Schedule/index.js +2 -2
  190. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  191. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  192. package/dist/Interfaces/Services/IService.d.ts +12 -12
  193. package/dist/Interfaces/Services/IService.js +2 -2
  194. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  195. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  196. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  197. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  198. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  199. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  200. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  201. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  202. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  203. package/dist/Interfaces/Shipping/Shiptime/order.js +48 -48
  204. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  205. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  206. package/dist/Interfaces/Slider/GR.d.ts +130 -130
  207. package/dist/Interfaces/Slider/GR.js +271 -271
  208. package/dist/Interfaces/Slider/index.d.ts +14 -14
  209. package/dist/Interfaces/Slider/index.js +2 -2
  210. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  211. package/dist/Interfaces/Space/IMember.js +9 -9
  212. package/dist/Interfaces/Space/index.d.ts +403 -387
  213. package/dist/Interfaces/Space/index.js +139 -123
  214. package/dist/Interfaces/Space/index.js.map +1 -1
  215. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  216. package/dist/Interfaces/Specials/gr.js +2 -2
  217. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  218. package/dist/Interfaces/StockNotification/index.js +2 -2
  219. package/dist/Interfaces/Store/index.d.ts +62 -62
  220. package/dist/Interfaces/Store/index.js +27 -27
  221. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  222. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  223. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  224. package/dist/Interfaces/Supplier/index.js +24 -24
  225. package/dist/Interfaces/Tag/index.d.ts +18 -18
  226. package/dist/Interfaces/Tag/index.js +2 -2
  227. package/dist/Interfaces/Tax/index.d.ts +12 -12
  228. package/dist/Interfaces/Tax/index.js +2 -2
  229. package/dist/Interfaces/TransferRequest/index.d.ts +91 -59
  230. package/dist/Interfaces/TransferRequest/index.js +38 -31
  231. package/dist/Interfaces/TransferRequest/index.js.map +1 -1
  232. package/dist/Interfaces/Translation/index.d.ts +8 -4
  233. package/dist/Interfaces/Translation/index.js +5 -2
  234. package/dist/Interfaces/Translation/index.js.map +1 -1
  235. package/dist/Interfaces/Update/index.d.ts +10 -10
  236. package/dist/Interfaces/Update/index.js +2 -2
  237. package/dist/Interfaces/User/IUser.d.ts +65 -65
  238. package/dist/Interfaces/User/IUser.js +8 -8
  239. package/dist/Interfaces/Version/index.d.ts +11 -11
  240. package/dist/Interfaces/Version/index.js +2 -2
  241. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  242. package/dist/Interfaces/Wishlist/index.js +2 -2
  243. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  244. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  245. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  246. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  247. package/dist/constants/enums.d.ts +6 -6
  248. package/dist/constants/enums.js +10 -10
  249. package/dist/constants/version.d.ts +2 -2
  250. package/dist/constants/version.js +5 -5
  251. package/dist/index.d.ts +32 -32
  252. package/dist/index.js +416 -416
  253. package/dist/lib/Attribute/index.d.ts +14 -14
  254. package/dist/lib/Attribute/index.js +248 -248
  255. package/dist/lib/BGJob/index.d.ts +9 -9
  256. package/dist/lib/BGJob/index.js +376 -376
  257. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  258. package/dist/lib/BackgroundWorker/index.js +72 -72
  259. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  260. package/dist/lib/Blog/BlogArticle.js +28 -28
  261. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  262. package/dist/lib/Blog/BlogAuthor.js +28 -28
  263. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  264. package/dist/lib/Blog/BlogCategory.js +28 -28
  265. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  266. package/dist/lib/Blog/BlogKeyword.js +28 -28
  267. package/dist/lib/Booking/index.d.ts +65 -65
  268. package/dist/lib/Booking/index.js +839 -839
  269. package/dist/lib/Brand/index.d.ts +17 -17
  270. package/dist/lib/Brand/index.js +275 -275
  271. package/dist/lib/Cart/index.d.ts +195 -186
  272. package/dist/lib/Cart/index.js +4120 -3982
  273. package/dist/lib/Cart/index.js.map +1 -1
  274. package/dist/lib/Catalogue/index.d.ts +9 -9
  275. package/dist/lib/Catalogue/index.js +207 -207
  276. package/dist/lib/Category/index.d.ts +26 -26
  277. package/dist/lib/Category/index.js +361 -361
  278. package/dist/lib/Class/index.d.ts +12 -12
  279. package/dist/lib/Class/index.js +159 -159
  280. package/dist/lib/Consent/index.d.ts +4 -4
  281. package/dist/lib/Consent/index.js +79 -79
  282. package/dist/lib/Customer/index.d.ts +10 -10
  283. package/dist/lib/Customer/index.js +147 -147
  284. package/dist/lib/Declination/index.d.ts +9 -9
  285. package/dist/lib/Declination/index.js +84 -84
  286. package/dist/lib/Discount/index.d.ts +18 -18
  287. package/dist/lib/Discount/index.js +759 -759
  288. package/dist/lib/ElasticSearch/index.d.ts +8 -8
  289. package/dist/lib/ElasticSearch/index.js +101 -101
  290. package/dist/lib/Email/AbandonedCartEmail.d.ts +8 -8
  291. package/dist/lib/Email/AbandonedCartEmail.js +78 -78
  292. package/dist/lib/Email/AccountConfirmationEmail.d.ts +11 -11
  293. package/dist/lib/Email/AccountConfirmationEmail.js +95 -95
  294. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +8 -8
  295. package/dist/lib/Email/AdminOrderConfirmationEmail.js +78 -78
  296. package/dist/lib/Email/ApplicationEmail.d.ts +8 -8
  297. package/dist/lib/Email/ApplicationEmail.js +78 -78
  298. package/dist/lib/Email/BackInStockEmail.d.ts +8 -8
  299. package/dist/lib/Email/BackInStockEmail.js +78 -78
  300. package/dist/lib/Email/ContactEmail.d.ts +8 -8
  301. package/dist/lib/Email/ContactEmail.js +78 -78
  302. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +8 -8
  303. package/dist/lib/Email/CustomerBookingAdminEmail.js +78 -78
  304. package/dist/lib/Email/CustomerBookingEmail.d.ts +8 -8
  305. package/dist/lib/Email/CustomerBookingEmail.js +78 -78
  306. package/dist/lib/Email/OrderConfirmationEmail.d.ts +8 -8
  307. package/dist/lib/Email/OrderConfirmationEmail.js +79 -78
  308. package/dist/lib/Email/OrderConfirmationEmail.js.map +1 -1
  309. package/dist/lib/Email/OrderDenounciationEmail.d.ts +8 -8
  310. package/dist/lib/Email/OrderDenounciationEmail.js +78 -78
  311. package/dist/lib/Email/OrderSampleEmail.d.ts +8 -8
  312. package/dist/lib/Email/OrderSampleEmail.js +78 -78
  313. package/dist/lib/Email/OtherTypeEmails.d.ts +8 -8
  314. package/dist/lib/Email/OtherTypeEmails.js +90 -90
  315. package/dist/lib/Email/PasswordResetEmail.d.ts +8 -8
  316. package/dist/lib/Email/PasswordResetEmail.js +78 -78
  317. package/dist/lib/Email/PhotoShootEmail.d.ts +8 -8
  318. package/dist/lib/Email/PhotoShootEmail.js +78 -78
  319. package/dist/lib/Email/PickUpConfirmation.d.ts +8 -8
  320. package/dist/lib/Email/PickUpConfirmation.js +78 -78
  321. package/dist/lib/Email/ShippingConfirmation.d.ts +8 -8
  322. package/dist/lib/Email/ShippingConfirmation.js +78 -78
  323. package/dist/lib/Email/WelcomeEmail.d.ts +8 -8
  324. package/dist/lib/Email/WelcomeEmail.js +78 -78
  325. package/dist/lib/Email/index.d.ts +8 -8
  326. package/dist/lib/Email/index.js +82 -82
  327. package/dist/lib/ExternalService/Ebay.d.ts +62 -62
  328. package/dist/lib/ExternalService/Ebay.js +184 -184
  329. package/dist/lib/ExternalService/index.d.ts +5 -5
  330. package/dist/lib/ExternalService/index.js +28 -28
  331. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  332. package/dist/lib/FirstOrderTracking/index.js +28 -28
  333. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  334. package/dist/lib/Indexed/IndexedCart.js +194 -194
  335. package/dist/lib/Indexed/Product.d.ts +17 -17
  336. package/dist/lib/Indexed/Product.js +116 -116
  337. package/dist/lib/Inventory/index.d.ts +48 -32
  338. package/dist/lib/Inventory/index.js +629 -579
  339. package/dist/lib/Inventory/index.js.map +1 -1
  340. package/dist/lib/Invoice/index.d.ts +5 -5
  341. package/dist/lib/Invoice/index.js +28 -28
  342. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  343. package/dist/lib/MarketplacePublication/index.js +220 -220
  344. package/dist/lib/MarketplacePublication/index.js.map +1 -1
  345. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  346. package/dist/lib/MongoDB/BaseAPI.js +308 -308
  347. package/dist/lib/Order/index.d.ts +7 -7
  348. package/dist/lib/Order/index.js +62 -62
  349. package/dist/lib/Org/index.d.ts +26 -26
  350. package/dist/lib/Org/index.js +283 -283
  351. package/dist/lib/PandaPay/index.d.ts +16 -16
  352. package/dist/lib/PandaPay/index.js +218 -218
  353. package/dist/lib/Paysafe/index.d.ts +11 -11
  354. package/dist/lib/Paysafe/index.js +100 -100
  355. package/dist/lib/Product/index.d.ts +143 -143
  356. package/dist/lib/Product/index.js +1326 -1326
  357. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  358. package/dist/lib/ProductAttribute/index.js +114 -114
  359. package/dist/lib/PromiseToPurchase/index.d.ts +37 -37
  360. package/dist/lib/PromiseToPurchase/index.js +475 -475
  361. package/dist/lib/PurchaseOrder/index.d.ts +9 -9
  362. package/dist/lib/PurchaseOrder/index.js +72 -72
  363. package/dist/lib/Schedule/index.d.ts +5 -5
  364. package/dist/lib/Schedule/index.js +30 -30
  365. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  366. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  367. package/dist/lib/Service/index.d.ts +5 -5
  368. package/dist/lib/Service/index.js +57 -57
  369. package/dist/lib/Shipment/index.d.ts +28 -28
  370. package/dist/lib/Shipment/index.js +562 -562
  371. package/dist/lib/Slider/index.d.ts +16 -16
  372. package/dist/lib/Slider/index.js +235 -235
  373. package/dist/lib/Space/index.d.ts +817 -801
  374. package/dist/lib/Space/index.js +6981 -6862
  375. package/dist/lib/Space/index.js.map +1 -1
  376. package/dist/lib/StockNotification/index.d.ts +4 -4
  377. package/dist/lib/StockNotification/index.js +26 -26
  378. package/dist/lib/Store/index.d.ts +5 -5
  379. package/dist/lib/Store/index.js +30 -30
  380. package/dist/lib/Supplier/Command.d.ts +5 -5
  381. package/dist/lib/Supplier/Command.js +28 -28
  382. package/dist/lib/Supplier/index.d.ts +25 -25
  383. package/dist/lib/Supplier/index.js +86 -86
  384. package/dist/lib/Tags/index.d.ts +6 -6
  385. package/dist/lib/Tags/index.js +84 -84
  386. package/dist/lib/Tax/index.d.ts +8 -8
  387. package/dist/lib/Tax/index.js +136 -136
  388. package/dist/lib/TransferRequest/index.d.ts +98 -21
  389. package/dist/lib/TransferRequest/index.js +1149 -302
  390. package/dist/lib/TransferRequest/index.js.map +1 -1
  391. package/dist/lib/Update/index.d.ts +10 -10
  392. package/dist/lib/Update/index.js +71 -71
  393. package/dist/lib/User/index.d.ts +33 -33
  394. package/dist/lib/User/index.js +360 -360
  395. package/dist/lib/Wishlist/index.d.ts +5 -5
  396. package/dist/lib/Wishlist/index.js +28 -28
  397. package/dist/lib/base.d.ts +14 -14
  398. package/dist/lib/base.js +135 -135
  399. package/dist/lib/baseService.d.ts +17 -17
  400. package/dist/lib/baseService.js +113 -113
  401. package/dist/rules/GR/constants/data.d.ts +25 -25
  402. package/dist/rules/GR/constants/data.js +54 -54
  403. package/dist/rules/GR/constants/products.d.ts +8 -8
  404. package/dist/rules/GR/constants/products.js +234 -234
  405. package/dist/rules/GR/interfaces/cart.d.ts +83 -83
  406. package/dist/rules/GR/interfaces/cart.js +51 -51
  407. package/dist/rules/GR/interfaces/data.d.ts +97 -97
  408. package/dist/rules/GR/interfaces/data.js +104 -104
  409. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  410. package/dist/rules/GR/interfaces/products.js +10 -10
  411. package/dist/rules/GR/utils/cart.d.ts +53 -53
  412. package/dist/rules/GR/utils/cart.js +767 -767
  413. package/dist/rules/GR/utils/data.d.ts +3 -3
  414. package/dist/rules/GR/utils/data.js +25 -25
  415. package/dist/rules/GR/utils/expedition.d.ts +65 -65
  416. package/dist/rules/GR/utils/expedition.js +1676 -1676
  417. package/dist/rules/GR/utils/expedition.js.map +1 -1
  418. package/dist/rules/GR/utils/g2.d.ts +174 -174
  419. package/dist/rules/GR/utils/g2.js +1025 -1025
  420. package/dist/rules/GR/utils/invoices.d.ts +16 -16
  421. package/dist/rules/GR/utils/invoices.js +181 -181
  422. package/dist/rules/GR/utils/products.d.ts +103 -96
  423. package/dist/rules/GR/utils/products.js +1101 -1085
  424. package/dist/rules/GR/utils/products.js.map +1 -1
  425. package/dist/rules/GR/utils/upsells.d.ts +75 -75
  426. package/dist/rules/GR/utils/upsells.js +278 -278
  427. package/dist/rules/GR/utils/upsells.js.map +1 -1
  428. package/dist/services/database/BaseProvider.d.ts +29 -29
  429. package/dist/services/database/BaseProvider.js +77 -77
  430. package/dist/services/database/BatchUtils.d.ts +14 -14
  431. package/dist/services/database/BatchUtils.js +88 -88
  432. package/dist/services/database/Config.d.ts +2 -2
  433. package/dist/services/database/Config.js +5 -5
  434. package/dist/services/database/DatabaseService.d.ts +41 -41
  435. package/dist/services/database/DatabaseService.js +297 -297
  436. package/dist/services/database/DatabaseService.js.map +1 -1
  437. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  438. package/dist/services/database/FirebaseProvider.js +312 -312
  439. package/dist/services/database/NotFirebaseProvider.d.ts +35 -35
  440. package/dist/services/database/NotFirebaseProvider.js +380 -380
  441. package/dist/services/g2/G2OrderSlip.d.ts +42 -42
  442. package/dist/services/g2/G2OrderSlip.js +264 -264
  443. package/dist/services/g2/utils.d.ts +9 -9
  444. package/dist/services/g2/utils.js +919 -919
  445. package/dist/services/logs/index.d.ts +20 -20
  446. package/dist/services/logs/index.js +126 -126
  447. package/dist/utils/algolia.d.ts +6 -6
  448. package/dist/utils/algolia.js +22 -22
  449. package/dist/utils/anonymisation.d.ts +30 -30
  450. package/dist/utils/anonymisation.js +264 -264
  451. package/dist/utils/array.d.ts +5 -5
  452. package/dist/utils/array.js +36 -36
  453. package/dist/utils/aws.d.ts +14 -14
  454. package/dist/utils/aws.js +220 -220
  455. package/dist/utils/booking.d.ts +22 -22
  456. package/dist/utils/booking.js +175 -175
  457. package/dist/utils/cart.d.ts +88 -69
  458. package/dist/utils/cart.js +767 -656
  459. package/dist/utils/cart.js.map +1 -1
  460. package/dist/utils/cmv.d.ts +10 -10
  461. package/dist/utils/cmv.js +107 -107
  462. package/dist/utils/console.d.ts +6 -6
  463. package/dist/utils/console.js +121 -121
  464. package/dist/utils/context.d.ts +20 -19
  465. package/dist/utils/context.js +59 -41
  466. package/dist/utils/context.js.map +1 -1
  467. package/dist/utils/currency.d.ts +6 -6
  468. package/dist/utils/currency.js +62 -62
  469. package/dist/utils/data.d.ts +31 -31
  470. package/dist/utils/data.js +300 -300
  471. package/dist/utils/date.d.ts +1 -1
  472. package/dist/utils/date.js +16 -16
  473. package/dist/utils/dimensions.d.ts +3 -3
  474. package/dist/utils/dimensions.js +18 -18
  475. package/dist/utils/discount.d.ts +46 -46
  476. package/dist/utils/discount.js +981 -981
  477. package/dist/utils/errors.d.ts +113 -113
  478. package/dist/utils/errors.js +113 -113
  479. package/dist/utils/file-admin.d.ts +8 -8
  480. package/dist/utils/file-admin.js +94 -94
  481. package/dist/utils/file.d.ts +38 -38
  482. package/dist/utils/file.js +318 -318
  483. package/dist/utils/firebase-admin.d.ts +2 -2
  484. package/dist/utils/firebase-admin.js +118 -118
  485. package/dist/utils/firebase.d.ts +41 -41
  486. package/dist/utils/firebase.js +220 -220
  487. package/dist/utils/import.d.ts +1 -1
  488. package/dist/utils/import.js +81 -81
  489. package/dist/utils/inventories.d.ts +35 -34
  490. package/dist/utils/inventories.js +445 -432
  491. package/dist/utils/inventories.js.map +1 -1
  492. package/dist/utils/locale.d.ts +13 -13
  493. package/dist/utils/locale.js +67 -67
  494. package/dist/utils/mailchimp.d.ts +58 -58
  495. package/dist/utils/mailchimp.js +735 -735
  496. package/dist/utils/mongodb.d.ts +1 -1
  497. package/dist/utils/mongodb.js +68 -68
  498. package/dist/utils/object.d.ts +12 -12
  499. package/dist/utils/object.js +129 -129
  500. package/dist/utils/payment.d.ts +10 -10
  501. package/dist/utils/payment.js +25 -25
  502. package/dist/utils/products.d.ts +32 -26
  503. package/dist/utils/products.js +307 -301
  504. package/dist/utils/products.js.map +1 -1
  505. package/dist/utils/promiseToPurchase.d.ts +56 -56
  506. package/dist/utils/promiseToPurchase.js +228 -228
  507. package/dist/utils/prosprsearch.d.ts +21 -21
  508. package/dist/utils/prosprsearch.js +276 -276
  509. package/dist/utils/refunds.d.ts +2 -2
  510. package/dist/utils/refunds.js +21 -21
  511. package/dist/utils/sdc.d.ts +10 -10
  512. package/dist/utils/sdc.js +1308 -1308
  513. package/dist/utils/searchIndexes.d.ts +21 -21
  514. package/dist/utils/searchIndexes.js +318 -318
  515. package/dist/utils/services.d.ts +40 -40
  516. package/dist/utils/services.js +407 -407
  517. package/dist/utils/shipment.d.ts +110 -110
  518. package/dist/utils/shipment.js +410 -410
  519. package/dist/utils/simpletexting.d.ts +2 -2
  520. package/dist/utils/simpletexting.js +91 -91
  521. package/dist/utils/sliders.d.ts +4 -4
  522. package/dist/utils/sliders.js +70 -70
  523. package/dist/utils/string.d.ts +16 -16
  524. package/dist/utils/string.js +194 -194
  525. package/dist/utils/tools.d.ts +1 -1
  526. package/dist/utils/tools.js +49 -49
  527. package/dist/utils/transferRequests.d.ts +19 -16
  528. package/dist/utils/transferRequests.js +44 -33
  529. package/dist/utils/transferRequests.js.map +1 -1
  530. package/dist/utils/update.d.ts +7 -7
  531. package/dist/utils/update.js +245 -245
  532. package/dist/utils/weight.d.ts +3 -3
  533. package/dist/utils/weight.js +18 -18
  534. package/dist/utils/zones.d.ts +11 -11
  535. package/dist/utils/zones.js +313 -313
  536. package/package.json +110 -110
  537. package/publish.sh +143 -143
  538. package/readme.md +182 -182
  539. package/dist/lib/Queue/index.d.ts +0 -40
  540. package/dist/lib/Queue/index.js +0 -255
  541. package/dist/lib/Queue/index.js.map +0 -1
@@ -1,476 +1,476 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
44
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
65
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
66
- if (ar || !(i in from)) {
67
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
68
- ar[i] = from[i];
69
- }
70
- }
71
- return to.concat(ar || Array.prototype.slice.call(from));
72
- };
73
- var __importDefault = (this && this.__importDefault) || function (mod) {
74
- return (mod && mod.__esModule) ? mod : { "default": mod };
75
- };
76
- Object.defineProperty(exports, "__esModule", { value: true });
77
- var moment_1 = __importDefault(require("moment"));
78
- var Space_1 = __importDefault(require("../Space"));
79
- var Cart_1 = require("../../Interfaces/Cart");
80
- var data_1 = require("../../utils/data");
81
- var algolia_1 = require("../../utils/algolia");
82
- var __1 = require("../..");
83
- var console_1 = require("../../utils/console");
84
- var promiseToPurchase_1 = require("../../utils/promiseToPurchase");
85
- var searchIndexes_1 = require("../../utils/searchIndexes");
86
- var baseService_1 = require("../baseService");
87
- var PromiseToPurchase = (function (_super) {
88
- __extends(PromiseToPurchase, _super);
89
- function PromiseToPurchase() {
90
- var _this = _super !== null && _super.apply(this, arguments) || this;
91
- _this.data = function () {
92
- return _this._data;
93
- };
94
- _this.delete = function () { return __awaiter(_this, void 0, void 0, function () {
95
- return __generator(this, function (_b) {
96
- console.log('cannot delete Promise to Purchase!');
97
- return [2, false];
98
- });
99
- }); };
100
- _this.save = function (partial, saveToDatabase, noEvent) {
101
- if (saveToDatabase === void 0) { saveToDatabase = true; }
102
- if (noEvent === void 0) { noEvent = false; }
103
- return __awaiter(_this, void 0, void 0, function () {
104
- var currentData, newData, id, e_1;
105
- return __generator(this, function (_b) {
106
- switch (_b.label) {
107
- case 0:
108
- _b.trys.push([0, 2, , 3]);
109
- currentData = this._data;
110
- newData = __assign(__assign({}, currentData), (!!partial ? partial : {}));
111
- if (!!!newData.created_by) {
112
- newData = __assign(__assign({}, newData), { created_by: this._user, created_date: (0, moment_1.default)().toDate() });
113
- }
114
- return [4, _super.prototype.save.call(this, newData, undefined, saveToDatabase, undefined, undefined, undefined, undefined, noEvent)];
115
- case 1:
116
- id = _b.sent();
117
- if (!!id && !!!this._data.id && typeof id === 'string') {
118
- this._data = __assign(__assign({}, this._data), { id: id });
119
- }
120
- return [2, !!id ? id : true];
121
- case 2:
122
- e_1 = _b.sent();
123
- console.log('error on saving PromiseToPurchase: ', e_1.toString());
124
- return [2, false];
125
- case 3: return [2];
126
- }
127
- });
128
- });
129
- };
130
- _this.adjustAmountLeftInPromise = function (adjustment, bankTypeId, bankNowEmpty) { return __awaiter(_this, void 0, void 0, function () {
131
- var balancedBank, adjustments, bank, newBanks, allBanksInactive, saved, e_2;
132
- var _b;
133
- return __generator(this, function (_c) {
134
- switch (_c.label) {
135
- case 0:
136
- balancedBank = this.getBank(bankTypeId);
137
- if (balancedBank === undefined)
138
- return [2, false];
139
- adjustments = __spreadArray(__spreadArray([], ((_b = balancedBank.adjustments) !== null && _b !== void 0 ? _b : []), true), [__assign(__assign({}, adjustment), { issued_by: this._user })], false);
140
- bank = __assign(__assign(__assign({}, balancedBank), { adjustments: adjustments }), (!!bankNowEmpty ? { active: false } : {}));
141
- newBanks = this._data.banks.map(function (b) { return (b.bank_type_id === bankTypeId ? bank : b); });
142
- allBanksInactive = newBanks.every(function (b) { return !!!b.active; });
143
- _c.label = 1;
144
- case 1:
145
- _c.trys.push([1, 3, , 4]);
146
- return [4, this.save(__assign({ banks: newBanks }, (!!allBanksInactive ? { ending_date: (0, moment_1.default)().toDate() } : {})))];
147
- case 2:
148
- saved = _c.sent();
149
- return [2, !!saved];
150
- case 3:
151
- e_2 = _c.sent();
152
- console.log('error on saving adjustment in bank: ', e_2.toString());
153
- return [2, false];
154
- case 4: return [2];
155
- }
156
- });
157
- }); };
158
- _this.getRulesForAllBanks = function () { return __awaiter(_this, void 0, void 0, function () {
159
- var allBanks, space_1, rules, e_3;
160
- return __generator(this, function (_b) {
161
- switch (_b.label) {
162
- case 0:
163
- allBanks = this._data.banks;
164
- _b.label = 1;
165
- case 1:
166
- _b.trys.push([1, 3, , 4]);
167
- return [4, Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user)];
168
- case 2:
169
- space_1 = _b.sent();
170
- rules = allBanks.map(function (bank) {
171
- var rulesForType = space_1.bankTypes.getRulesByType(bank.bank_type_id, bank.version);
172
- if (!!!rulesForType)
173
- return undefined;
174
- return __assign({ type_id: bank.bank_type_id }, rulesForType);
175
- });
176
- return [2, rules.filter(function (i) { return !!i; })];
177
- case 3:
178
- e_3 = _b.sent();
179
- console.log('error on getting Rules for banks: ', e_3.toString());
180
- return [2];
181
- case 4: return [2];
182
- }
183
- });
184
- }); };
185
- _this.constructDefaultPromiseToPurchase = function (space, customer_id) { return __awaiter(_this, void 0, void 0, function () {
186
- var newData, allCurrentBankTypes, isOnlyActivePromiseForCustomer_1, activePAs_1, currentCustomerPAs, e_4;
187
- return __generator(this, function (_b) {
188
- switch (_b.label) {
189
- case 0:
190
- newData = __assign({}, this._data);
191
- _b.label = 1;
192
- case 1:
193
- _b.trys.push([1, 4, , 5]);
194
- allCurrentBankTypes = space.bankTypes.get();
195
- isOnlyActivePromiseForCustomer_1 = true;
196
- if (!!!customer_id) return [3, 3];
197
- return [4, space.promisesToPurchase.get({
198
- query: [{ field: 'customer_id', operator: '==', value: customer_id !== null && customer_id !== void 0 ? customer_id : newData.customer_id }]
199
- })];
200
- case 2:
201
- currentCustomerPAs = _b.sent();
202
- if (!!currentCustomerPAs) {
203
- activePAs_1 = currentCustomerPAs.filter(function (p) { return !!!p.data().ending_date; });
204
- if (!!activePAs_1.length)
205
- isOnlyActivePromiseForCustomer_1 = false;
206
- }
207
- _b.label = 3;
208
- case 3:
209
- newData = __assign(__assign({}, newData), { banks: allCurrentBankTypes
210
- .map(function (bankType) {
211
- var rulesToApply = space.bankTypes.getRulesByType(bankType.id);
212
- if (!!!rulesToApply)
213
- return undefined;
214
- var bankReductions = rulesToApply.rules.map(function (bankRule) { return (__assign(__assign({}, bankRule), { default_promo: null, additionnal_promo: null })); });
215
- var otherBankOfSameTypeIsActive = (0, promiseToPurchase_1.checkIfOtherBankOfSameTypeIsActive)(bankType.id, activePAs_1);
216
- return {
217
- bank_type_id: bankType.id,
218
- version: rulesToApply.version,
219
- name: bankType.name,
220
- association_type: bankType.association_type,
221
- initial_amount: null,
222
- remaining_amount: null,
223
- reductions: bankReductions,
224
- adjustments: [],
225
- active: !!otherBankOfSameTypeIsActive ? false : isOnlyActivePromiseForCustomer_1
226
- };
227
- })
228
- .filter(function (b) { return !!b; }) });
229
- this._data = newData;
230
- return [3, 5];
231
- case 4:
232
- e_4 = _b.sent();
233
- console.log('error on creating default Promise to Purchase: ', e_4.toString());
234
- return [3, 5];
235
- case 5: return [2];
236
- }
237
- });
238
- }); };
239
- _this.getAssociatedCarts = function (options) { return __awaiter(_this, void 0, void 0, function () {
240
- var space, carts;
241
- return __generator(this, function (_b) {
242
- switch (_b.label) {
243
- case 0:
244
- if (!!!this.data().id)
245
- return [2, []];
246
- return [4, Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user)];
247
- case 1:
248
- space = _b.sent();
249
- return [4, space.carts.get(__assign({ query: [
250
- {
251
- field: 'promise_to_purchase.ids',
252
- operator: 'array-contains',
253
- value: this.data().id
254
- }
255
- ] }, (!!options ? options : {})))];
256
- case 2:
257
- carts = _b.sent();
258
- return [2, carts.filter(function (f) { return !!f.data().paid_at && f.data().status >= Cart_1.CartStatusEnum.CHECKOUT_PAYMENT_SUCCESS; })];
259
- }
260
- });
261
- }); };
262
- _this.isValid = function (customPriceList, checkDate) {
263
- if (checkDate === void 0) { checkDate = new Date(); }
264
- if (!!!customPriceList || customPriceList.length === 0 || typeof customPriceList === 'string')
265
- return false;
266
- var startDate = _this.data().starting_date;
267
- var endDate = _this.data().ending_date;
268
- if ((0, moment_1.default)(checkDate).isBefore((0, moment_1.default)((0, data_1.formatDate)(startDate), 'day')))
269
- return false;
270
- if (!!endDate && (0, moment_1.default)(checkDate).isSameOrAfter((0, moment_1.default)((0, data_1.formatDate)(endDate), 'day')))
271
- return false;
272
- return true;
273
- };
274
- _this.disableEmptyPABanks = function (bankIDsWithRemainingAmounts) { return __awaiter(_this, void 0, void 0, function () {
275
- var newBankArray, _loop_1, _i, _b, _c, bankID, remaining, newData, allBanksAreInactive;
276
- return __generator(this, function (_d) {
277
- switch (_d.label) {
278
- case 0:
279
- if (this._data.banks.every(function (b) { return !!!Object.keys(bankIDsWithRemainingAmounts).includes(b.bank_type_id); }))
280
- throw new Error('None of the provided bank IDs were found in promise');
281
- newBankArray = __spreadArray([], this._data.banks, true);
282
- _loop_1 = function (bankID, remaining) {
283
- newBankArray = newBankArray.map(function (b) {
284
- if (b.bank_type_id !== bankID)
285
- return b;
286
- return __assign(__assign({}, b), { active: false, remaining_amount: remaining });
287
- });
288
- };
289
- for (_i = 0, _b = Object.entries(bankIDsWithRemainingAmounts); _i < _b.length; _i++) {
290
- _c = _b[_i], bankID = _c[0], remaining = _c[1];
291
- _loop_1(bankID, remaining);
292
- }
293
- newData = {
294
- banks: newBankArray
295
- };
296
- allBanksAreInactive = newBankArray.every(function (b) { return !!!b.active; });
297
- if (!!allBanksAreInactive) {
298
- newData = __assign(__assign({}, newData), { ending_date: new Date() });
299
- }
300
- return [4, this.save(newData)];
301
- case 1:
302
- _d.sent();
303
- return [2];
304
- }
305
- });
306
- }); };
307
- _this.deactivate = function (save) {
308
- if (save === void 0) { save = false; }
309
- return __awaiter(_this, void 0, void 0, function () {
310
- var _b;
311
- return __generator(this, function (_c) {
312
- switch (_c.label) {
313
- case 0:
314
- this._data = __assign(__assign({}, this._data), { ending_date: (_b = this._data.ending_date) !== null && _b !== void 0 ? _b : new Date() });
315
- if (!!!save) return [3, 2];
316
- return [4, this.save()];
317
- case 1:
318
- _c.sent();
319
- _c.label = 2;
320
- case 2: return [2];
321
- }
322
- });
323
- });
324
- };
325
- _this.activate = function (newDate, save) {
326
- if (newDate === void 0) { newDate = new Date(); }
327
- if (save === void 0) { save = false; }
328
- return __awaiter(_this, void 0, void 0, function () {
329
- return __generator(this, function (_b) {
330
- switch (_b.label) {
331
- case 0:
332
- this._data = __assign(__assign({}, this._data), { starting_date: newDate, ending_date: null });
333
- if (!!!save) return [3, 2];
334
- return [4, this.save()];
335
- case 1:
336
- _b.sent();
337
- _b.label = 2;
338
- case 2: return [2];
339
- }
340
- });
341
- });
342
- };
343
- _this.archive = function (save) {
344
- if (save === void 0) { save = false; }
345
- return __awaiter(_this, void 0, void 0, function () {
346
- return __generator(this, function (_b) {
347
- switch (_b.label) {
348
- case 0:
349
- this._data = __assign(__assign({}, this._data), { archived: true });
350
- if (!!!save) return [3, 2];
351
- return [4, this.save()];
352
- case 1:
353
- _b.sent();
354
- _b.label = 2;
355
- case 2: return [2];
356
- }
357
- });
358
- });
359
- };
360
- return _this;
361
- }
362
- PromiseToPurchase.prototype.getBank = function (bankTypeId) {
363
- return this._data.banks.find(function (b) { return b.bank_type_id === bankTypeId; });
364
- };
365
- var _a;
366
- _a = PromiseToPurchase;
367
- PromiseToPurchase.fetch = function (_b) {
368
- var app = _b.app, api = _b.api, _c = _b.hpp, hpp = _c === void 0 ? 10 : _c, _d = _b.page, page = _d === void 0 ? 0 : _d, _e = _b.query, query = _e === void 0 ? '' : _e, _f = _b.filters, filters = _f === void 0 ? '' : _f, _g = _b.indice, indice = _g === void 0 ? 'customer_pa_cust_id' : _g, _h = _b.f, f = _h === void 0 ? '' : _h, space = _b.space, _j = _b.useProspr, useProspr = _j === void 0 ? false : _j;
369
- return __awaiter(void 0, void 0, void 0, function () {
370
- var prosprSearch, prosprService, algolia, results, error_1;
371
- return __generator(_a, function (_k) {
372
- switch (_k.label) {
373
- case 0:
374
- _k.trys.push([0, 2, , 3]);
375
- prosprSearch = false;
376
- if (!!space) {
377
- prosprService = space
378
- .data()
379
- .external_services.find(function (es) { return es.external_service_name.toLowerCase().trim() === 'prosprsearch'; });
380
- prosprSearch = !!prosprService && prosprService.is_active;
381
- }
382
- algolia = (0, algolia_1.createClient)({
383
- app: app,
384
- indexId: "".concat(__1.isTestEnv ? 'test' : 'prod', "_").concat(indice),
385
- key: !!useProspr ? api : prosprSearch && !!space ? space.preferences.prosprsearch.app() : api,
386
- prospr: !!prosprSearch || !!useProspr
387
- });
388
- return [4, algolia.search(query, {
389
- hitsPerPage: hpp,
390
- facetFilters: filters,
391
- filters: f,
392
- page: page,
393
- facets: ['*']
394
- })];
395
- case 1:
396
- results = _k.sent();
397
- return [2, results];
398
- case 2:
399
- error_1 = _k.sent();
400
- (0, console_1.errorMessage)(error_1);
401
- throw error_1;
402
- case 3: return [2];
403
- }
404
- });
405
- });
406
- };
407
- PromiseToPurchase.fetchHistory = function (_b) {
408
- var app = _b.app, api = _b.api, _c = _b.hpp, hpp = _c === void 0 ? 50 : _c, _d = _b.page, page = _d === void 0 ? 0 : _d, _e = _b.query, query = _e === void 0 ? '' : _e, _f = _b.filters, filters = _f === void 0 ? '' : _f, _g = _b.indice, indice = _g === void 0 ? 'pa_bank_history' : _g, _h = _b.f, f = _h === void 0 ? '' : _h, _j = _b.useProspr, useProspr = _j === void 0 ? false : _j;
409
- return __awaiter(void 0, void 0, void 0, function () {
410
- var results, e_5;
411
- return __generator(_a, function (_k) {
412
- switch (_k.label) {
413
- case 0:
414
- _k.trys.push([0, 2, , 3]);
415
- return [4, (0, searchIndexes_1.searchAPIFetchAlgoliaAddioSearch)({
416
- app: app,
417
- api: api,
418
- indice: indice,
419
- hpp: hpp,
420
- page: page,
421
- query: query,
422
- filters: filters,
423
- f: f,
424
- useProspr: useProspr
425
- })];
426
- case 1:
427
- results = _k.sent();
428
- return [2, results];
429
- case 2:
430
- e_5 = _k.sent();
431
- console.log('error on fetching history for promises : ', e_5.toString());
432
- return [3, 3];
433
- case 3: return [2];
434
- }
435
- });
436
- });
437
- };
438
- PromiseToPurchase.calculateRemainingAmounts = function (actualCart, applicableBanks, applicableBanksHistory, space) { return __awaiter(void 0, void 0, void 0, function () {
439
- var remainingAmountsForApplicableBanks, cartDataPA, remainingBankAmounts;
440
- return __generator(_a, function (_b) {
441
- switch (_b.label) {
442
- case 0: return [4, space.promisesToPurchase.getAvailableAmountForApplicableBanks(applicableBanks, applicableBanksHistory)];
443
- case 1:
444
- remainingAmountsForApplicableBanks = _b.sent();
445
- if (!!!actualCart)
446
- throw new Error("ActualCart can't be undefined");
447
- cartDataPA = actualCart.data().promise_to_purchase;
448
- if (!!!cartDataPA || !!!cartDataPA.banks_used || cartDataPA.banks_used.length === 0)
449
- throw new Error("ActualCart must have an associated promise to purchase and at least one bank_used");
450
- remainingBankAmounts = applicableBanks.map(function (applicable) {
451
- var bank = applicable.bank, promise_id = applicable.promise_id, promise_unique_id = applicable.promise_unique_id;
452
- var remainingAmount = remainingAmountsForApplicableBanks[bank.bank_type_id];
453
- if (typeof remainingAmount === 'undefined')
454
- return;
455
- return {
456
- bank_type_id: bank.bank_type_id,
457
- amount: remainingAmount,
458
- promise_id: promise_id,
459
- promise_unique_id: promise_unique_id
460
- };
461
- });
462
- return [2, remainingBankAmounts.filter(function (bankApplied) { return !!bankApplied; })];
463
- }
464
- });
465
- }); };
466
- PromiseToPurchase.getDefaultPromiseToPurchase = function (customerId) { return ({
467
- archived: false,
468
- promise_unique_id: '',
469
- customer_id: customerId,
470
- banks: [],
471
- starting_date: (0, moment_1.default)().toDate()
472
- }); };
473
- return PromiseToPurchase;
474
- }(baseService_1.BaseServiceClass));
475
- exports.default = PromiseToPurchase;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
44
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
64
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
65
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
66
+ if (ar || !(i in from)) {
67
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
68
+ ar[i] = from[i];
69
+ }
70
+ }
71
+ return to.concat(ar || Array.prototype.slice.call(from));
72
+ };
73
+ var __importDefault = (this && this.__importDefault) || function (mod) {
74
+ return (mod && mod.__esModule) ? mod : { "default": mod };
75
+ };
76
+ Object.defineProperty(exports, "__esModule", { value: true });
77
+ var moment_1 = __importDefault(require("moment"));
78
+ var Space_1 = __importDefault(require("../Space"));
79
+ var Cart_1 = require("../../Interfaces/Cart");
80
+ var data_1 = require("../../utils/data");
81
+ var algolia_1 = require("../../utils/algolia");
82
+ var __1 = require("../..");
83
+ var console_1 = require("../../utils/console");
84
+ var promiseToPurchase_1 = require("../../utils/promiseToPurchase");
85
+ var searchIndexes_1 = require("../../utils/searchIndexes");
86
+ var baseService_1 = require("../baseService");
87
+ var PromiseToPurchase = (function (_super) {
88
+ __extends(PromiseToPurchase, _super);
89
+ function PromiseToPurchase() {
90
+ var _this = _super !== null && _super.apply(this, arguments) || this;
91
+ _this.data = function () {
92
+ return _this._data;
93
+ };
94
+ _this.delete = function () { return __awaiter(_this, void 0, void 0, function () {
95
+ return __generator(this, function (_b) {
96
+ console.log('cannot delete Promise to Purchase!');
97
+ return [2, false];
98
+ });
99
+ }); };
100
+ _this.save = function (partial, saveToDatabase, noEvent) {
101
+ if (saveToDatabase === void 0) { saveToDatabase = true; }
102
+ if (noEvent === void 0) { noEvent = false; }
103
+ return __awaiter(_this, void 0, void 0, function () {
104
+ var currentData, newData, id, e_1;
105
+ return __generator(this, function (_b) {
106
+ switch (_b.label) {
107
+ case 0:
108
+ _b.trys.push([0, 2, , 3]);
109
+ currentData = this._data;
110
+ newData = __assign(__assign({}, currentData), (!!partial ? partial : {}));
111
+ if (!!!newData.created_by) {
112
+ newData = __assign(__assign({}, newData), { created_by: this._user, created_date: (0, moment_1.default)().toDate() });
113
+ }
114
+ return [4, _super.prototype.save.call(this, newData, undefined, saveToDatabase, undefined, undefined, undefined, undefined, noEvent)];
115
+ case 1:
116
+ id = _b.sent();
117
+ if (!!id && !!!this._data.id && typeof id === 'string') {
118
+ this._data = __assign(__assign({}, this._data), { id: id });
119
+ }
120
+ return [2, !!id ? id : true];
121
+ case 2:
122
+ e_1 = _b.sent();
123
+ console.log('error on saving PromiseToPurchase: ', e_1.toString());
124
+ return [2, false];
125
+ case 3: return [2];
126
+ }
127
+ });
128
+ });
129
+ };
130
+ _this.adjustAmountLeftInPromise = function (adjustment, bankTypeId, bankNowEmpty) { return __awaiter(_this, void 0, void 0, function () {
131
+ var balancedBank, adjustments, bank, newBanks, allBanksInactive, saved, e_2;
132
+ var _b;
133
+ return __generator(this, function (_c) {
134
+ switch (_c.label) {
135
+ case 0:
136
+ balancedBank = this.getBank(bankTypeId);
137
+ if (balancedBank === undefined)
138
+ return [2, false];
139
+ adjustments = __spreadArray(__spreadArray([], ((_b = balancedBank.adjustments) !== null && _b !== void 0 ? _b : []), true), [__assign(__assign({}, adjustment), { issued_by: this._user })], false);
140
+ bank = __assign(__assign(__assign({}, balancedBank), { adjustments: adjustments }), (!!bankNowEmpty ? { active: false } : {}));
141
+ newBanks = this._data.banks.map(function (b) { return (b.bank_type_id === bankTypeId ? bank : b); });
142
+ allBanksInactive = newBanks.every(function (b) { return !!!b.active; });
143
+ _c.label = 1;
144
+ case 1:
145
+ _c.trys.push([1, 3, , 4]);
146
+ return [4, this.save(__assign({ banks: newBanks }, (!!allBanksInactive ? { ending_date: (0, moment_1.default)().toDate() } : {})))];
147
+ case 2:
148
+ saved = _c.sent();
149
+ return [2, !!saved];
150
+ case 3:
151
+ e_2 = _c.sent();
152
+ console.log('error on saving adjustment in bank: ', e_2.toString());
153
+ return [2, false];
154
+ case 4: return [2];
155
+ }
156
+ });
157
+ }); };
158
+ _this.getRulesForAllBanks = function () { return __awaiter(_this, void 0, void 0, function () {
159
+ var allBanks, space_1, rules, e_3;
160
+ return __generator(this, function (_b) {
161
+ switch (_b.label) {
162
+ case 0:
163
+ allBanks = this._data.banks;
164
+ _b.label = 1;
165
+ case 1:
166
+ _b.trys.push([1, 3, , 4]);
167
+ return [4, Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user)];
168
+ case 2:
169
+ space_1 = _b.sent();
170
+ rules = allBanks.map(function (bank) {
171
+ var rulesForType = space_1.bankTypes.getRulesByType(bank.bank_type_id, bank.version);
172
+ if (!!!rulesForType)
173
+ return undefined;
174
+ return __assign({ type_id: bank.bank_type_id }, rulesForType);
175
+ });
176
+ return [2, rules.filter(function (i) { return !!i; })];
177
+ case 3:
178
+ e_3 = _b.sent();
179
+ console.log('error on getting Rules for banks: ', e_3.toString());
180
+ return [2];
181
+ case 4: return [2];
182
+ }
183
+ });
184
+ }); };
185
+ _this.constructDefaultPromiseToPurchase = function (space, customer_id) { return __awaiter(_this, void 0, void 0, function () {
186
+ var newData, allCurrentBankTypes, isOnlyActivePromiseForCustomer_1, activePAs_1, currentCustomerPAs, e_4;
187
+ return __generator(this, function (_b) {
188
+ switch (_b.label) {
189
+ case 0:
190
+ newData = __assign({}, this._data);
191
+ _b.label = 1;
192
+ case 1:
193
+ _b.trys.push([1, 4, , 5]);
194
+ allCurrentBankTypes = space.bankTypes.get();
195
+ isOnlyActivePromiseForCustomer_1 = true;
196
+ if (!!!customer_id) return [3, 3];
197
+ return [4, space.promisesToPurchase.get({
198
+ query: [{ field: 'customer_id', operator: '==', value: customer_id !== null && customer_id !== void 0 ? customer_id : newData.customer_id }]
199
+ })];
200
+ case 2:
201
+ currentCustomerPAs = _b.sent();
202
+ if (!!currentCustomerPAs) {
203
+ activePAs_1 = currentCustomerPAs.filter(function (p) { return !!!p.data().ending_date; });
204
+ if (!!activePAs_1.length)
205
+ isOnlyActivePromiseForCustomer_1 = false;
206
+ }
207
+ _b.label = 3;
208
+ case 3:
209
+ newData = __assign(__assign({}, newData), { banks: allCurrentBankTypes
210
+ .map(function (bankType) {
211
+ var rulesToApply = space.bankTypes.getRulesByType(bankType.id);
212
+ if (!!!rulesToApply)
213
+ return undefined;
214
+ var bankReductions = rulesToApply.rules.map(function (bankRule) { return (__assign(__assign({}, bankRule), { default_promo: null, additionnal_promo: null })); });
215
+ var otherBankOfSameTypeIsActive = (0, promiseToPurchase_1.checkIfOtherBankOfSameTypeIsActive)(bankType.id, activePAs_1);
216
+ return {
217
+ bank_type_id: bankType.id,
218
+ version: rulesToApply.version,
219
+ name: bankType.name,
220
+ association_type: bankType.association_type,
221
+ initial_amount: null,
222
+ remaining_amount: null,
223
+ reductions: bankReductions,
224
+ adjustments: [],
225
+ active: !!otherBankOfSameTypeIsActive ? false : isOnlyActivePromiseForCustomer_1
226
+ };
227
+ })
228
+ .filter(function (b) { return !!b; }) });
229
+ this._data = newData;
230
+ return [3, 5];
231
+ case 4:
232
+ e_4 = _b.sent();
233
+ console.log('error on creating default Promise to Purchase: ', e_4.toString());
234
+ return [3, 5];
235
+ case 5: return [2];
236
+ }
237
+ });
238
+ }); };
239
+ _this.getAssociatedCarts = function (options) { return __awaiter(_this, void 0, void 0, function () {
240
+ var space, carts;
241
+ return __generator(this, function (_b) {
242
+ switch (_b.label) {
243
+ case 0:
244
+ if (!!!this.data().id)
245
+ return [2, []];
246
+ return [4, Space_1.default.getCurrentSpaceWithRef(this._collection.path, this._user)];
247
+ case 1:
248
+ space = _b.sent();
249
+ return [4, space.carts.get(__assign({ query: [
250
+ {
251
+ field: 'promise_to_purchase.ids',
252
+ operator: 'array-contains',
253
+ value: this.data().id
254
+ }
255
+ ] }, (!!options ? options : {})))];
256
+ case 2:
257
+ carts = _b.sent();
258
+ return [2, carts.filter(function (f) { return !!f.data().paid_at && f.data().status >= Cart_1.CartStatusEnum.CHECKOUT_PAYMENT_SUCCESS; })];
259
+ }
260
+ });
261
+ }); };
262
+ _this.isValid = function (customPriceList, checkDate) {
263
+ if (checkDate === void 0) { checkDate = new Date(); }
264
+ if (!!!customPriceList || customPriceList.length === 0 || typeof customPriceList === 'string')
265
+ return false;
266
+ var startDate = _this.data().starting_date;
267
+ var endDate = _this.data().ending_date;
268
+ if ((0, moment_1.default)(checkDate).isBefore((0, moment_1.default)((0, data_1.formatDate)(startDate), 'day')))
269
+ return false;
270
+ if (!!endDate && (0, moment_1.default)(checkDate).isSameOrAfter((0, moment_1.default)((0, data_1.formatDate)(endDate), 'day')))
271
+ return false;
272
+ return true;
273
+ };
274
+ _this.disableEmptyPABanks = function (bankIDsWithRemainingAmounts) { return __awaiter(_this, void 0, void 0, function () {
275
+ var newBankArray, _loop_1, _i, _b, _c, bankID, remaining, newData, allBanksAreInactive;
276
+ return __generator(this, function (_d) {
277
+ switch (_d.label) {
278
+ case 0:
279
+ if (this._data.banks.every(function (b) { return !!!Object.keys(bankIDsWithRemainingAmounts).includes(b.bank_type_id); }))
280
+ throw new Error('None of the provided bank IDs were found in promise');
281
+ newBankArray = __spreadArray([], this._data.banks, true);
282
+ _loop_1 = function (bankID, remaining) {
283
+ newBankArray = newBankArray.map(function (b) {
284
+ if (b.bank_type_id !== bankID)
285
+ return b;
286
+ return __assign(__assign({}, b), { active: false, remaining_amount: remaining });
287
+ });
288
+ };
289
+ for (_i = 0, _b = Object.entries(bankIDsWithRemainingAmounts); _i < _b.length; _i++) {
290
+ _c = _b[_i], bankID = _c[0], remaining = _c[1];
291
+ _loop_1(bankID, remaining);
292
+ }
293
+ newData = {
294
+ banks: newBankArray
295
+ };
296
+ allBanksAreInactive = newBankArray.every(function (b) { return !!!b.active; });
297
+ if (!!allBanksAreInactive) {
298
+ newData = __assign(__assign({}, newData), { ending_date: new Date() });
299
+ }
300
+ return [4, this.save(newData)];
301
+ case 1:
302
+ _d.sent();
303
+ return [2];
304
+ }
305
+ });
306
+ }); };
307
+ _this.deactivate = function (save) {
308
+ if (save === void 0) { save = false; }
309
+ return __awaiter(_this, void 0, void 0, function () {
310
+ var _b;
311
+ return __generator(this, function (_c) {
312
+ switch (_c.label) {
313
+ case 0:
314
+ this._data = __assign(__assign({}, this._data), { ending_date: (_b = this._data.ending_date) !== null && _b !== void 0 ? _b : new Date() });
315
+ if (!!!save) return [3, 2];
316
+ return [4, this.save()];
317
+ case 1:
318
+ _c.sent();
319
+ _c.label = 2;
320
+ case 2: return [2];
321
+ }
322
+ });
323
+ });
324
+ };
325
+ _this.activate = function (newDate, save) {
326
+ if (newDate === void 0) { newDate = new Date(); }
327
+ if (save === void 0) { save = false; }
328
+ return __awaiter(_this, void 0, void 0, function () {
329
+ return __generator(this, function (_b) {
330
+ switch (_b.label) {
331
+ case 0:
332
+ this._data = __assign(__assign({}, this._data), { starting_date: newDate, ending_date: null });
333
+ if (!!!save) return [3, 2];
334
+ return [4, this.save()];
335
+ case 1:
336
+ _b.sent();
337
+ _b.label = 2;
338
+ case 2: return [2];
339
+ }
340
+ });
341
+ });
342
+ };
343
+ _this.archive = function (save) {
344
+ if (save === void 0) { save = false; }
345
+ return __awaiter(_this, void 0, void 0, function () {
346
+ return __generator(this, function (_b) {
347
+ switch (_b.label) {
348
+ case 0:
349
+ this._data = __assign(__assign({}, this._data), { archived: true });
350
+ if (!!!save) return [3, 2];
351
+ return [4, this.save()];
352
+ case 1:
353
+ _b.sent();
354
+ _b.label = 2;
355
+ case 2: return [2];
356
+ }
357
+ });
358
+ });
359
+ };
360
+ return _this;
361
+ }
362
+ PromiseToPurchase.prototype.getBank = function (bankTypeId) {
363
+ return this._data.banks.find(function (b) { return b.bank_type_id === bankTypeId; });
364
+ };
365
+ var _a;
366
+ _a = PromiseToPurchase;
367
+ PromiseToPurchase.fetch = function (_b) {
368
+ var app = _b.app, api = _b.api, _c = _b.hpp, hpp = _c === void 0 ? 10 : _c, _d = _b.page, page = _d === void 0 ? 0 : _d, _e = _b.query, query = _e === void 0 ? '' : _e, _f = _b.filters, filters = _f === void 0 ? '' : _f, _g = _b.indice, indice = _g === void 0 ? 'customer_pa_cust_id' : _g, _h = _b.f, f = _h === void 0 ? '' : _h, space = _b.space, _j = _b.useProspr, useProspr = _j === void 0 ? false : _j;
369
+ return __awaiter(void 0, void 0, void 0, function () {
370
+ var prosprSearch, prosprService, algolia, results, error_1;
371
+ return __generator(_a, function (_k) {
372
+ switch (_k.label) {
373
+ case 0:
374
+ _k.trys.push([0, 2, , 3]);
375
+ prosprSearch = false;
376
+ if (!!space) {
377
+ prosprService = space
378
+ .data()
379
+ .external_services.find(function (es) { return es.external_service_name.toLowerCase().trim() === 'prosprsearch'; });
380
+ prosprSearch = !!prosprService && prosprService.is_active;
381
+ }
382
+ algolia = (0, algolia_1.createClient)({
383
+ app: app,
384
+ indexId: "".concat(__1.isTestEnv ? 'test' : 'prod', "_").concat(indice),
385
+ key: !!useProspr ? api : prosprSearch && !!space ? space.preferences.prosprsearch.app() : api,
386
+ prospr: !!prosprSearch || !!useProspr
387
+ });
388
+ return [4, algolia.search(query, {
389
+ hitsPerPage: hpp,
390
+ facetFilters: filters,
391
+ filters: f,
392
+ page: page,
393
+ facets: ['*']
394
+ })];
395
+ case 1:
396
+ results = _k.sent();
397
+ return [2, results];
398
+ case 2:
399
+ error_1 = _k.sent();
400
+ (0, console_1.errorMessage)(error_1);
401
+ throw error_1;
402
+ case 3: return [2];
403
+ }
404
+ });
405
+ });
406
+ };
407
+ PromiseToPurchase.fetchHistory = function (_b) {
408
+ var app = _b.app, api = _b.api, _c = _b.hpp, hpp = _c === void 0 ? 50 : _c, _d = _b.page, page = _d === void 0 ? 0 : _d, _e = _b.query, query = _e === void 0 ? '' : _e, _f = _b.filters, filters = _f === void 0 ? '' : _f, _g = _b.indice, indice = _g === void 0 ? 'pa_bank_history' : _g, _h = _b.f, f = _h === void 0 ? '' : _h, _j = _b.useProspr, useProspr = _j === void 0 ? false : _j;
409
+ return __awaiter(void 0, void 0, void 0, function () {
410
+ var results, e_5;
411
+ return __generator(_a, function (_k) {
412
+ switch (_k.label) {
413
+ case 0:
414
+ _k.trys.push([0, 2, , 3]);
415
+ return [4, (0, searchIndexes_1.searchAPIFetchAlgoliaAddioSearch)({
416
+ app: app,
417
+ api: api,
418
+ indice: indice,
419
+ hpp: hpp,
420
+ page: page,
421
+ query: query,
422
+ filters: filters,
423
+ f: f,
424
+ useProspr: useProspr
425
+ })];
426
+ case 1:
427
+ results = _k.sent();
428
+ return [2, results];
429
+ case 2:
430
+ e_5 = _k.sent();
431
+ console.log('error on fetching history for promises : ', e_5.toString());
432
+ return [3, 3];
433
+ case 3: return [2];
434
+ }
435
+ });
436
+ });
437
+ };
438
+ PromiseToPurchase.calculateRemainingAmounts = function (actualCart, applicableBanks, applicableBanksHistory, space) { return __awaiter(void 0, void 0, void 0, function () {
439
+ var remainingAmountsForApplicableBanks, cartDataPA, remainingBankAmounts;
440
+ return __generator(_a, function (_b) {
441
+ switch (_b.label) {
442
+ case 0: return [4, space.promisesToPurchase.getAvailableAmountForApplicableBanks(applicableBanks, applicableBanksHistory)];
443
+ case 1:
444
+ remainingAmountsForApplicableBanks = _b.sent();
445
+ if (!!!actualCart)
446
+ throw new Error("ActualCart can't be undefined");
447
+ cartDataPA = actualCart.data().promise_to_purchase;
448
+ if (!!!cartDataPA || !!!cartDataPA.banks_used || cartDataPA.banks_used.length === 0)
449
+ throw new Error("ActualCart must have an associated promise to purchase and at least one bank_used");
450
+ remainingBankAmounts = applicableBanks.map(function (applicable) {
451
+ var bank = applicable.bank, promise_id = applicable.promise_id, promise_unique_id = applicable.promise_unique_id;
452
+ var remainingAmount = remainingAmountsForApplicableBanks[bank.bank_type_id];
453
+ if (typeof remainingAmount === 'undefined')
454
+ return;
455
+ return {
456
+ bank_type_id: bank.bank_type_id,
457
+ amount: remainingAmount,
458
+ promise_id: promise_id,
459
+ promise_unique_id: promise_unique_id
460
+ };
461
+ });
462
+ return [2, remainingBankAmounts.filter(function (bankApplied) { return !!bankApplied; })];
463
+ }
464
+ });
465
+ }); };
466
+ PromiseToPurchase.getDefaultPromiseToPurchase = function (customerId) { return ({
467
+ archived: false,
468
+ promise_unique_id: '',
469
+ customer_id: customerId,
470
+ banks: [],
471
+ starting_date: (0, moment_1.default)().toDate()
472
+ }); };
473
+ return PromiseToPurchase;
474
+ }(baseService_1.BaseServiceClass));
475
+ exports.default = PromiseToPurchase;
476
476
  //# sourceMappingURL=index.js.map