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,657 +1,768 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- 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;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.getCartPaymentMethods = exports.getAddressStrArray = exports.getAllPromoAppliedPrices = exports.getSubtotalToCheckForPromo = exports.getILangForUpdateType = exports.getModifiedItems = exports.getOrderStoreInfo = exports.checkIfShippingSameAsBilling = exports.getShippingStoreInfo = exports.getAssignedToInfo = exports.getPaidByForIndexedCart = exports.getIndexedCartData = exports.getTaxProvinceFromShippingAddress = exports.getCurrentProvince = exports.addCartItems = exports.getActualDiscountPrice = exports.getActualPromoPrice = exports.priceWasOverridden = exports.deleteCartItem = exports.updateCartItems = void 0;
63
- var toNumber_1 = __importDefault(require("lodash/toNumber"));
64
- var findIndex_1 = __importDefault(require("lodash/findIndex"));
65
- var remove_1 = __importDefault(require("lodash/remove"));
66
- var flatten_1 = __importDefault(require("lodash/flatten"));
67
- var orderBy_1 = __importDefault(require("lodash/orderBy"));
68
- var uniq_1 = __importDefault(require("lodash/uniq"));
69
- var moment_1 = __importDefault(require("moment"));
70
- var isEqual_1 = __importDefault(require("lodash/isEqual"));
71
- var find_1 = __importDefault(require("lodash/find"));
72
- var isNumber_1 = __importDefault(require("lodash/isNumber"));
73
- var round_1 = __importDefault(require("lodash/round"));
74
- var sumBy_1 = __importDefault(require("lodash/sumBy"));
75
- var Cart_1 = require("../Interfaces/Cart");
76
- var string_1 = require("./string");
77
- var g2_1 = require("../rules/GR/utils/g2");
78
- var object_1 = require("./object");
79
- var invoices_1 = require("../rules/GR/utils/invoices");
80
- var data_1 = require("./data");
81
- var services_1 = require("./services");
82
- var discount_1 = require("./discount");
83
- var IDiscountRule_1 = require("../Interfaces/Rules/IDiscountRule");
84
- var products_1 = require("./products");
85
- var cart_1 = require("../rules/GR/utils/cart");
86
- var cart_2 = require("../rules/GR/interfaces/cart");
87
- var updateCartItems = function (currentCart, items, fetchInventory, shouldCheckInventory, handleInventoryError) {
88
- if (shouldCheckInventory === void 0) { shouldCheckInventory = true; }
89
- return __awaiter(void 0, void 0, void 0, function () {
90
- var updatedCart, itemsToUpdate, updatedItems, _loop_1, _i, itemsToUpdate_1, item;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0:
94
- updatedCart = __assign({}, currentCart);
95
- itemsToUpdate = Array.isArray(items) ? items : [items];
96
- updatedItems = [];
97
- _loop_1 = function (item) {
98
- var cartItemIndex, cartItem, inventoryItem, _b, e_1, webStore;
99
- return __generator(this, function (_c) {
100
- switch (_c.label) {
101
- case 0:
102
- cartItemIndex = (0, findIndex_1.default)(updatedCart.items, function (i) { return i.sku === item.sku; });
103
- cartItem = cartItemIndex !== -1 ? updatedCart.items[cartItemIndex] : undefined;
104
- if (!!!cartItem) return [3, 10];
105
- if (!!!shouldCheckInventory) return [3, 9];
106
- inventoryItem = undefined;
107
- _c.label = 1;
108
- case 1:
109
- _c.trys.push([1, 5, , 6]);
110
- if (!(!!cartItem && !!cartItem.is_service)) return [3, 2];
111
- _b = undefined;
112
- return [3, 4];
113
- case 2: return [4, fetchInventory(item.sku)];
114
- case 3:
115
- _b = _c.sent();
116
- _c.label = 4;
117
- case 4:
118
- inventoryItem = _b;
119
- return [3, 6];
120
- case 5:
121
- e_1 = _c.sent();
122
- console.log('error on fetching inventoryItem: ', e_1);
123
- return [3, 6];
124
- case 6:
125
- if (!!!inventoryItem) return [3, 9];
126
- webStore = inventoryItem.web_inventory;
127
- if (!(!!!inventoryItem.is_infinite_stock && !!!cartItem.is_service)) return [3, 9];
128
- if (!!!webStore || !!!webStore.available) {
129
- return [2, "continue"];
130
- }
131
- if (!(item.qte > webStore.available)) return [3, 9];
132
- if (!!!handleInventoryError) return [3, 8];
133
- return [4, handleInventoryError(true)];
134
- case 7:
135
- _c.sent();
136
- _c.label = 8;
137
- case 8:
138
- updatedItems.push({
139
- sku: item.sku,
140
- updated: false
141
- });
142
- return [2, "continue"];
143
- case 9:
144
- updatedCart.items[cartItemIndex] = __assign(__assign({}, cartItem), { qte: item.qte, qte_override: item.qte_override });
145
- updatedItems.push({ sku: item.sku, updated: true });
146
- _c.label = 10;
147
- case 10: return [2];
148
- }
149
- });
150
- };
151
- _i = 0, itemsToUpdate_1 = itemsToUpdate;
152
- _a.label = 1;
153
- case 1:
154
- if (!(_i < itemsToUpdate_1.length)) return [3, 4];
155
- item = itemsToUpdate_1[_i];
156
- return [5, _loop_1(item)];
157
- case 2:
158
- _a.sent();
159
- _a.label = 3;
160
- case 3:
161
- _i++;
162
- return [3, 1];
163
- case 4: return [2, { updatedCart: updatedCart, updatedItems: updatedItems }];
164
- }
165
- });
166
- });
167
- };
168
- exports.updateCartItems = updateCartItems;
169
- var deleteCartItem = function (currentCart, sku, onlyIfUpsellOf) {
170
- var deletedItemsCart = __assign({}, currentCart);
171
- sku.forEach(function (itm) {
172
- return (0, remove_1.default)(deletedItemsCart.items, function (item) {
173
- if (!!item.is_upsell_of_sku && !!onlyIfUpsellOf)
174
- return item.sku === itm && item.is_upsell_of_sku === onlyIfUpsellOf;
175
- return item.sku === itm;
176
- });
177
- });
178
- return deletedItemsCart;
179
- };
180
- exports.deleteCartItem = deleteCartItem;
181
- var priceWasOverridden = function (itemToCheck) {
182
- return ((!!itemToCheck.promo_price && !!itemToCheck.promo_price.overridden) ||
183
- (!!itemToCheck.discount_price && !!itemToCheck.discount_price.overridden));
184
- };
185
- exports.priceWasOverridden = priceWasOverridden;
186
- var getActualPromoPrice = function (item, output) {
187
- var orgPrice = (0, exports.getActualDiscountPrice)(item, '$');
188
- var price = orgPrice;
189
- if (!!item.promo_price) {
190
- price = item.promo_price.amount;
191
- }
192
- if (output === '%')
193
- return !!!orgPrice ? 0 : (1 - price / orgPrice) * 100;
194
- return price;
195
- };
196
- exports.getActualPromoPrice = getActualPromoPrice;
197
- var getActualDiscountPrice = function (item, output) {
198
- var price = item.regular_price.amount;
199
- if (!!item.discount_price) {
200
- price = item.discount_price.amount;
201
- }
202
- if (output === '%')
203
- return (1 - price / item.regular_price.amount) * 100;
204
- return price;
205
- };
206
- exports.getActualDiscountPrice = getActualDiscountPrice;
207
- var addCartItems = function (currentCart, newItems, fetchInventory, shouldCheckInventory, handleInventoryError, defaultAdd, isServiceUpsellOfSku, customPriceList) {
208
- if (shouldCheckInventory === void 0) { shouldCheckInventory = true; }
209
- if (defaultAdd === void 0) { defaultAdd = false; }
210
- if (isServiceUpsellOfSku === void 0) { isServiceUpsellOfSku = false; }
211
- return __awaiter(void 0, void 0, void 0, function () {
212
- var newCart, items, itemsToUpdate, shouldAddItem, itemsToAdd, _a, _b, _c, filteredItems, hasMaxQtyItems, updateResult;
213
- return __generator(this, function (_d) {
214
- switch (_d.label) {
215
- case 0:
216
- newCart = __assign({}, currentCart);
217
- items = __spreadArray([], newItems, true);
218
- if (!!customPriceList) {
219
- items = items.map(function (i) {
220
- return !!(0, exports.priceWasOverridden)(i) ? i : (0, g2_1.checkForCustomPriceEquivalent)(i, customPriceList);
221
- });
222
- }
223
- itemsToUpdate = [];
224
- shouldAddItem = function (cartItem) { return __awaiter(void 0, void 0, void 0, function () {
225
- var checkInventory, inventoryItem, _a, e_2, itemAlreadyInCart;
226
- return __generator(this, function (_b) {
227
- switch (_b.label) {
228
- case 0:
229
- checkInventory = !!shouldCheckInventory && !!!cartItem.is_service && !!!cartItem.is_upsell_of_sku;
230
- if (!!!fetchInventory) return [3, 6];
231
- _b.label = 1;
232
- case 1:
233
- _b.trys.push([1, 5, , 6]);
234
- if (!!!cartItem.is_service) return [3, 2];
235
- _a = undefined;
236
- return [3, 4];
237
- case 2: return [4, fetchInventory(cartItem.sku)];
238
- case 3:
239
- _a = _b.sent();
240
- _b.label = 4;
241
- case 4:
242
- inventoryItem = _a;
243
- return [3, 6];
244
- case 5:
245
- e_2 = _b.sent();
246
- console.log('error on fetching inventory: ', e_2);
247
- return [3, 6];
248
- case 6:
249
- itemAlreadyInCart = (0, findIndex_1.default)(newCart.items, function (item) { return item.sku === cartItem.sku; });
250
- if (!!checkInventory) {
251
- if (!!!inventoryItem)
252
- return [2, false];
253
- if (!!inventoryItem) {
254
- if (!!inventoryItem.is_infinite_stock || !!cartItem.is_service || !!cartItem.is_sample)
255
- return [2, cartItem];
256
- if (!!!inventoryItem.web_inventory || !!!inventoryItem.web_inventory.available) {
257
- return [2, false];
258
- }
259
- if (cartItem.qte > inventoryItem.web_inventory.available) {
260
- return [2, 'already_max_qte'];
261
- }
262
- }
263
- if (itemAlreadyInCart !== -1 && !!inventoryItem && !!!isServiceUpsellOfSku) {
264
- if (!!shouldCheckInventory && !!inventoryItem.web_inventory && !!inventoryItem.web_inventory.available) {
265
- if ((0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte) >
266
- (0, toNumber_1.default)(inventoryItem.web_inventory.available)) {
267
- return [2, 'already_max_qte'];
268
- }
269
- }
270
- itemsToUpdate.push({
271
- sku: cartItem.sku,
272
- qte: (0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte)
273
- });
274
- return [2, false];
275
- }
276
- }
277
- if (itemAlreadyInCart !== -1) {
278
- itemsToUpdate.push({
279
- sku: cartItem.sku,
280
- qte: (0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte)
281
- });
282
- return [2, false];
283
- }
284
- return [2, cartItem];
285
- }
286
- });
287
- }); };
288
- if (!Array.isArray(items)) return [3, 4];
289
- if (!!!defaultAdd) return [3, 1];
290
- _b = items;
291
- return [3, 3];
292
- case 1: return [4, Promise.all(items.map(function (cartItem) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
293
- switch (_a.label) {
294
- case 0: return [4, shouldAddItem(cartItem)];
295
- case 1: return [2, _a.sent()];
296
- }
297
- }); }); }))];
298
- case 2:
299
- _b = _d.sent();
300
- _d.label = 3;
301
- case 3:
302
- _a = _b;
303
- return [3, 8];
304
- case 4:
305
- if (!!!defaultAdd) return [3, 5];
306
- _c = [items];
307
- return [3, 7];
308
- case 5: return [4, shouldAddItem(items)];
309
- case 6:
310
- _c = [_d.sent()];
311
- _d.label = 7;
312
- case 7:
313
- _a = _c;
314
- _d.label = 8;
315
- case 8:
316
- itemsToAdd = _a;
317
- filteredItems = itemsToAdd.filter(function (item) { return !!item && item !== 'already_max_qte'; });
318
- hasMaxQtyItems = itemsToAdd.find(function (i) { return i === 'already_max_qte'; });
319
- if (!(!!hasMaxQtyItems && !!handleInventoryError)) return [3, 10];
320
- return [4, handleInventoryError(false)];
321
- case 9:
322
- _d.sent();
323
- _d.label = 10;
324
- case 10:
325
- if (!!!itemsToUpdate.length) return [3, 12];
326
- return [4, (0, exports.updateCartItems)(currentCart, itemsToUpdate, fetchInventory, shouldCheckInventory, handleInventoryError)];
327
- case 11:
328
- updateResult = _d.sent();
329
- if (!!updateResult) {
330
- newCart = updateResult.updatedCart;
331
- }
332
- _d.label = 12;
333
- case 12:
334
- newCart = __assign(__assign({}, newCart), { items: __spreadArray(__spreadArray([], newCart.items, true), filteredItems, true) });
335
- return [2, {
336
- cartData: newCart,
337
- added: !!filteredItems && !!filteredItems.length,
338
- updated: !!itemsToUpdate && !!itemsToUpdate.length,
339
- maxQtyItems: !!hasMaxQtyItems
340
- }];
341
- }
342
- });
343
- });
344
- };
345
- exports.addCartItems = addCartItems;
346
- var getCurrentProvince = function (provinceToCheck) {
347
- var formattedProvince = (0, string_1.stripAccents)(provinceToCheck.toLowerCase());
348
- return (0, find_1.default)(data_1.provinces, function (province) {
349
- return (0, string_1.stripAccents)(province.value.toLowerCase()) === formattedProvince ||
350
- (0, string_1.stripAccents)(province.label.toLowerCase()) === formattedProvince ||
351
- (0, string_1.stripAccents)(province.label_en.toLowerCase()) === formattedProvince;
352
- });
353
- };
354
- exports.getCurrentProvince = getCurrentProvince;
355
- var getTaxProvinceFromShippingAddress = function (address) {
356
- var taxProvince;
357
- var shippingState = address.state.toLowerCase();
358
- var shortCartShippingState = data_1.provinces.find(function (p) {
359
- return p.value.toLowerCase() == shippingState ||
360
- p.label.toLocaleLowerCase() == shippingState ||
361
- p.label_en.toLowerCase() == shippingState;
362
- });
363
- if (!!shortCartShippingState)
364
- taxProvince = shortCartShippingState.value;
365
- return taxProvince;
366
- };
367
- exports.getTaxProvinceFromShippingAddress = getTaxProvinceFromShippingAddress;
368
- var getIndexedCartData = function (cartData, space, setPaidAtIfUndefined, customer, createdAt, updatedAt) {
369
- var _a, _b, _c, _d, _e;
370
- var getPaidAt = function () {
371
- var paidAt;
372
- try {
373
- paidAt =
374
- !!cartData && !!cartData.paid_at
375
- ? (0, data_1.formatDate)(cartData.paid_at)
376
- : !!setPaidAtIfUndefined
377
- ? (0, moment_1.default)().toDate()
378
- : null;
379
- }
380
- catch (error) {
381
- paidAt = cartData.paid_at || null;
382
- }
383
- return { paid_at: !!paidAt ? (0, moment_1.default)(paidAt).unix() : null };
384
- };
385
- var itemDict = {};
386
- for (var _i = 0, _f = cartData.items; _i < _f.length; _i++) {
387
- var item = _f[_i];
388
- itemDict[item.sku] = { qty: item.qte, refunded_qty: (_a = item.refunded_qty) !== null && _a !== void 0 ? _a : 0, refunded: (_b = item.refunded) !== null && _b !== void 0 ? _b : false };
389
- }
390
- var cartPromos = (0, discount_1.getCartPromo)(cartData);
391
- var hasPromos = !!cartPromos && !!cartPromos.length;
392
- var hasCustomDiscount = !!cartData.items.some(function (i) {
393
- return !!(0, object_1.recursiveCheckObject)(i, 'promo_price.authorization.note') ||
394
- !!(0, object_1.recursiveCheckObject)(i, 'discount_price.authorization.note');
395
- });
396
- var indexedCartData = __assign(__assign(__assign(__assign({ objectID: cartData.id, cart_type: cartData.cart_type, status: cartData.status, ref: cartData.ref || '', invoice_ref: (_c = cartData.invoice_ref) !== null && _c !== void 0 ? _c : null, created_at: !!createdAt ? (0, moment_1.default)(createdAt).unix() : null, updated_at: !!updatedAt ? (0, moment_1.default)(updatedAt).unix() : !!cartData.paid_at ? getPaidAt().paid_at : (0, moment_1.default)().unix(), processed_at: !!cartData.processed_by && !!cartData.processed_by.date
397
- ? (0, moment_1.default)((0, data_1.formatDate)(cartData.processed_by.date)).unix()
398
- : null, cart_promos_applied: cartPromos !== null && cartPromos !== void 0 ? cartPromos : null, has_promos: !!hasPromos ? hasPromos : null, has_custom_discount: !!hasCustomDiscount ? hasCustomDiscount : null, items: itemDict, is_booking: !!cartData.is_booking, is_promise_to_purchase: !!cartData.promise_to_purchase, has_transfers: !!cartData.has_transfers }, getPaidAt()), (0, exports.getPaidByForIndexedCart)(cartData)), { subtotal: cartData.subtotal, total: cartData.total, is_pickup: !!cartData.is_pickup, out_of_zone: !!cartData.shipping_payload && !!cartData.shipping_payload.isOutOfArea, billing_phone: cartData.billing_address ? cartData.billing_address.expedition_recipient_phone : null, shipping_phone: cartData.shipping_address ? cartData.shipping_address.expedition_recipient_phone : null, customer_id: !!cartData.customer_id ? cartData.customer_id : null, customer_name: cartData.billing_address ? cartData.billing_address.expedition_recipient_name : null, customer_email: cartData.customer_info && cartData.customer_info.customer_default_email
399
- ? cartData.customer_info.customer_default_email
400
- : cartData.user_email
401
- ? cartData.user_email
402
- : null, customer_company_name: !!(0, object_1.recursiveCheckObject)(cartData, 'customer_info.company_name')
403
- ? (0, object_1.recursiveCheckObject)(cartData, 'customer_info.company_name')
404
- : !!customer && !!(0, object_1.recursiveCheckObject)(customer, 'company_info.invoice_info.legal_name')
405
- ? (0, object_1.recursiveCheckObject)(customer, 'company_info.invoice_info.legal_name')
406
- : null, is_detail_customer: !!!cartData.customer_info || !!!cartData.customer_info.pro_title || !!!cartData.customer_info.pro_proof_doc, customer_type: !!(0, object_1.recursiveCheckObject)(cartData, 'customer_info.pro_title')
407
- ? Cart_1.CartCustomerEnum.PRO
408
- : !!cartData.customer_id
409
- ? Cart_1.CartCustomerEnum.CONNECTED
410
- : Cart_1.CartCustomerEnum.GUEST, customer_rep: !!customer ? customer.represented_by : null, customer_external_class: (0, object_1.recursiveCheckObject)(cartData, 'customer_info.customer_external_class') ||
411
- (0, object_1.recursiveCheckObject)(customer, 'basic_info.customer_professionnal_info.external_customer_class') ||
412
- null, keywords: (0, uniq_1.default)((0, flatten_1.default)(cartData.items.map(function (item) {
413
- return __spreadArray(__spreadArray([], (item.name || []).map(function (n) { return n.value; }), true), [item.sku], false);
414
- }))), cart_slug_list: (0, uniq_1.default)(cartData.items.map(function (item) {
415
- return item.parent_slug || '';
416
- })), from_marketplace: (_d = cartData.from_marketplace) !== null && _d !== void 0 ? _d : null }), (!!space.data().id && [services_1.SpaceIdEnum.GR, services_1.SpaceIdEnum.CMV].includes(space.data().id)
417
- ? __assign(__assign({}, (0, exports.getShippingStoreInfo)(cartData, space)), (services_1.SpaceIdEnum.GR === space.data().id
418
- ? __assign(__assign({ order_type: (0, invoices_1.getOrderTypeString)(cartData, {
419
- frOnly: true,
420
- slugSafe: (0, cart_1.checkIfCartContainsType)(cart_2.CartGeneralTypeEnum.BOOKING_BETON, cartData),
421
- installAsType: true
422
- }) }, (0, exports.getAssignedToInfo)(cartData)), { project_number: (_e = (0, object_1.recursiveCheckObject)(cartData, 'shipping_payload.orderOrProjectNumber')) !== null && _e !== void 0 ? _e : null }) : {})) : {}));
423
- return indexedCartData;
424
- };
425
- exports.getIndexedCartData = getIndexedCartData;
426
- var getPaidByForIndexedCart = function (order) {
427
- if (!!!order.paid_by && !!!order.custom_payment_type)
428
- return { paid_by: null, multiple_payments: null };
429
- var currentPaidBy = !!order.custom_payment_type && !!order.custom_payment_type.method
430
- ? order.custom_payment_type.method
431
- : order.paid_by;
432
- if (currentPaidBy === Cart_1.PaymentTypeEnum.MULTIPLE && !!order.payment_details && !!order.payment_details.length) {
433
- var firstPayment = order.payment_details.length === 1 || order.payment_details[0].method !== Cart_1.PaymentTypeEnum.TOBERECEIVED
434
- ? order.payment_details[0]
435
- : order.payment_details[1];
436
- return {
437
- paid_by: firstPayment.method,
438
- multiple_payments: order.payment_details.length > 1
439
- };
440
- }
441
- else {
442
- return {
443
- paid_by: currentPaidBy !== null && currentPaidBy !== void 0 ? currentPaidBy : null,
444
- multiple_payments: null
445
- };
446
- }
447
- };
448
- exports.getPaidByForIndexedCart = getPaidByForIndexedCart;
449
- var getAssignedToInfo = function (order) {
450
- if (!!!order.assigned_to || !!!order.assigned_to.length)
451
- return { assigned_to: null };
452
- var mostRecentAssignedTo = (0, orderBy_1.default)(order.assigned_to, function (assigned) { return (0, moment_1.default)((0, data_1.formatDate)(assigned.date)).unix(); }, 'desc')[0];
453
- if (!!!mostRecentAssignedTo || !!!mostRecentAssignedTo.is_active)
454
- return { assigned_to: null };
455
- return {
456
- assigned_to: mostRecentAssignedTo.user_name
457
- };
458
- };
459
- exports.getAssignedToInfo = getAssignedToInfo;
460
- var getShippingStoreInfo = function (order, space) {
461
- if (!!order.is_pickup) {
462
- if (!!order.shipping_payload && !!order.shipping_payload.pickup_store && !!order.shipping_payload.pickup_store.id)
463
- return {
464
- store: {
465
- id: order.shipping_payload.pickup_store.id,
466
- name: order.shipping_payload.pickup_store.name
467
- }
468
- };
469
- if (!!order.shipping_address)
470
- return {
471
- store: (0, exports.getOrderStoreInfo)(space.data(), order.shipping_address.address)
472
- };
473
- }
474
- return { store: { id: 'Livraison', name: 'Livraison' } };
475
- };
476
- exports.getShippingStoreInfo = getShippingStoreInfo;
477
- var checkIfShippingSameAsBilling = function (cart) {
478
- return (!!cart.shipping_address &&
479
- !!cart.billing_address &&
480
- (0, isEqual_1.default)(cart.shipping_address.address, cart.billing_address.address));
481
- };
482
- exports.checkIfShippingSameAsBilling = checkIfShippingSameAsBilling;
483
- var getOrderStoreInfo = function (spaceData, storeAddress) {
484
- var defaultStoreInfo = {
485
- id: 'all',
486
- name: 'all'
487
- };
488
- try {
489
- if (!!!storeAddress || !!!spaceData)
490
- return defaultStoreInfo;
491
- var allStores = spaceData.stores_warehouses;
492
- var sameStore = allStores.find(function (store) { return store.address.postal_code === storeAddress.postal_code; });
493
- if (!!!sameStore)
494
- return defaultStoreInfo;
495
- return {
496
- id: sameStore.id,
497
- name: sameStore.name
498
- };
499
- }
500
- catch (e) {
501
- console.log('error on fetching store info for algo order: ', e);
502
- return defaultStoreInfo;
503
- }
504
- };
505
- exports.getOrderStoreInfo = getOrderStoreInfo;
506
- var getModifiedItems = function (newItems, oldItems) {
507
- var itemsForInventory = [];
508
- var _loop_2 = function (i) {
509
- var itemInOldArray = oldItems.find(function (o) { return o.sku === i.sku; });
510
- if (!!!itemInOldArray) {
511
- itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [i], false);
512
- return "continue";
513
- }
514
- if (i.qte === itemInOldArray.qte)
515
- return "continue";
516
- var newQte = i.qte - itemInOldArray.qte;
517
- itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [
518
- __assign(__assign({}, i), { qte: newQte })
519
- ], false);
520
- };
521
- for (var _i = 0, newItems_1 = newItems; _i < newItems_1.length; _i++) {
522
- var i = newItems_1[_i];
523
- _loop_2(i);
524
- }
525
- var _loop_3 = function (i) {
526
- var itemInNewArray = newItems.find(function (o) { return o.sku === i.sku; });
527
- if (!!!itemInNewArray) {
528
- itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [
529
- __assign(__assign({}, i), { qte: i.qte * -1 })
530
- ], false);
531
- }
532
- };
533
- for (var _a = 0, oldItems_1 = oldItems; _a < oldItems_1.length; _a++) {
534
- var i = oldItems_1[_a];
535
- _loop_3(i);
536
- }
537
- return itemsForInventory;
538
- };
539
- exports.getModifiedItems = getModifiedItems;
540
- var getILangForUpdateType = function (updateType) {
541
- var _a;
542
- var dict = (_a = {},
543
- _a["".concat(Cart_1.UpdateTypeEnum.CART_CONTENT)] = { fr: 'Ajustement de la commande', en: 'Updated cart content' },
544
- _a["".concat(Cart_1.UpdateTypeEnum.PROCESSING_STORE)] = {
545
- fr: 'Changement succ. de traitement',
546
- en: 'Updated processing store'
547
- },
548
- _a);
549
- return dict[updateType || Cart_1.UpdateTypeEnum.CART_CONTENT];
550
- };
551
- exports.getILangForUpdateType = getILangForUpdateType;
552
- var getSubtotalToCheckForPromo = function (allCartItems, currentCartSubtotal, space, feePromosTotalRemoved, removeServiceFees) {
553
- var serviceFeeProducts = !!!removeServiceFees
554
- ? []
555
- : allCartItems.filter(function (i) { return !!i.is_service && !(0, g2_1.isEscompteSuppItem)(i.sku); });
556
- var serviceFeeSubtotal = !!!serviceFeeProducts.length
557
- ? 0
558
- : (0, sumBy_1.default)(serviceFeeProducts, function (i) {
559
- var itemPrice = (0, products_1.getLowestPrice)(i).price.amount;
560
- return (0, round_1.default)(((0, isNumber_1.default)(itemPrice) ? Number(itemPrice) : 0) * i.qte, space.data().product_preferences.decimals || 2);
561
- });
562
- var totalRemoved = serviceFeeSubtotal;
563
- if (!!totalRemoved) {
564
- totalRemoved -= feePromosTotalRemoved;
565
- }
566
- return currentCartSubtotal - totalRemoved;
567
- };
568
- exports.getSubtotalToCheckForPromo = getSubtotalToCheckForPromo;
569
- var getAllPromoAppliedPrices = function (allPromos, subtotalToUse, items, space, isRefund) {
570
- var _a;
571
- var promoAmounts = [];
572
- var updatedSubtotal = subtotalToUse;
573
- var cartPromos = allPromos.filter(function (c) { return c.applies_to != Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
574
- cartPromos = (0, orderBy_1.default)(cartPromos, function (p) {
575
- if ([Cart_1.CartPromoAppliesToEnum.PRODUCT, Cart_1.CartPromoAppliesToEnum.ITEMS].includes(p.applies_to))
576
- return 1;
577
- if (p.promo_code && p.applies_to === Cart_1.CartPromoAppliesToEnum.SUBTOTAL) {
578
- return 3;
579
- }
580
- return 2;
581
- });
582
- var feePromosTotal = 0;
583
- var _loop_4 = function (aPromo) {
584
- var productTotalAmount = 0;
585
- if ((isRefund || updatedSubtotal > 0) &&
586
- !!aPromo &&
587
- (aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.SUBTOTAL || aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT)) {
588
- var amountToRemove = 0;
589
- var amountUnit = aPromo.amount_unit || IDiscountRule_1.ResultActionEnum.PERCENT;
590
- var appliesToProduct = aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT;
591
- var subtotalToCheck = !!aPromo.exclude_services_and_fees &&
592
- !![IDiscountRule_1.ResultActionEnum.PERCENT, IDiscountRule_1.ResultActionEnum.PERCENT_SKU, IDiscountRule_1.ResultActionEnum.PERCENT_CATEGORY].includes(amountUnit) &&
593
- !!!appliesToProduct
594
- ? (0, exports.getSubtotalToCheckForPromo)(items, updatedSubtotal, space, feePromosTotal, true)
595
- : updatedSubtotal;
596
- if (appliesToProduct) {
597
- var skuArray_1 = [];
598
- if (!!aPromo.item_given) {
599
- skuArray_1 = (0, discount_1.getSkuArrayForPromo)(aPromo.item_given);
600
- }
601
- var itemToCheck = items.filter(function (item) { return !!aPromo && !!skuArray_1.includes(item.sku); });
602
- for (var _b = 0, itemToCheck_1 = itemToCheck; _b < itemToCheck_1.length; _b++) {
603
- var anItem = itemToCheck_1[_b];
604
- productTotalAmount += amountUnit.includes('amount')
605
- ? anItem.qte
606
- : (0, products_1.getLowestPrice)(anItem).price.amount * anItem.qte;
607
- var newAmountToRemove = (0, data_1.getPromoTotalAmount)(items, aPromo, 'number', anItem.sku);
608
- if (typeof newAmountToRemove !== 'number')
609
- continue;
610
- if (!!anItem && !!anItem.is_service)
611
- feePromosTotal += newAmountToRemove;
612
- amountToRemove += newAmountToRemove;
613
- }
614
- }
615
- else {
616
- amountToRemove = (_a = aPromo.amount_removed) !== null && _a !== void 0 ? _a : 0;
617
- }
618
- amountToRemove = (0, round_1.default)(amountToRemove, 2);
619
- var newSubtotal = amountUnit === IDiscountRule_1.ResultActionEnum.AMOUNT || aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT
620
- ? updatedSubtotal - amountToRemove
621
- : updatedSubtotal - subtotalToCheck * (amountToRemove / 100);
622
- if (!!aPromo.discount_id) {
623
- promoAmounts.push({
624
- id: aPromo.discount_id,
625
- subtotalBefore: updatedSubtotal,
626
- subtotalAfter: (0, round_1.default)(newSubtotal, 2),
627
- amountRemoved: amountToRemove,
628
- productTotalAmount: productTotalAmount,
629
- appliesTo: aPromo.applies_to
630
- });
631
- }
632
- updatedSubtotal = (0, round_1.default)(newSubtotal, 2);
633
- }
634
- };
635
- for (var _i = 0, cartPromos_1 = cartPromos; _i < cartPromos_1.length; _i++) {
636
- var aPromo = cartPromos_1[_i];
637
- _loop_4(aPromo);
638
- }
639
- return promoAmounts;
640
- };
641
- exports.getAllPromoAppliedPrices = getAllPromoAppliedPrices;
642
- var getAddressStrArray = function (address) {
643
- return [
644
- "".concat(!!address.app ? address.app + ' - ' : '').concat(address.line1 || ''),
645
- "".concat(!!address.city ? address.city + ', ' : '').concat(address.state || '', " ").concat(address.postal_code || '')
646
- ].filter(function (addr) { return !!addr.trim(); });
647
- };
648
- exports.getAddressStrArray = getAddressStrArray;
649
- var getCartPaymentMethods = function (cartData) {
650
- return !!cartData.payment_details
651
- ? (cartData.payment_details || []).map(function (p) { return p.method; })
652
- : !!cartData.paid_by
653
- ? [cartData.paid_by]
654
- : [];
655
- };
656
- exports.getCartPaymentMethods = getCartPaymentMethods;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
58
+ var __importDefault = (this && this.__importDefault) || function (mod) {
59
+ return (mod && mod.__esModule) ? mod : { "default": mod };
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.getCartPaymentMethods = exports.getAddressStrArray = exports.getAllPromoAppliedPrices = exports.getSubtotalToCheckForPromo = exports.getILangForUpdateType = exports.getItemsToUpdateByTransfer = exports.getActiveTransfersByItemInCart = exports.getModifiedItems = exports.getOrderStoreInfo = exports.checkIfShippingSameAsBilling = exports.getShippingStoreInfo = exports.getAssignedToInfo = exports.getPaidByForIndexedCart = exports.getIndexedCartData = exports.getTaxProvinceFromShippingAddress = exports.getCurrentProvince = exports.addCartItems = exports.getActualDiscountPrice = exports.getActualPromoPrice = exports.priceWasOverridden = exports.deleteCartItem = exports.updateCartItems = void 0;
63
+ var toNumber_1 = __importDefault(require("lodash/toNumber"));
64
+ var findIndex_1 = __importDefault(require("lodash/findIndex"));
65
+ var remove_1 = __importDefault(require("lodash/remove"));
66
+ var flatten_1 = __importDefault(require("lodash/flatten"));
67
+ var orderBy_1 = __importDefault(require("lodash/orderBy"));
68
+ var uniq_1 = __importDefault(require("lodash/uniq"));
69
+ var moment_1 = __importDefault(require("moment"));
70
+ var isEqual_1 = __importDefault(require("lodash/isEqual"));
71
+ var find_1 = __importDefault(require("lodash/find"));
72
+ var isNumber_1 = __importDefault(require("lodash/isNumber"));
73
+ var round_1 = __importDefault(require("lodash/round"));
74
+ var sumBy_1 = __importDefault(require("lodash/sumBy"));
75
+ var Cart_1 = require("../Interfaces/Cart");
76
+ var string_1 = require("./string");
77
+ var g2_1 = require("../rules/GR/utils/g2");
78
+ var object_1 = require("./object");
79
+ var invoices_1 = require("../rules/GR/utils/invoices");
80
+ var data_1 = require("./data");
81
+ var services_1 = require("./services");
82
+ var discount_1 = require("./discount");
83
+ var IDiscountRule_1 = require("../Interfaces/Rules/IDiscountRule");
84
+ var products_1 = require("./products");
85
+ var TransferRequest_1 = require("../Interfaces/TransferRequest");
86
+ var cart_1 = require("../rules/GR/utils/cart");
87
+ var cart_2 = require("../rules/GR/interfaces/cart");
88
+ var inventories_1 = require("./inventories");
89
+ var updateCartItems = function (currentCart, items, fetchInventory, shouldCheckInventory, handleInventoryError) {
90
+ if (shouldCheckInventory === void 0) { shouldCheckInventory = true; }
91
+ return __awaiter(void 0, void 0, void 0, function () {
92
+ var updatedCart, itemsToUpdate, updatedItems, _loop_1, _i, itemsToUpdate_1, item;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ updatedCart = __assign({}, currentCart);
97
+ itemsToUpdate = Array.isArray(items) ? items : [items];
98
+ updatedItems = [];
99
+ _loop_1 = function (item) {
100
+ var cartItemIndex, cartItem, inventoryItem, _b, e_1, webStore;
101
+ return __generator(this, function (_c) {
102
+ switch (_c.label) {
103
+ case 0:
104
+ cartItemIndex = (0, findIndex_1.default)(updatedCart.items, function (i) { return i.sku === item.sku; });
105
+ cartItem = cartItemIndex !== -1 ? updatedCart.items[cartItemIndex] : undefined;
106
+ if (!!!cartItem) return [3, 10];
107
+ if (!!!shouldCheckInventory) return [3, 9];
108
+ inventoryItem = undefined;
109
+ _c.label = 1;
110
+ case 1:
111
+ _c.trys.push([1, 5, , 6]);
112
+ if (!(!!cartItem && !!cartItem.is_service)) return [3, 2];
113
+ _b = undefined;
114
+ return [3, 4];
115
+ case 2: return [4, fetchInventory(item.sku)];
116
+ case 3:
117
+ _b = _c.sent();
118
+ _c.label = 4;
119
+ case 4:
120
+ inventoryItem = _b;
121
+ return [3, 6];
122
+ case 5:
123
+ e_1 = _c.sent();
124
+ console.log('error on fetching inventoryItem: ', e_1);
125
+ return [3, 6];
126
+ case 6:
127
+ if (!!!inventoryItem) return [3, 9];
128
+ webStore = inventoryItem.web_inventory;
129
+ if (!(!!!inventoryItem.is_infinite_stock && !!!cartItem.is_service)) return [3, 9];
130
+ if (!!!webStore || !!!webStore.available) {
131
+ return [2, "continue"];
132
+ }
133
+ if (!(item.qte > webStore.available)) return [3, 9];
134
+ if (!!!handleInventoryError) return [3, 8];
135
+ return [4, handleInventoryError(true)];
136
+ case 7:
137
+ _c.sent();
138
+ _c.label = 8;
139
+ case 8:
140
+ updatedItems.push({
141
+ sku: item.sku,
142
+ updated: false
143
+ });
144
+ return [2, "continue"];
145
+ case 9:
146
+ updatedCart.items[cartItemIndex] = __assign(__assign({}, cartItem), { qte: item.qte, qte_override: item.qte_override });
147
+ updatedItems.push({ sku: item.sku, updated: true });
148
+ _c.label = 10;
149
+ case 10: return [2];
150
+ }
151
+ });
152
+ };
153
+ _i = 0, itemsToUpdate_1 = itemsToUpdate;
154
+ _a.label = 1;
155
+ case 1:
156
+ if (!(_i < itemsToUpdate_1.length)) return [3, 4];
157
+ item = itemsToUpdate_1[_i];
158
+ return [5, _loop_1(item)];
159
+ case 2:
160
+ _a.sent();
161
+ _a.label = 3;
162
+ case 3:
163
+ _i++;
164
+ return [3, 1];
165
+ case 4: return [2, { updatedCart: updatedCart, updatedItems: updatedItems }];
166
+ }
167
+ });
168
+ });
169
+ };
170
+ exports.updateCartItems = updateCartItems;
171
+ var deleteCartItem = function (currentCart, sku, onlyIfUpsellOf) {
172
+ var deletedItemsCart = __assign({}, currentCart);
173
+ sku.forEach(function (itm) {
174
+ return (0, remove_1.default)(deletedItemsCart.items, function (item) {
175
+ if (!!item.is_upsell_of_sku && !!onlyIfUpsellOf)
176
+ return item.sku === itm && item.is_upsell_of_sku === onlyIfUpsellOf;
177
+ return item.sku === itm;
178
+ });
179
+ });
180
+ return deletedItemsCart;
181
+ };
182
+ exports.deleteCartItem = deleteCartItem;
183
+ var priceWasOverridden = function (itemToCheck) {
184
+ return ((!!itemToCheck.promo_price && !!itemToCheck.promo_price.overridden) ||
185
+ (!!itemToCheck.discount_price && !!itemToCheck.discount_price.overridden));
186
+ };
187
+ exports.priceWasOverridden = priceWasOverridden;
188
+ var getActualPromoPrice = function (item, output) {
189
+ var orgPrice = (0, exports.getActualDiscountPrice)(item, '$');
190
+ var price = orgPrice;
191
+ if (!!item.promo_price) {
192
+ price = item.promo_price.amount;
193
+ }
194
+ if (output === '%')
195
+ return !!!orgPrice ? 0 : (1 - price / orgPrice) * 100;
196
+ return price;
197
+ };
198
+ exports.getActualPromoPrice = getActualPromoPrice;
199
+ var getActualDiscountPrice = function (item, output) {
200
+ var price = item.regular_price.amount;
201
+ if (!!item.discount_price) {
202
+ price = item.discount_price.amount;
203
+ }
204
+ if (output === '%')
205
+ return (1 - price / item.regular_price.amount) * 100;
206
+ return price;
207
+ };
208
+ exports.getActualDiscountPrice = getActualDiscountPrice;
209
+ var addCartItems = function (currentCart, newItems, fetchInventory, shouldCheckInventory, handleInventoryError, defaultAdd, isServiceUpsellOfSku, customPriceList) {
210
+ if (shouldCheckInventory === void 0) { shouldCheckInventory = true; }
211
+ if (defaultAdd === void 0) { defaultAdd = false; }
212
+ if (isServiceUpsellOfSku === void 0) { isServiceUpsellOfSku = false; }
213
+ return __awaiter(void 0, void 0, void 0, function () {
214
+ var newCart, items, itemsToUpdate, shouldAddItem, itemsToAdd, _a, _b, _c, filteredItems, hasMaxQtyItems, updateResult;
215
+ return __generator(this, function (_d) {
216
+ switch (_d.label) {
217
+ case 0:
218
+ newCart = __assign({}, currentCart);
219
+ items = __spreadArray([], newItems, true);
220
+ if (!!customPriceList) {
221
+ items = items.map(function (i) {
222
+ return !!(0, exports.priceWasOverridden)(i) ? i : (0, g2_1.checkForCustomPriceEquivalent)(i, customPriceList);
223
+ });
224
+ }
225
+ itemsToUpdate = [];
226
+ shouldAddItem = function (cartItem) { return __awaiter(void 0, void 0, void 0, function () {
227
+ var checkInventory, inventoryItem, _a, e_2, itemAlreadyInCart;
228
+ return __generator(this, function (_b) {
229
+ switch (_b.label) {
230
+ case 0:
231
+ checkInventory = !!shouldCheckInventory && !!!cartItem.is_service && !!!cartItem.is_upsell_of_sku;
232
+ if (!!!fetchInventory) return [3, 6];
233
+ _b.label = 1;
234
+ case 1:
235
+ _b.trys.push([1, 5, , 6]);
236
+ if (!!!cartItem.is_service) return [3, 2];
237
+ _a = undefined;
238
+ return [3, 4];
239
+ case 2: return [4, fetchInventory(cartItem.sku)];
240
+ case 3:
241
+ _a = _b.sent();
242
+ _b.label = 4;
243
+ case 4:
244
+ inventoryItem = _a;
245
+ return [3, 6];
246
+ case 5:
247
+ e_2 = _b.sent();
248
+ console.log('error on fetching inventory: ', e_2);
249
+ return [3, 6];
250
+ case 6:
251
+ itemAlreadyInCart = (0, findIndex_1.default)(newCart.items, function (item) { return item.sku === cartItem.sku; });
252
+ if (!!checkInventory) {
253
+ if (!!!inventoryItem)
254
+ return [2, false];
255
+ if (!!inventoryItem) {
256
+ if (!!inventoryItem.is_infinite_stock || !!cartItem.is_service || !!cartItem.is_sample)
257
+ return [2, cartItem];
258
+ if (!!!inventoryItem.web_inventory || !!!inventoryItem.web_inventory.available) {
259
+ return [2, false];
260
+ }
261
+ if (cartItem.qte > inventoryItem.web_inventory.available) {
262
+ return [2, 'already_max_qte'];
263
+ }
264
+ }
265
+ if (itemAlreadyInCart !== -1 && !!inventoryItem && !!!isServiceUpsellOfSku) {
266
+ if (!!shouldCheckInventory && !!inventoryItem.web_inventory && !!inventoryItem.web_inventory.available) {
267
+ if ((0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte) >
268
+ (0, toNumber_1.default)(inventoryItem.web_inventory.available)) {
269
+ return [2, 'already_max_qte'];
270
+ }
271
+ }
272
+ itemsToUpdate.push({
273
+ sku: cartItem.sku,
274
+ qte: (0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte)
275
+ });
276
+ return [2, false];
277
+ }
278
+ }
279
+ if (itemAlreadyInCart !== -1) {
280
+ itemsToUpdate.push({
281
+ sku: cartItem.sku,
282
+ qte: (0, toNumber_1.default)(newCart.items[itemAlreadyInCart].qte) + (0, toNumber_1.default)(cartItem.qte)
283
+ });
284
+ return [2, false];
285
+ }
286
+ return [2, cartItem];
287
+ }
288
+ });
289
+ }); };
290
+ if (!Array.isArray(items)) return [3, 4];
291
+ if (!!!defaultAdd) return [3, 1];
292
+ _b = items;
293
+ return [3, 3];
294
+ case 1: return [4, Promise.all(items.map(function (cartItem) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
295
+ switch (_a.label) {
296
+ case 0: return [4, shouldAddItem(cartItem)];
297
+ case 1: return [2, _a.sent()];
298
+ }
299
+ }); }); }))];
300
+ case 2:
301
+ _b = _d.sent();
302
+ _d.label = 3;
303
+ case 3:
304
+ _a = _b;
305
+ return [3, 8];
306
+ case 4:
307
+ if (!!!defaultAdd) return [3, 5];
308
+ _c = [items];
309
+ return [3, 7];
310
+ case 5: return [4, shouldAddItem(items)];
311
+ case 6:
312
+ _c = [_d.sent()];
313
+ _d.label = 7;
314
+ case 7:
315
+ _a = _c;
316
+ _d.label = 8;
317
+ case 8:
318
+ itemsToAdd = _a;
319
+ filteredItems = itemsToAdd.filter(function (item) { return !!item && item !== 'already_max_qte'; });
320
+ hasMaxQtyItems = itemsToAdd.find(function (i) { return i === 'already_max_qte'; });
321
+ if (!(!!hasMaxQtyItems && !!handleInventoryError)) return [3, 10];
322
+ return [4, handleInventoryError(false)];
323
+ case 9:
324
+ _d.sent();
325
+ _d.label = 10;
326
+ case 10:
327
+ if (!!!itemsToUpdate.length) return [3, 12];
328
+ return [4, (0, exports.updateCartItems)(currentCart, itemsToUpdate, fetchInventory, shouldCheckInventory, handleInventoryError)];
329
+ case 11:
330
+ updateResult = _d.sent();
331
+ if (!!updateResult) {
332
+ newCart = updateResult.updatedCart;
333
+ }
334
+ _d.label = 12;
335
+ case 12:
336
+ newCart = __assign(__assign({}, newCart), { items: __spreadArray(__spreadArray([], newCart.items, true), filteredItems, true) });
337
+ return [2, {
338
+ cartData: newCart,
339
+ added: !!filteredItems && !!filteredItems.length,
340
+ updated: !!itemsToUpdate && !!itemsToUpdate.length,
341
+ maxQtyItems: !!hasMaxQtyItems
342
+ }];
343
+ }
344
+ });
345
+ });
346
+ };
347
+ exports.addCartItems = addCartItems;
348
+ var getCurrentProvince = function (provinceToCheck) {
349
+ var formattedProvince = (0, string_1.stripAccents)(provinceToCheck.toLowerCase());
350
+ return (0, find_1.default)(data_1.provinces, function (province) {
351
+ return (0, string_1.stripAccents)(province.value.toLowerCase()) === formattedProvince ||
352
+ (0, string_1.stripAccents)(province.label.toLowerCase()) === formattedProvince ||
353
+ (0, string_1.stripAccents)(province.label_en.toLowerCase()) === formattedProvince;
354
+ });
355
+ };
356
+ exports.getCurrentProvince = getCurrentProvince;
357
+ var getTaxProvinceFromShippingAddress = function (address) {
358
+ var taxProvince;
359
+ var shippingState = address.state.toLowerCase();
360
+ var shortCartShippingState = data_1.provinces.find(function (p) {
361
+ return p.value.toLowerCase() == shippingState ||
362
+ p.label.toLocaleLowerCase() == shippingState ||
363
+ p.label_en.toLowerCase() == shippingState;
364
+ });
365
+ if (!!shortCartShippingState)
366
+ taxProvince = shortCartShippingState.value;
367
+ return taxProvince;
368
+ };
369
+ exports.getTaxProvinceFromShippingAddress = getTaxProvinceFromShippingAddress;
370
+ var getIndexedCartData = function (cartData, space, setPaidAtIfUndefined, customer, createdAt, updatedAt) {
371
+ var _a, _b, _c, _d, _e;
372
+ var getPaidAt = function () {
373
+ var paidAt;
374
+ try {
375
+ paidAt =
376
+ !!cartData && !!cartData.paid_at
377
+ ? (0, data_1.formatDate)(cartData.paid_at)
378
+ : !!setPaidAtIfUndefined
379
+ ? (0, moment_1.default)().toDate()
380
+ : null;
381
+ }
382
+ catch (error) {
383
+ paidAt = cartData.paid_at || null;
384
+ }
385
+ return { paid_at: !!paidAt ? (0, moment_1.default)(paidAt).unix() : null };
386
+ };
387
+ var itemDict = {};
388
+ for (var _i = 0, _f = cartData.items; _i < _f.length; _i++) {
389
+ var item = _f[_i];
390
+ itemDict[item.sku] = { qty: item.qte, refunded_qty: (_a = item.refunded_qty) !== null && _a !== void 0 ? _a : 0, refunded: (_b = item.refunded) !== null && _b !== void 0 ? _b : false };
391
+ }
392
+ var cartPromos = (0, discount_1.getCartPromo)(cartData);
393
+ var hasPromos = !!cartPromos && !!cartPromos.length;
394
+ var hasCustomDiscount = !!cartData.items.some(function (i) {
395
+ return !!(0, object_1.recursiveCheckObject)(i, 'promo_price.authorization.note') ||
396
+ !!(0, object_1.recursiveCheckObject)(i, 'discount_price.authorization.note');
397
+ });
398
+ var indexedCartData = __assign(__assign(__assign(__assign({ objectID: cartData.id, cart_type: cartData.cart_type, status: cartData.status, ref: cartData.ref || '', invoice_ref: (_c = cartData.invoice_ref) !== null && _c !== void 0 ? _c : null, created_at: !!createdAt ? (0, moment_1.default)(createdAt).unix() : null, updated_at: !!updatedAt ? (0, moment_1.default)(updatedAt).unix() : !!cartData.paid_at ? getPaidAt().paid_at : (0, moment_1.default)().unix(), processed_at: !!cartData.processed_by && !!cartData.processed_by.date
399
+ ? (0, moment_1.default)((0, data_1.formatDate)(cartData.processed_by.date)).unix()
400
+ : null, cart_promos_applied: cartPromos !== null && cartPromos !== void 0 ? cartPromos : null, has_promos: !!hasPromos ? hasPromos : null, has_custom_discount: !!hasCustomDiscount ? hasCustomDiscount : null, items: itemDict, is_booking: !!cartData.is_booking, is_promise_to_purchase: !!cartData.promise_to_purchase, has_transfers: !!cartData.has_transfers }, getPaidAt()), (0, exports.getPaidByForIndexedCart)(cartData)), { subtotal: cartData.subtotal, total: cartData.total, is_pickup: !!cartData.is_pickup, out_of_zone: !!cartData.shipping_payload && !!cartData.shipping_payload.isOutOfArea, billing_phone: cartData.billing_address ? cartData.billing_address.expedition_recipient_phone : null, shipping_phone: cartData.shipping_address ? cartData.shipping_address.expedition_recipient_phone : null, customer_id: !!cartData.customer_id ? cartData.customer_id : null, customer_name: cartData.billing_address ? cartData.billing_address.expedition_recipient_name : null, customer_email: cartData.customer_info && cartData.customer_info.customer_default_email
401
+ ? cartData.customer_info.customer_default_email
402
+ : cartData.user_email
403
+ ? cartData.user_email
404
+ : null, customer_company_name: !!(0, object_1.recursiveCheckObject)(cartData, 'customer_info.company_name')
405
+ ? (0, object_1.recursiveCheckObject)(cartData, 'customer_info.company_name')
406
+ : !!customer && !!(0, object_1.recursiveCheckObject)(customer, 'company_info.invoice_info.legal_name')
407
+ ? (0, object_1.recursiveCheckObject)(customer, 'company_info.invoice_info.legal_name')
408
+ : null, is_detail_customer: !!!cartData.customer_info || !!!cartData.customer_info.pro_title || !!!cartData.customer_info.pro_proof_doc, customer_type: !!(0, object_1.recursiveCheckObject)(cartData, 'customer_info.pro_title')
409
+ ? Cart_1.CartCustomerEnum.PRO
410
+ : !!cartData.customer_id
411
+ ? Cart_1.CartCustomerEnum.CONNECTED
412
+ : Cart_1.CartCustomerEnum.GUEST, customer_rep: !!customer ? customer.represented_by : null, customer_external_class: (0, object_1.recursiveCheckObject)(cartData, 'customer_info.customer_external_class') ||
413
+ (0, object_1.recursiveCheckObject)(customer, 'basic_info.customer_professionnal_info.external_customer_class') ||
414
+ null, keywords: (0, uniq_1.default)((0, flatten_1.default)(cartData.items.map(function (item) {
415
+ return __spreadArray(__spreadArray([], (item.name || []).map(function (n) { return n.value; }), true), [item.sku], false);
416
+ }))), cart_slug_list: (0, uniq_1.default)(cartData.items.map(function (item) {
417
+ return item.parent_slug || '';
418
+ })), from_marketplace: (_d = cartData.from_marketplace) !== null && _d !== void 0 ? _d : null }), (!!space.data().id && [services_1.SpaceIdEnum.GR, services_1.SpaceIdEnum.CMV].includes(space.data().id)
419
+ ? __assign(__assign({}, (0, exports.getShippingStoreInfo)(cartData, space)), (services_1.SpaceIdEnum.GR === space.data().id
420
+ ? __assign(__assign({ order_type: (0, invoices_1.getOrderTypeString)(cartData, {
421
+ frOnly: true,
422
+ slugSafe: (0, cart_1.checkIfCartContainsType)(cart_2.CartGeneralTypeEnum.BOOKING_BETON, cartData),
423
+ installAsType: true
424
+ }) }, (0, exports.getAssignedToInfo)(cartData)), { project_number: (_e = (0, object_1.recursiveCheckObject)(cartData, 'shipping_payload.orderOrProjectNumber')) !== null && _e !== void 0 ? _e : null }) : {})) : {}));
425
+ return indexedCartData;
426
+ };
427
+ exports.getIndexedCartData = getIndexedCartData;
428
+ var getPaidByForIndexedCart = function (order) {
429
+ if (!!!order.paid_by && !!!order.custom_payment_type)
430
+ return { paid_by: null, multiple_payments: null };
431
+ var currentPaidBy = !!order.custom_payment_type && !!order.custom_payment_type.method
432
+ ? order.custom_payment_type.method
433
+ : order.paid_by;
434
+ if (currentPaidBy === Cart_1.PaymentTypeEnum.MULTIPLE && !!order.payment_details && !!order.payment_details.length) {
435
+ var firstPayment = order.payment_details.length === 1 || order.payment_details[0].method !== Cart_1.PaymentTypeEnum.TOBERECEIVED
436
+ ? order.payment_details[0]
437
+ : order.payment_details[1];
438
+ return {
439
+ paid_by: firstPayment.method,
440
+ multiple_payments: order.payment_details.length > 1
441
+ };
442
+ }
443
+ else {
444
+ return {
445
+ paid_by: currentPaidBy !== null && currentPaidBy !== void 0 ? currentPaidBy : null,
446
+ multiple_payments: null
447
+ };
448
+ }
449
+ };
450
+ exports.getPaidByForIndexedCart = getPaidByForIndexedCart;
451
+ var getAssignedToInfo = function (order) {
452
+ if (!!!order.assigned_to || !!!order.assigned_to.length)
453
+ return { assigned_to: null };
454
+ var mostRecentAssignedTo = (0, orderBy_1.default)(order.assigned_to, function (assigned) { return (0, moment_1.default)((0, data_1.formatDate)(assigned.date)).unix(); }, 'desc')[0];
455
+ if (!!!mostRecentAssignedTo || !!!mostRecentAssignedTo.is_active)
456
+ return { assigned_to: null };
457
+ return {
458
+ assigned_to: mostRecentAssignedTo.user_name
459
+ };
460
+ };
461
+ exports.getAssignedToInfo = getAssignedToInfo;
462
+ var getShippingStoreInfo = function (order, space) {
463
+ if (!!order.is_pickup) {
464
+ if (!!order.shipping_payload && !!order.shipping_payload.pickup_store && !!order.shipping_payload.pickup_store.id)
465
+ return {
466
+ store: {
467
+ id: order.shipping_payload.pickup_store.id,
468
+ name: order.shipping_payload.pickup_store.name
469
+ }
470
+ };
471
+ if (!!order.shipping_address)
472
+ return {
473
+ store: (0, exports.getOrderStoreInfo)(space.data(), order.shipping_address.address)
474
+ };
475
+ }
476
+ return { store: { id: 'Livraison', name: 'Livraison' } };
477
+ };
478
+ exports.getShippingStoreInfo = getShippingStoreInfo;
479
+ var checkIfShippingSameAsBilling = function (cart) {
480
+ return (!!cart.shipping_address &&
481
+ !!cart.billing_address &&
482
+ (0, isEqual_1.default)(cart.shipping_address.address, cart.billing_address.address));
483
+ };
484
+ exports.checkIfShippingSameAsBilling = checkIfShippingSameAsBilling;
485
+ var getOrderStoreInfo = function (spaceData, storeAddress) {
486
+ var defaultStoreInfo = {
487
+ id: 'all',
488
+ name: 'all'
489
+ };
490
+ try {
491
+ if (!!!storeAddress || !!!spaceData)
492
+ return defaultStoreInfo;
493
+ var allStores = spaceData.stores_warehouses;
494
+ var sameStore = allStores.find(function (store) { return store.address.postal_code === storeAddress.postal_code; });
495
+ if (!!!sameStore)
496
+ return defaultStoreInfo;
497
+ return {
498
+ id: sameStore.id,
499
+ name: sameStore.name
500
+ };
501
+ }
502
+ catch (e) {
503
+ console.log('error on fetching store info for algo order: ', e);
504
+ return defaultStoreInfo;
505
+ }
506
+ };
507
+ exports.getOrderStoreInfo = getOrderStoreInfo;
508
+ var getModifiedItems = function (newItems, oldItems) {
509
+ var itemsForInventory = [];
510
+ var _loop_2 = function (i) {
511
+ var itemInOldArray = oldItems.find(function (o) { return o.sku === i.sku; });
512
+ if (!!!itemInOldArray) {
513
+ itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [i], false);
514
+ return "continue";
515
+ }
516
+ if (i.qte === itemInOldArray.qte)
517
+ return "continue";
518
+ var newQte = i.qte - itemInOldArray.qte;
519
+ itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [
520
+ __assign(__assign({}, i), { qte: newQte })
521
+ ], false);
522
+ };
523
+ for (var _i = 0, newItems_1 = newItems; _i < newItems_1.length; _i++) {
524
+ var i = newItems_1[_i];
525
+ _loop_2(i);
526
+ }
527
+ var _loop_3 = function (i) {
528
+ var itemInNewArray = newItems.find(function (o) { return o.sku === i.sku; });
529
+ if (!!!itemInNewArray) {
530
+ itemsForInventory = __spreadArray(__spreadArray([], itemsForInventory, true), [
531
+ __assign(__assign({}, i), { qte: i.qte * -1 })
532
+ ], false);
533
+ }
534
+ };
535
+ for (var _a = 0, oldItems_1 = oldItems; _a < oldItems_1.length; _a++) {
536
+ var i = oldItems_1[_a];
537
+ _loop_3(i);
538
+ }
539
+ return itemsForInventory;
540
+ };
541
+ exports.getModifiedItems = getModifiedItems;
542
+ var getActiveTransfersByItemInCart = function (allTransfersForCart, cartItems) {
543
+ if (!!!allTransfersForCart || !!!allTransfersForCart.length)
544
+ return [];
545
+ var allActive = allTransfersForCart.filter(function (t) { return !!!t.data().completed; });
546
+ if (!!!allActive.length)
547
+ return [];
548
+ var foundInTransfer = [];
549
+ var _loop_4 = function (item) {
550
+ var sameInTransfers = allActive.filter(function (t) { return t.data().products.some(function (p) { return p.sku == item.sku; }); });
551
+ if (!!sameInTransfers)
552
+ foundInTransfer.push({
553
+ sku: item.sku,
554
+ transfers: sameInTransfers,
555
+ hasUpdatableTransfer: sameInTransfers.some(function (t) { return t.transferAllowsIndependantProductUpdate(); }),
556
+ hasNonUpdatableTransfer: sameInTransfers.some(function (t) { return !t.transferAllowsIndependantProductUpdate(); })
557
+ });
558
+ };
559
+ for (var _i = 0, cartItems_1 = cartItems; _i < cartItems_1.length; _i++) {
560
+ var item = cartItems_1[_i];
561
+ _loop_4(item);
562
+ }
563
+ return foundInTransfer;
564
+ };
565
+ exports.getActiveTransfersByItemInCart = getActiveTransfersByItemInCart;
566
+ var getItemsToUpdateByTransfer = function (allCartTransfers, updatedItems) {
567
+ if (!!!allCartTransfers.length || !!!updatedItems.length)
568
+ return;
569
+ var skusFoundInTransfers = (0, exports.getActiveTransfersByItemInCart)(allCartTransfers, updatedItems.map(function (upItem) { return upItem.item; }));
570
+ if (!!!skusFoundInTransfers.length)
571
+ return;
572
+ var transfersToUpdate = {};
573
+ var _loop_5 = function (upItem) {
574
+ var sku = upItem.item.sku;
575
+ var qteToUpdate = upItem.qteToUpdate;
576
+ var sameItemData = skusFoundInTransfers.find(function (s) { return s.sku == sku; });
577
+ if (!!!sameItemData || !!!sameItemData.transfers.length)
578
+ return "continue";
579
+ var transfersWithSameItem = sameItemData.transfers;
580
+ var filteredInventoriesByTransferStores = !!upItem.inventoryItem
581
+ ? upItem.inventoryItem.inventories.filter(function (i) {
582
+ return transfersWithSameItem.some(function (t) { return !!t.data().from && t.data().from == i.store_id; });
583
+ })
584
+ : undefined;
585
+ if (qteToUpdate > 0) {
586
+ var inventoryUnitQteToUpdate = (0, inventories_1.getConvertedUnitQuantity)(upItem.item.other_units, qteToUpdate, 'inventory_unit', true);
587
+ var initializedStatusTransfers = transfersWithSameItem.filter(function (t) { return t.data().status == TransferRequest_1.TransferRequestStatusEnum.INITIATED; });
588
+ if (!!initializedStatusTransfers.length) {
589
+ var firstTransfer = initializedStatusTransfers[0];
590
+ var transferID = firstTransfer.data().id;
591
+ if (!!!transferID)
592
+ return "continue";
593
+ var dataForTransfer_1 = transfersToUpdate[transferID] || [];
594
+ dataForTransfer_1.push({
595
+ sku: sku,
596
+ ajustmentQte: inventoryUnitQteToUpdate
597
+ });
598
+ transfersToUpdate[transferID] = dataForTransfer_1;
599
+ return "continue";
600
+ }
601
+ var storeWithMostQuantities_1 = !!filteredInventoriesByTransferStores
602
+ ? filteredInventoriesByTransferStores.reduce(function (storeA, storeB) {
603
+ return (0, toNumber_1.default)(storeA.qty.available) > (0, toNumber_1.default)(storeB.qty.available) ? storeA : storeB;
604
+ })
605
+ : undefined;
606
+ var transferToUse = !!storeWithMostQuantities_1
607
+ ? transfersWithSameItem.find(function (t) { return t.data().from == storeWithMostQuantities_1.store_id; })
608
+ : transfersWithSameItem[0];
609
+ if (!!!transferToUse || !!!transferToUse.data().id)
610
+ return "continue";
611
+ var dataForTransfer = transfersToUpdate[transferToUse.data().id] || [];
612
+ dataForTransfer.push({ sku: sku, ajustmentQte: inventoryUnitQteToUpdate });
613
+ transfersToUpdate[transferToUse.data().id] = dataForTransfer;
614
+ return "continue";
615
+ }
616
+ if (qteToUpdate < 0) {
617
+ var qteToRemove = qteToUpdate * -1;
618
+ var inventoryUnitQteToRemove = (0, inventories_1.getConvertedUnitQuantity)(upItem.item.other_units, qteToRemove, 'inventory_unit', true);
619
+ var inventoriesByAvailabilityAsc_1 = (0, orderBy_1.default)(filteredInventoriesByTransferStores, function (i) {
620
+ return (0, toNumber_1.default)(i.qty.available);
621
+ });
622
+ var transfersByInventory = (0, orderBy_1.default)(transfersWithSameItem, function (t) { return [
623
+ t.data().status == TransferRequest_1.TransferRequestStatusEnum.INITIATED ? 0 : 1,
624
+ inventoriesByAvailabilityAsc_1.findIndex(function (i) { return i.store_id == t.data().from; })
625
+ ]; });
626
+ for (var _a = 0, transfersByInventory_1 = transfersByInventory; _a < transfersByInventory_1.length; _a++) {
627
+ var transfer = transfersByInventory_1[_a];
628
+ if (!!!transfer.data().id)
629
+ continue;
630
+ var sameProd = transfer.data().products.find(function (p) { return p.sku == sku; });
631
+ if (!!!sameProd)
632
+ continue;
633
+ var currentQte = sameProd.qte;
634
+ var qteToBeUpdated = currentQte < inventoryUnitQteToRemove ? currentQte : inventoryUnitQteToRemove;
635
+ var dataForTransfer = transfersToUpdate[transfer.data().id] || [];
636
+ dataForTransfer.push({ sku: sku, ajustmentQte: qteToBeUpdated * -1 });
637
+ transfersToUpdate[transfer.data().id] = dataForTransfer;
638
+ inventoryUnitQteToRemove -= qteToBeUpdated;
639
+ if (qteToRemove <= 0)
640
+ break;
641
+ }
642
+ }
643
+ };
644
+ for (var _i = 0, updatedItems_1 = updatedItems; _i < updatedItems_1.length; _i++) {
645
+ var upItem = updatedItems_1[_i];
646
+ _loop_5(upItem);
647
+ }
648
+ return transfersToUpdate;
649
+ };
650
+ exports.getItemsToUpdateByTransfer = getItemsToUpdateByTransfer;
651
+ var getILangForUpdateType = function (updateType) {
652
+ var _a;
653
+ var dict = (_a = {},
654
+ _a["".concat(Cart_1.UpdateTypeEnum.CART_CONTENT)] = { fr: 'Ajustement de la commande', en: 'Updated cart content' },
655
+ _a["".concat(Cart_1.UpdateTypeEnum.PROCESSING_STORE)] = {
656
+ fr: 'Changement succ. de traitement',
657
+ en: 'Updated processing store'
658
+ },
659
+ _a);
660
+ return dict[updateType || Cart_1.UpdateTypeEnum.CART_CONTENT];
661
+ };
662
+ exports.getILangForUpdateType = getILangForUpdateType;
663
+ var getSubtotalToCheckForPromo = function (allCartItems, currentCartSubtotal, space, feePromosTotalRemoved, removeServiceFees) {
664
+ var serviceFeeProducts = !!!removeServiceFees
665
+ ? []
666
+ : allCartItems.filter(function (i) { return !!i.is_service && !(0, g2_1.isEscompteSuppItem)(i.sku); });
667
+ var serviceFeeSubtotal = !!!serviceFeeProducts.length
668
+ ? 0
669
+ : (0, sumBy_1.default)(serviceFeeProducts, function (i) {
670
+ var itemPrice = (0, products_1.getLowestPrice)(i).price.amount;
671
+ return (0, round_1.default)(((0, isNumber_1.default)(itemPrice) ? Number(itemPrice) : 0) * i.qte, space.data().product_preferences.decimals || 2);
672
+ });
673
+ var totalRemoved = serviceFeeSubtotal;
674
+ if (!!totalRemoved) {
675
+ totalRemoved -= feePromosTotalRemoved;
676
+ }
677
+ return currentCartSubtotal - totalRemoved;
678
+ };
679
+ exports.getSubtotalToCheckForPromo = getSubtotalToCheckForPromo;
680
+ var getAllPromoAppliedPrices = function (allPromos, subtotalToUse, items, space, isRefund) {
681
+ var _a;
682
+ var promoAmounts = [];
683
+ var updatedSubtotal = subtotalToUse;
684
+ var cartPromos = allPromos.filter(function (c) { return c.applies_to != Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
685
+ cartPromos = (0, orderBy_1.default)(cartPromos, function (p) {
686
+ if ([Cart_1.CartPromoAppliesToEnum.PRODUCT, Cart_1.CartPromoAppliesToEnum.ITEMS].includes(p.applies_to))
687
+ return 1;
688
+ if (p.promo_code && p.applies_to === Cart_1.CartPromoAppliesToEnum.SUBTOTAL) {
689
+ return 3;
690
+ }
691
+ return 2;
692
+ });
693
+ var feePromosTotal = 0;
694
+ var _loop_6 = function (aPromo) {
695
+ var productTotalAmount = 0;
696
+ if ((isRefund || updatedSubtotal > 0) &&
697
+ !!aPromo &&
698
+ (aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.SUBTOTAL || aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT)) {
699
+ var amountToRemove = 0;
700
+ var amountUnit = aPromo.amount_unit || IDiscountRule_1.ResultActionEnum.PERCENT;
701
+ var appliesToProduct = aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT;
702
+ var subtotalToCheck = !!aPromo.exclude_services_and_fees &&
703
+ !![IDiscountRule_1.ResultActionEnum.PERCENT, IDiscountRule_1.ResultActionEnum.PERCENT_SKU, IDiscountRule_1.ResultActionEnum.PERCENT_CATEGORY].includes(amountUnit) &&
704
+ !!!appliesToProduct
705
+ ? (0, exports.getSubtotalToCheckForPromo)(items, updatedSubtotal, space, feePromosTotal, true)
706
+ : updatedSubtotal;
707
+ if (appliesToProduct) {
708
+ var skuArray_1 = [];
709
+ if (!!aPromo.item_given) {
710
+ skuArray_1 = (0, discount_1.getSkuArrayForPromo)(aPromo.item_given);
711
+ }
712
+ var itemToCheck = items.filter(function (item) { return !!aPromo && !!skuArray_1.includes(item.sku); });
713
+ for (var _b = 0, itemToCheck_1 = itemToCheck; _b < itemToCheck_1.length; _b++) {
714
+ var anItem = itemToCheck_1[_b];
715
+ productTotalAmount += amountUnit.includes('amount')
716
+ ? anItem.qte
717
+ : (0, products_1.getLowestPrice)(anItem).price.amount * anItem.qte;
718
+ var newAmountToRemove = (0, data_1.getPromoTotalAmount)(items, aPromo, 'number', anItem.sku);
719
+ if (typeof newAmountToRemove !== 'number')
720
+ continue;
721
+ if (!!anItem && !!anItem.is_service)
722
+ feePromosTotal += newAmountToRemove;
723
+ amountToRemove += newAmountToRemove;
724
+ }
725
+ }
726
+ else {
727
+ amountToRemove = (_a = aPromo.amount_removed) !== null && _a !== void 0 ? _a : 0;
728
+ }
729
+ amountToRemove = (0, round_1.default)(amountToRemove, 2);
730
+ var newSubtotal = amountUnit === IDiscountRule_1.ResultActionEnum.AMOUNT || aPromo.applies_to === Cart_1.CartPromoAppliesToEnum.PRODUCT
731
+ ? updatedSubtotal - amountToRemove
732
+ : updatedSubtotal - subtotalToCheck * (amountToRemove / 100);
733
+ if (!!aPromo.discount_id) {
734
+ promoAmounts.push({
735
+ id: aPromo.discount_id,
736
+ subtotalBefore: updatedSubtotal,
737
+ subtotalAfter: (0, round_1.default)(newSubtotal, 2),
738
+ amountRemoved: amountToRemove,
739
+ productTotalAmount: productTotalAmount,
740
+ appliesTo: aPromo.applies_to
741
+ });
742
+ }
743
+ updatedSubtotal = (0, round_1.default)(newSubtotal, 2);
744
+ }
745
+ };
746
+ for (var _i = 0, cartPromos_1 = cartPromos; _i < cartPromos_1.length; _i++) {
747
+ var aPromo = cartPromos_1[_i];
748
+ _loop_6(aPromo);
749
+ }
750
+ return promoAmounts;
751
+ };
752
+ exports.getAllPromoAppliedPrices = getAllPromoAppliedPrices;
753
+ var getAddressStrArray = function (address) {
754
+ return [
755
+ "".concat(!!address.app ? address.app + ' - ' : '').concat(address.line1 || ''),
756
+ "".concat(!!address.city ? address.city + ', ' : '').concat(address.state || '', " ").concat(address.postal_code || '')
757
+ ].filter(function (addr) { return !!addr.trim(); });
758
+ };
759
+ exports.getAddressStrArray = getAddressStrArray;
760
+ var getCartPaymentMethods = function (cartData) {
761
+ return !!cartData.payment_details
762
+ ? (cartData.payment_details || []).map(function (p) { return p.method; })
763
+ : !!cartData.paid_by
764
+ ? [cartData.paid_by]
765
+ : [];
766
+ };
767
+ exports.getCartPaymentMethods = getCartPaymentMethods;
657
768
  //# sourceMappingURL=cart.js.map