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,920 +1,920 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.transformCreditNoteToG2Order = exports.transformAddioCartToG2Order = exports.getDefaultG2OrderItem = void 0;
54
- var G2OrderSlip_1 = __importDefault(require("./G2OrderSlip"));
55
- var logs_1 = require("../logs");
56
- var round_1 = __importDefault(require("lodash/round"));
57
- var products_1 = require("../../rules/GR/constants/products");
58
- var cart_1 = require("../../rules/GR/utils/cart");
59
- var expedition_1 = require("../../rules/GR/utils/expedition");
60
- var g2_1 = require("../../rules/GR/utils/g2");
61
- var products_2 = require("../../rules/GR/utils/products");
62
- var cart_2 = require("../../utils/cart");
63
- var data_1 = require("../../utils/data");
64
- var discount_1 = require("../../utils/discount");
65
- var locale_1 = require("../../utils/locale");
66
- var object_1 = require("../../utils/object");
67
- var services_1 = require("../../utils/services");
68
- var context_1 = require("../../utils/context");
69
- var string_1 = require("../../utils/string");
70
- var __1 = require("../..");
71
- var Cart_1 = require("../../Interfaces/Cart");
72
- var cart_3 = require("../../rules/GR/interfaces/cart");
73
- var refunds_1 = require("../../utils/refunds");
74
- var getDefaultG2OrderItem = function (noArticle) { return ({
75
- noArticle: noArticle || '',
76
- libreNum1: 0,
77
- libreNum2: 0,
78
- libreNum3: 0,
79
- referenceArticleEquivalent: 0,
80
- pourcCommission: 0,
81
- prixDetailSuggere: 0,
82
- prixMinimum: 0,
83
- montantCommission: 0,
84
- coutdeVenteUnitaire: 0
85
- }); };
86
- exports.getDefaultG2OrderItem = getDefaultG2OrderItem;
87
- var transformAddioCartToG2Order = function (addioCart, space, orgId, isTest, creditNote) { return __awaiter(void 0, void 0, void 0, function () {
88
- var g2Service, g2OrderObj, data, e_1;
89
- return __generator(this, function (_a) {
90
- switch (_a.label) {
91
- case 0:
92
- if (addioCart.status < Cart_1.CartStatusEnum.CHECKOUT_PAYMENT_SUCCESS) {
93
- console.error("can't create an order slip for a non-paid cart. Returning!");
94
- return [2];
95
- }
96
- g2Service = space.services({ field: 'external_service_name', value: 'G2' });
97
- if (!!!g2Service.length ||
98
- !!!(0, object_1.recursiveCheckObject)(g2Service[0], 'external_service_infos.specific_actions.save_order_to_g2')) {
99
- console.error('space does not have G2 in external_services or does not save order property. Returning!');
100
- return [2];
101
- }
102
- g2OrderObj = new G2OrderSlip_1.default(space, orgId);
103
- data = { addioCart: addioCart, creditNote: creditNote, g2OrderObj: g2OrderObj, space: space, orgId: orgId };
104
- _a.label = 1;
105
- case 1:
106
- _a.trys.push([1, 5, , 6]);
107
- return [4, _constructGeneralData(data, isTest)];
108
- case 2:
109
- _a.sent();
110
- _constructBillingData(data);
111
- _constructShippingData(data);
112
- _constructExtraData(data);
113
- return [4, _constructCustomerData(data)];
114
- case 3:
115
- _a.sent();
116
- return [4, _constructAllItems(data)];
117
- case 4:
118
- _a.sent();
119
- return [2, g2OrderObj];
120
- case 5:
121
- e_1 = _a.sent();
122
- console.error('error on transforming cart for G2: ', e_1.toString());
123
- throw 'error on transforming cart for G2: ' + e_1.toString();
124
- case 6: return [2];
125
- }
126
- });
127
- }); };
128
- exports.transformAddioCartToG2Order = transformAddioCartToG2Order;
129
- var _getCustomerData = function (addioCart, dataToReturn, space) {
130
- switch (dataToReturn) {
131
- case 'id':
132
- return (0, cart_1.getClientNumberForCart)(addioCart, space, { checkIfEscPaApplied: true });
133
- case 'fullname':
134
- case 'firstname':
135
- case 'lastname':
136
- var nameToUse = ((0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_name') || '').split('%');
137
- return dataToReturn == 'firstname'
138
- ? nameToUse[0]
139
- : dataToReturn == 'lastname' && nameToUse.length > 1
140
- ? nameToUse[1]
141
- : nameToUse.join(' ');
142
- case 'phone':
143
- return (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_phone') || null;
144
- case 'termsCode':
145
- var isDepot = (0, object_1.recursiveCheckObject)(addioCart, 'custom_payment_type.method') === Cart_1.CustomPaymentTypeEnum.DEPOT;
146
- return !!isDepot
147
- ? 'P.S.L.'
148
- : (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.previous_terms_code') ||
149
- (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.terms_code') ||
150
- 'P.S.L.';
151
- }
152
- };
153
- var _getTransformCartProps = function (addioCart) {
154
- return {
155
- cartLocale: !!addioCart ? addioCart.locale : 'fr',
156
- cartType: !!addioCart ? (0, cart_1.getCartType)(addioCart) : cart_3.CartGeneralTypeEnum.BETON,
157
- isPro: !!addioCart ? (0, cart_1.isPro)(addioCart) : false,
158
- shippingToOntario: !!addioCart.shipping_address && (0, cart_2.getTaxProvinceFromShippingAddress)(addioCart.shipping_address.address) === 'ON',
159
- isPickup: !!(0, object_1.recursiveCheckObject)(addioCart, 'is_pickup')
160
- };
161
- };
162
- var _constructGeneralData = function (data, _isTest) { return __awaiter(void 0, void 0, void 0, function () {
163
- var addioCart, g2OrderObj, space, creditNote, isWebCart, taxProvince, cartShippingAddress, shortCartShippingState, repNumber, cartRef, cartInvoice, customerName, customerLastName, name, tel, fullLength, orderedByValue, user, e_2;
164
- return __generator(this, function (_a) {
165
- switch (_a.label) {
166
- case 0:
167
- addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, creditNote = data.creditNote;
168
- isWebCart = addioCart.cart_type == Cart_1.CartTypeEnum.WEB;
169
- taxProvince = 'QC';
170
- cartShippingAddress = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_address.address');
171
- if (!!cartShippingAddress && cartShippingAddress.state != taxProvince) {
172
- shortCartShippingState = (0, cart_2.getTaxProvinceFromShippingAddress)(cartShippingAddress);
173
- if (!!shortCartShippingState)
174
- taxProvince = shortCartShippingState;
175
- }
176
- repNumber = !!isWebCart ? 'WEB' : (0, object_1.recursiveCheckObject)(addioCart, 'created_by.user_external_id') || 'NOUVEAU';
177
- g2OrderObj.setNoClient(_getCustomerData(addioCart, 'id', space));
178
- g2OrderObj.setNoProvinceTaxation(taxProvince);
179
- g2OrderObj.setCondition(_getCustomerData(addioCart, 'termsCode', space));
180
- g2OrderObj.setNoRepresentant(repNumber);
181
- g2OrderObj.setDate(!!addioCart.paid_at ? (0, data_1.formatDate)(addioCart.paid_at) : null);
182
- cartRef = addioCart.ref || '';
183
- cartInvoice = addioCart.invoice_ref || '';
184
- g2OrderObj.setNoCommDuClient("".concat(cartRef).concat(!!cartInvoice && !!cartRef ? '/' : '').concat(cartInvoice.replace('-', '')));
185
- customerName = !(0, cart_1.isPro)(addioCart) ? _getCustomerData(addioCart, 'fullname', space) : '';
186
- if (customerName.length + cartRef.length > 24) {
187
- customerLastName = _getCustomerData(addioCart, 'lastname', space);
188
- customerName = customerLastName.length + cartRef.length <= 24 ? customerLastName : '';
189
- }
190
- g2OrderObj.setDescription("".concat(!!customerName ? customerName + ' ' : '').concat(addioCart.ref || ''));
191
- name = (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_name') || '';
192
- name = name.replace('%', ' ').slice(0, 50);
193
- tel = (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_phone') || '';
194
- tel = (0, data_1.formatPhoneNumberPrint)(tel);
195
- fullLength = name.length + tel.length;
196
- orderedByValue = "".concat(name).concat(!!name && !!tel && fullLength <= 49 ? ' ' : '').concat(fullLength <= 49 ? tel : '');
197
- g2OrderObj.setCommandePar(orderedByValue || null);
198
- if (!!!creditNote) return [3, 4];
199
- g2OrderObj.setNoteDeCredit(true);
200
- g2OrderObj.setNoCommDuClient("".concat((0, refunds_1.formatRefundInvoiceRef)(creditNote.ref, space, creditNote.groupCode).replace('-', '')).concat(!!creditNote.ref && !!cartRef ? '/' : '').concat(cartRef));
201
- if (!!creditNote.secondaryRef) {
202
- g2OrderObj.setNotes("# m\u00E9mo de retour: ".concat(creditNote.secondaryRef) + '\r\n');
203
- }
204
- if (!!creditNote.notes) {
205
- g2OrderObj.setNotes(creditNote.notes.replace('\n\n', '\r\n') + '\r\n');
206
- }
207
- _a.label = 1;
208
- case 1:
209
- _a.trys.push([1, 3, , 4]);
210
- return [4, space.users.get(creditNote.createdBy.email)];
211
- case 2:
212
- user = _a.sent();
213
- g2OrderObj.setNoRepresentant(user.external_id || 'NOUVEAU');
214
- return [3, 4];
215
- case 3:
216
- e_2 = _a.sent();
217
- console.error('error on fetching user with email: ', e_2.toString());
218
- g2OrderObj.setNoRepresentant('NOUVEAU');
219
- return [3, 4];
220
- case 4: return [2];
221
- }
222
- });
223
- }); };
224
- var _constructExtraData = function (data) {
225
- var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, creditNote = data.creditNote;
226
- if (addioCart.status == Cart_1.CartStatusEnum.CANCELLED || addioCart.status == Cart_1.CartStatusEnum.EXT_REFUND) {
227
- var cancelledDate = (0, object_1.recursiveCheckObject)(addioCart, 'canceled_by.date');
228
- if (!!cancelledDate)
229
- g2OrderObj.setDateAnnulation((0, data_1.formatDate)(cancelledDate));
230
- }
231
- if (!!addioCart.payment_reference && !creditNote) {
232
- g2OrderObj.setNotes("#ref. paiement : ".concat(addioCart.payment_reference, "\r\n"));
233
- }
234
- if (!!(0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.credit_card_postal_code') && !creditNote) {
235
- g2OrderObj.setNotes("code postal de la carte de cr\u00E9dit : ".concat((0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.credit_card_postal_code'), "\r\n"));
236
- }
237
- };
238
- var _constructBillingData = function (data) {
239
- var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space;
240
- var cartBillingInfo = addioCart.billing_address;
241
- if (!!cartBillingInfo) {
242
- var g2BillingInfo = [];
243
- var customerPhone = _getCustomerData(addioCart, 'phone', space);
244
- var address = (0, cart_2.getAddressStrArray)(cartBillingInfo.address);
245
- if (!(0, cart_1.isPro)(addioCart)) {
246
- g2BillingInfo.push(_getCustomerData(addioCart, 'fullname', space) || '');
247
- g2BillingInfo.push(!!customerPhone ? (0, data_1.formatPhoneNumberPrint)(customerPhone) : '');
248
- if (!(0, cart_2.checkIfShippingSameAsBilling)(addioCart)) {
249
- g2BillingInfo.push.apply(g2BillingInfo, address);
250
- }
251
- }
252
- else {
253
- var customerCompanyName = (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.company_name');
254
- g2BillingInfo.push(customerCompanyName ? customerCompanyName : '');
255
- g2BillingInfo.push.apply(g2BillingInfo, address);
256
- var poNumber = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.orderOrProjectNumber');
257
- if (!!poNumber)
258
- g2BillingInfo.push("PO ".concat(poNumber));
259
- }
260
- g2OrderObj.setVenduA(g2BillingInfo.filter(function (i) { return !!i; }).join('\r\n'));
261
- }
262
- else {
263
- g2OrderObj.setVenduA(null);
264
- }
265
- };
266
- var _constructShippingData = function (data) {
267
- var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, creditNote = data.creditNote;
268
- var cartRef = addioCart.ref || '';
269
- var invoiceRef = addioCart.invoice_ref || '';
270
- if (!!creditNote) {
271
- var refundStore = space.preferences.stores.get().find(function (s) { return s.id == creditNote.groupCode; });
272
- g2OrderObj.setLivreaNom("RETOUR".concat(!!refundStore ? ' ' + refundStore.name : ''));
273
- g2OrderObj.setLivreaDepartement("".concat((0, refunds_1.formatRefundInvoiceRef)(creditNote.ref, space, creditNote.groupCode).replace('-', '')).concat(!!cartRef ? '/' : '').concat(cartRef));
274
- g2OrderObj.setTransport('RETOUR');
275
- }
276
- else if (!!addioCart.is_pickup) {
277
- var pickupStoreID_1 = addioCart.current_store_id || (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.pickup_store.id') || '';
278
- var sameStore = space.preferences.stores.get().find(function (s) { return s.id == pickupStoreID_1; });
279
- g2OrderObj.setLivreaNom("PICK UP".concat(!!sameStore ? ' ' + sameStore.name : ''));
280
- g2OrderObj.setLivreaDepartement("".concat(cartRef).concat(!!cartRef && !!invoiceRef ? '/' : '').concat(invoiceRef.replace('-', '')));
281
- g2OrderObj.setTransport('PICK-UP');
282
- }
283
- else {
284
- var cartShippingInfo = addioCart.shipping_address;
285
- if (!!cartShippingInfo) {
286
- g2OrderObj.setLivreaNom(null);
287
- g2OrderObj.setLivreaTelephone(null);
288
- g2OrderObj.setLivreaAdresse("".concat(!!cartShippingInfo.address.app ? cartShippingInfo.address.app + ' - ' : '').concat(cartShippingInfo.address.line1));
289
- g2OrderObj.setLivreaVille(cartShippingInfo.address.city);
290
- var provinceCode = (0, cart_2.getCurrentProvince)(cartShippingInfo.address.state);
291
- g2OrderObj.setLivreaProvince(!!provinceCode ? provinceCode.value : cartShippingInfo.address.state);
292
- g2OrderObj.setLivreaCodePostal(cartShippingInfo.address.postal_code);
293
- g2OrderObj.setLivreaPays(cartShippingInfo.address.country);
294
- }
295
- g2OrderObj.setTransport('LIVRAISON');
296
- }
297
- if (!creditNote) {
298
- var cartForDate = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.delivery_or_pickup_date');
299
- var timeOfDay = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.delivery_period');
300
- if (!!cartForDate) {
301
- var dateToUse = (0, data_1.formatDate)(cartForDate);
302
- if (timeOfDay) {
303
- if (timeOfDay == 'AM')
304
- dateToUse.setHours(8);
305
- else
306
- dateToUse.setHours(13);
307
- }
308
- else {
309
- dateToUse.setHours(0);
310
- }
311
- dateToUse.setMinutes(0);
312
- dateToUse.setSeconds(0);
313
- g2OrderObj.setDateRequis(dateToUse);
314
- }
315
- else {
316
- g2OrderObj.setDateRequis(null);
317
- }
318
- }
319
- };
320
- var _constructCustomerData = function (data) { return __awaiter(void 0, void 0, void 0, function () {
321
- var addioCart, g2OrderObj, space, orgId, joursEcheance, joursReglementAnticipe, pourcEscReglementAnticipe, customerID, token, g2Customers, sameCustomer, valueToUse, e_3;
322
- return __generator(this, function (_a) {
323
- switch (_a.label) {
324
- case 0:
325
- addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, orgId = data.orgId;
326
- joursEcheance = null;
327
- joursReglementAnticipe = null;
328
- pourcEscReglementAnticipe = null;
329
- customerID = _getCustomerData(addioCart, 'id', space);
330
- if (!!!customerID) return [3, 4];
331
- _a.label = 1;
332
- case 1:
333
- _a.trys.push([1, 3, , 4]);
334
- token = (0, context_1.getSpaceToken)(space, orgId);
335
- if (!!!token)
336
- throw 'Could not generate space token';
337
- return [4, (0, g2_1.getG2Customer)(token, customerID)];
338
- case 2:
339
- g2Customers = _a.sent();
340
- if (!!!g2Customers.length)
341
- throw "Could not find customer in G2 with ID ".concat(customerID);
342
- sameCustomer = g2Customers[0];
343
- joursEcheance = sameCustomer.conditionsReglements.conditionReglement.joursÉchéance;
344
- joursReglementAnticipe = sameCustomer.conditionsReglements.conditionReglement.joursRèglementAnticipé;
345
- pourcEscReglementAnticipe = sameCustomer.conditionsReglements.conditionReglement.pourcEscRèglementAnticipé;
346
- if (!!!g2OrderObj.data().commandePar && (0, cart_1.isPro)(addioCart)) {
347
- valueToUse = sameCustomer.client.personneRessourceVentes || '';
348
- valueToUse = valueToUse.slice(0, 50);
349
- g2OrderObj.setCommandePar(valueToUse || null);
350
- }
351
- return [3, 4];
352
- case 3:
353
- e_3 = _a.sent();
354
- console.error('could not fetch customer term details: ', e_3.toString());
355
- return [3, 4];
356
- case 4:
357
- g2OrderObj.setJoursEcheance(joursEcheance);
358
- g2OrderObj.setJoursReglementAnticipe(joursReglementAnticipe);
359
- g2OrderObj.setPourcEscReglementAnticipe(pourcEscReglementAnticipe);
360
- return [2];
361
- }
362
- });
363
- }); };
364
- var _constructAllItems = function (data) { return __awaiter(void 0, void 0, void 0, function () {
365
- var allOptions, subtotalToUse, e_4, e_5, e_6, e_7, logTxt;
366
- var _a;
367
- return __generator(this, function (_b) {
368
- switch (_b.label) {
369
- case 0:
370
- if (!!!data.addioCart)
371
- return [2];
372
- allOptions = _getTransformCartProps(data.addioCart);
373
- subtotalToUse = 0;
374
- _b.label = 1;
375
- case 1:
376
- _b.trys.push([1, 3, , 4]);
377
- return [4, _constructProductItems(allOptions, data)];
378
- case 2:
379
- subtotalToUse = _b.sent();
380
- return [3, 4];
381
- case 3:
382
- e_4 = _b.sent();
383
- console.error('error on transforming items for G2: ', e_4.toString());
384
- return [3, 4];
385
- case 4:
386
- if (!!!subtotalToUse) return [3, 8];
387
- _b.label = 5;
388
- case 5:
389
- _b.trys.push([5, 7, , 8]);
390
- return [4, _constructPromoItems(subtotalToUse, allOptions, data)];
391
- case 6:
392
- subtotalToUse = _b.sent();
393
- return [3, 8];
394
- case 7:
395
- e_5 = _b.sent();
396
- console.error('error on transforming promos for G2: ', e_5.toString());
397
- return [3, 8];
398
- case 8:
399
- if (!(!!data.creditNote && !!data.creditNote.refundFeesAmount)) return [3, 12];
400
- _b.label = 9;
401
- case 9:
402
- _b.trys.push([9, 11, , 12]);
403
- return [4, _constructRefundFeeItem(data)];
404
- case 10:
405
- _b.sent();
406
- return [3, 12];
407
- case 11:
408
- e_6 = _b.sent();
409
- console.error('error on adding refund fee item to G2 order: ', e_6.toString());
410
- return [3, 12];
411
- case 12:
412
- if (!allOptions.shippingToOntario) return [3, 16];
413
- _b.label = 13;
414
- case 13:
415
- _b.trys.push([13, 15, , 16]);
416
- return [4, _constructOntarioTaxItem(subtotalToUse, data)];
417
- case 14:
418
- _b.sent();
419
- return [3, 16];
420
- case 15:
421
- e_7 = _b.sent();
422
- console.error('error on adding Ontario tax item to G2 order: ', e_7.toString());
423
- return [3, 16];
424
- case 16:
425
- if (!data.creditNote) {
426
- _constructCartTypeItem(data);
427
- _constructPersonOnSiteItem(data);
428
- }
429
- if (!(subtotalToUse.toFixed(2) !== data.addioCart.subtotal.toFixed(2))) return [3, 19];
430
- logTxt = "Something went wrong! Subtotals don't match... calculated subtotal: ".concat(subtotalToUse.toFixed(2), ", cart subtotal: ").concat(data.addioCart.subtotal.toFixed(2));
431
- if (!!__1.isTestEnv) return [3, 18];
432
- return [4, (0, logs_1.SystemLog)({
433
- clientName: "sdk-admin | G2 | _constructAllItems (G2 order), space: ".concat((0, services_1.getSpaceInitialsByID)(data.space.data().id)),
434
- clientToken: (_a = process.env.NEXT_PUBLIC_LOG_SYSTEM_KEY) !== null && _a !== void 0 ? _a : ''
435
- }, logs_1.LogType.INFO, logTxt)];
436
- case 17:
437
- _b.sent();
438
- return [3, 19];
439
- case 18:
440
- console.error(logTxt);
441
- _b.label = 19;
442
- case 19: return [2];
443
- }
444
- });
445
- }); };
446
- var _constructProductItems = function (allOptions, data) { return __awaiter(void 0, void 0, void 0, function () {
447
- var calculatedSubtotal, allItems, _i, allItems_1, item, _a, g2Item, internalMsgForItem, escompteApplied, e_8;
448
- return __generator(this, function (_b) {
449
- switch (_b.label) {
450
- case 0:
451
- if (!!!data.addioCart)
452
- return [2, 0];
453
- calculatedSubtotal = 0;
454
- allItems = (0, cart_1.orderCartItems)(data.addioCart);
455
- _i = 0, allItems_1 = allItems;
456
- _b.label = 1;
457
- case 1:
458
- if (!(_i < allItems_1.length)) return [3, 6];
459
- item = allItems_1[_i];
460
- _b.label = 2;
461
- case 2:
462
- _b.trys.push([2, 4, , 5]);
463
- return [4, _transformCartItemToPartialG2Item(item, data.space, data.orgId, allOptions)];
464
- case 3:
465
- _a = _b.sent(), g2Item = _a.g2Item, internalMsgForItem = _a.internalMsgForItem;
466
- data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
467
- escompteApplied = !!g2Item.pourcEscompte ? (100 - g2Item.pourcEscompte) / 100 : 1;
468
- calculatedSubtotal += (g2Item.prixUnitaire || 0) * escompteApplied * (g2Item.quantite || 0);
469
- return [3, 5];
470
- case 4:
471
- e_8 = _b.sent();
472
- console.error('error on transforming item to G2 item: ', e_8.toString());
473
- return [3, 5];
474
- case 5:
475
- _i++;
476
- return [3, 1];
477
- case 6: return [2, calculatedSubtotal];
478
- }
479
- });
480
- }); };
481
- var _constructPromoItems = function (subtotalToUse, allOptions, data) { return __awaiter(void 0, void 0, void 0, function () {
482
- var allPromos, allNonIncentivePromos, promoAmountData, calculatedSubtotal, _loop_1, _i, promoAmountData_1, promoAmounts, incentive, sameDiscountRule, externalValueForG2, _a, g2Item, internalMsgForItem;
483
- var _b;
484
- return __generator(this, function (_c) {
485
- switch (_c.label) {
486
- case 0:
487
- if (!!!data.addioCart)
488
- return [2, 0];
489
- allPromos = (0, discount_1.getCartPromo)(data.addioCart) || [];
490
- allNonIncentivePromos = allPromos.filter(function (p) { return p.applies_to !== Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
491
- promoAmountData = (0, cart_2.getAllPromoAppliedPrices)(allNonIncentivePromos, subtotalToUse, data.addioCart.items, data.space, !!data.creditNote);
492
- calculatedSubtotal = subtotalToUse;
493
- _loop_1 = function (promoAmounts) {
494
- var samePromoInCartApplied, promoToCheckID_1, sameDiscountRule, externalValueForG2, amountToUseForQuantity, _d, g2Item, internalMsgForItem, e_9;
495
- return __generator(this, function (_e) {
496
- switch (_e.label) {
497
- case 0:
498
- _e.trys.push([0, 2, , 3]);
499
- samePromoInCartApplied = allPromos.find(function (p) { return p.discount_id === promoAmounts.id; });
500
- promoToCheckID_1 = (_b = promoAmounts.id) !== null && _b !== void 0 ? _b : '';
501
- if (!!!samePromoInCartApplied) {
502
- console.error('could not find corresponding cart promo for id: ', promoAmounts.id);
503
- return [2, "continue"];
504
- }
505
- sameDiscountRule = data.addioCart.discount_rules.find(function (d) { return d.id == promoToCheckID_1; });
506
- externalValueForG2 = !!sameDiscountRule
507
- ? (0, object_1.recursiveCheckObject)(sameDiscountRule, 'external_values.noArticle')
508
- : undefined;
509
- amountToUseForQuantity = [Cart_1.CartPromoAppliesToEnum.PRODUCT, Cart_1.CartPromoAppliesToEnum.ITEMS].includes(promoAmounts.appliesTo)
510
- ? promoAmounts.productTotalAmount
511
- : samePromoInCartApplied.amount_unit && samePromoInCartApplied.amount_unit.includes('amount')
512
- ? 1
513
- : promoAmounts.subtotalBefore;
514
- return [4, _transformCartPromoToPartialG2Item(samePromoInCartApplied, externalValueForG2, amountToUseForQuantity, data.space, data.orgId, allOptions)];
515
- case 1:
516
- _d = _e.sent(), g2Item = _d.g2Item, internalMsgForItem = _d.internalMsgForItem;
517
- data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
518
- return [3, 3];
519
- case 2:
520
- e_9 = _e.sent();
521
- console.error('error on transforming item to G2 item: ', e_9.toString());
522
- return [3, 3];
523
- case 3: return [2];
524
- }
525
- });
526
- };
527
- _i = 0, promoAmountData_1 = promoAmountData;
528
- _c.label = 1;
529
- case 1:
530
- if (!(_i < promoAmountData_1.length)) return [3, 4];
531
- promoAmounts = promoAmountData_1[_i];
532
- return [5, _loop_1(promoAmounts)];
533
- case 2:
534
- _c.sent();
535
- _c.label = 3;
536
- case 3:
537
- _i++;
538
- return [3, 1];
539
- case 4:
540
- if (promoAmountData.length >= 1) {
541
- calculatedSubtotal = promoAmountData[promoAmountData.length - 1].subtotalAfter;
542
- }
543
- incentive = allPromos.find(function (p) { return p.applies_to === Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
544
- if (!!!incentive) return [3, 6];
545
- sameDiscountRule = data.addioCart.discount_rules.find(function (d) { return d.id == incentive.discount_id; });
546
- externalValueForG2 = !!sameDiscountRule
547
- ? (0, object_1.recursiveCheckObject)(sameDiscountRule, 'external_values.noArticle')
548
- : undefined;
549
- return [4, _transformCartPromoToPartialG2Item(incentive, externalValueForG2, calculatedSubtotal, data.space, data.orgId, allOptions)];
550
- case 5:
551
- _a = _c.sent(), g2Item = _a.g2Item, internalMsgForItem = _a.internalMsgForItem;
552
- data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
553
- _c.label = 6;
554
- case 6: return [2, calculatedSubtotal];
555
- }
556
- });
557
- }); };
558
- var _constructRefundFeeItem = function (data) { return __awaiter(void 0, void 0, void 0, function () {
559
- var refundFeeG2Prod, refundFeeG2Sku, quantityForFee, transformedRefundProduct;
560
- return __generator(this, function (_a) {
561
- switch (_a.label) {
562
- case 0:
563
- if (!!!data.creditNote)
564
- return [2];
565
- return [4, (0, g2_1.fetchProductFromG2WithSku)('320000000-1', data.space, data.orgId, true)];
566
- case 1:
567
- refundFeeG2Prod = _a.sent();
568
- refundFeeG2Sku = !!refundFeeG2Prod ? refundFeeG2Prod.article.noArticle : undefined;
569
- if (!!!refundFeeG2Prod)
570
- console.error('error on fetching refund fee from G2: could not fetch');
571
- quantityForFee = !!refundFeeG2Prod ? data.creditNote.refundFeesAmount / refundFeeG2Prod.prix[0].prix : 0;
572
- transformedRefundProduct = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: refundFeeG2Sku || '999999999-1', description: !!refundFeeG2Prod && refundFeeG2Prod.article.description
573
- ? refundFeeG2Prod.article.description
574
- : 'Frais de retour', sku: refundFeeG2Sku || '320000000-1', quantite: quantityForFee, prixUnitaire: !!refundFeeG2Prod ? refundFeeG2Prod.prix[0].prix : 0, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
575
- data.g2OrderObj.addItemLineToOrder(transformedRefundProduct);
576
- return [2];
577
- }
578
- });
579
- }); };
580
- var _constructOntarioTaxItem = function (currentSubtotal, data) { return __awaiter(void 0, void 0, void 0, function () {
581
- var ontarioTaxG2Prod, amountForTax, transformedTaxProduct;
582
- return __generator(this, function (_a) {
583
- switch (_a.label) {
584
- case 0: return [4, (0, g2_1.fetchProductFromG2WithSku)('TAXEONTARIO', data.space, data.orgId, true)];
585
- case 1:
586
- ontarioTaxG2Prod = _a.sent();
587
- if (!!!ontarioTaxG2Prod) {
588
- console.error('Error on fetching ontarioTax product from G2: could not fetch!');
589
- }
590
- amountForTax = !!ontarioTaxG2Prod && !!ontarioTaxG2Prod.prix[0] ? ontarioTaxG2Prod.prix[0].prix : undefined;
591
- if (typeof amountForTax == 'undefined') {
592
- console.error('could not fetch price for Ontario tax amount');
593
- amountForTax = 0;
594
- }
595
- transformedTaxProduct = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.noArticle ? ontarioTaxG2Prod.article.noArticle : '999999999-1', description: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.description
596
- ? ontarioTaxG2Prod.article.description
597
- : 'Taxes pour livraison en Ontario', sku: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.noArticle ? ontarioTaxG2Prod.article.noArticle : 'TAXEONTARIO', quantite: currentSubtotal, prixUnitaire: amountForTax, pourcEscompte: 0, taxableTPS: false, taxableTVQ: false });
598
- data.g2OrderObj.addItemLineToOrder(transformedTaxProduct);
599
- return [2];
600
- }
601
- });
602
- }); };
603
- var _constructCartTypeItem = function (data) {
604
- var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj;
605
- if (!!addioCart.is_pickup)
606
- return;
607
- var cartProps = _getTransformCartProps(addioCart);
608
- var allItems = addioCart.items;
609
- if (![cart_3.CartGeneralTypeEnum.BETON, cart_3.CartGeneralTypeEnum.GRASS].includes(cartProps.cartType))
610
- return;
611
- var palQty = (0, expedition_1.getPalletQty)(allItems, cartProps.cartType == cart_3.CartGeneralTypeEnum.BETON ? 'concrete' : 'grass');
612
- var itemMsgStr = '';
613
- if (cartProps.cartType == cart_3.CartGeneralTypeEnum.BETON) {
614
- itemMsgStr += "".concat(palQty, " BETON");
615
- var allAccessories = allItems.filter(function (i) {
616
- var cat2 = (0, object_1.recursiveCheckObject)(i, 'external_values.catégorie2') || '';
617
- return !!cat2.includes('ACC') && !!(0, object_1.recursiveCheckObject)(i, 'external_values.catégorie1') && !i.is_service;
618
- });
619
- for (var _i = 0, allAccessories_1 = allAccessories; _i < allAccessories_1.length; _i++) {
620
- var acc = allAccessories_1[_i];
621
- itemMsgStr += " + ".concat((0, object_1.recursiveCheckObject)(acc, 'external_values.catégorie1'));
622
- }
623
- }
624
- else {
625
- itemMsgStr += "".concat(palQty % 1 != 0 ? Math.floor(palQty) + '½' : palQty, " GAZON");
626
- var principalGrassItem = allItems.find(function (i) { return (0, products_2.checkIfProductIsOfType)(i, 'gazon', true) && !i.is_service && i.sku !== products_1.kentucky; });
627
- if (!!principalGrassItem)
628
- itemMsgStr += " ".concat((0, locale_1.getLocaleOfDictionnary)(principalGrassItem.name, addioCart.locale).toUpperCase());
629
- if ((0, cart_1.checkIfCartContainsType)(cart_3.CartGeneralTypeEnum.INSTALLATION, addioCart)) {
630
- itemMsgStr += ' EN INSTALLATION';
631
- if (allItems.some(function (i) { return i.parent_slug == 'installation-fertilisation'; }))
632
- itemMsgStr += " + FERTILISATION";
633
- if (allItems.some(function (i) { return i.parent_slug == 'installation-roulage'; }))
634
- itemMsgStr += " + ROULAGE";
635
- var installAddOnStr = [];
636
- var _loop_2 = function (installProAddOn) {
637
- if (allItems.some(function (i) { return i.sku === products_1.installationProSpecSkus[installProAddOn]; })) {
638
- switch (installProAddOn) {
639
- case 'bord_rue':
640
- installAddOnStr.push('BORD DE RUE');
641
- break;
642
- case 'piste_cyclable':
643
- installAddOnStr.push('PISTE CYCLABLE');
644
- break;
645
- case 'petit_espace':
646
- installAddOnStr.push('ESPACE INSUFFISANT');
647
- break;
648
- case 'pentes':
649
- installAddOnStr.push('PIQUETAGE');
650
- break;
651
- case 'nivellement_necessaire':
652
- installAddOnStr.push('NIVELLEMENT');
653
- break;
654
- }
655
- }
656
- };
657
- for (var _a = 0, _b = Object.keys(products_1.installationProSpecSkus); _a < _b.length; _a++) {
658
- var installProAddOn = _b[_a];
659
- _loop_2(installProAddOn);
660
- }
661
- if (installAddOnStr.length > 0)
662
- itemMsgStr += " + ".concat(installAddOnStr.join(' | '));
663
- }
664
- }
665
- var constructedItem = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { message: itemMsgStr, quantite: null, prixUnitaire: null, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
666
- g2OrderObj.addItemLineToOrder(constructedItem);
667
- };
668
- var _constructPersonOnSiteItem = function (data) {
669
- var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj;
670
- var cartProps = _getTransformCartProps(addioCart);
671
- if (!!cartProps.isPickup)
672
- return;
673
- var personOnSiteName = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.personOnSiteName');
674
- var personOnSitePhone = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.personOnSitePhone');
675
- if (!!!personOnSiteName && !!!personOnSitePhone)
676
- return;
677
- var constructedItem = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: 'APPEL', message: "* APPELER 30 MIN AVANT ".concat(personOnSiteName.trim(), " ").concat((0, data_1.formatPhoneNumberPrint)(personOnSitePhone).trim()), quantite: 0, prixUnitaire: 0, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
678
- g2OrderObj.addItemLineToOrder(constructedItem);
679
- };
680
- var _transformCartItemToPartialG2Item = function (item, space, orgId, options) { return __awaiter(void 0, void 0, void 0, function () {
681
- var extraMsg, isCustomProd, isEscSuppItem, updatedPriceMsg, updatedEscompteMsg, defaultSku, transG2Item, prodIsTaxExempt, e_10, allMsgs;
682
- var _a;
683
- return __generator(this, function (_b) {
684
- switch (_b.label) {
685
- case 0:
686
- extraMsg = [];
687
- isCustomProd = !!item.is_temp_prod;
688
- isEscSuppItem = (0, g2_1.isEscompteSuppItem)(item.sku);
689
- updatedPriceMsg = !!(0, cart_2.priceWasOverridden)(item)
690
- ? (0, object_1.recursiveCheckObject)(item, 'discount_price.authorization.note')
691
- : undefined;
692
- updatedEscompteMsg = !!(0, cart_2.priceWasOverridden)(item)
693
- ? (0, object_1.recursiveCheckObject)(item, 'promo_price.authorization.note')
694
- : '';
695
- defaultSku = (0, object_1.recursiveCheckObject)(item, 'external_values.noArticle') || item.sku;
696
- if (isEscSuppItem)
697
- defaultSku = (0, string_1.splitFromFirstChar)('-', defaultSku)[0];
698
- transG2Item = (0, exports.getDefaultG2OrderItem)(defaultSku);
699
- transG2Item.description = (_a = (0, locale_1.getLocaleOfDictionnary)(item.name, options.cartLocale)) !== null && _a !== void 0 ? _a : null;
700
- transG2Item.quantite = isEscSuppItem ? (0, round_1.default)(item.qte, 2) : item.qte;
701
- transG2Item.prixUnitaire = (0, cart_1.getAppliedPrice)(item, {
702
- isBookingBeton: options.cartType == cart_3.CartGeneralTypeEnum.BOOKING_BETON
703
- });
704
- transG2Item.pourcEscompte = (0, cart_1.getPercentFromReducedPrice)(item, !!options.isPro) || 0;
705
- transG2Item.prixModifieUtilisateur = !!updatedPriceMsg || (isCustomProd && !isEscSuppItem);
706
- transG2Item.escompteModifieUtilisateur = !!updatedEscompteMsg || (isCustomProd && !isEscSuppItem);
707
- prodIsTaxExempt = !!item.tax_exemption || options.shippingToOntario;
708
- transG2Item.taxableTPS = !prodIsTaxExempt;
709
- transG2Item.taxableTVQ = !prodIsTaxExempt;
710
- _b.label = 1;
711
- case 1:
712
- _b.trys.push([1, 3, , 4]);
713
- return [4, _updateItemWithG2Prod(defaultSku, transG2Item, options, space, orgId, {
714
- noArticle: true,
715
- description: true,
716
- message: true
717
- }, function (msg) { return !!msg && extraMsg.push(msg); })];
718
- case 2:
719
- transG2Item = _b.sent();
720
- return [3, 4];
721
- case 3:
722
- e_10 = _b.sent();
723
- console.error("error on fetching prod from G2 for sku ".concat(defaultSku, ": "), e_10.toString());
724
- return [3, 4];
725
- case 4:
726
- if (!!isCustomProd && !isEscSuppItem)
727
- extraMsg.push("Produit ajout\u00E9 manuellement");
728
- else {
729
- allMsgs = [];
730
- if (!!updatedPriceMsg)
731
- allMsgs.push("Message d'autorisation (prix unitaire modifi\u00E9) : ".concat(updatedPriceMsg));
732
- if (!!updatedEscompteMsg && updatedPriceMsg != updatedEscompteMsg)
733
- allMsgs.push("Message d'autorisation (% escompte modifi\u00E9) : ".concat(updatedEscompteMsg));
734
- if (allMsgs.length)
735
- extraMsg.push(allMsgs.join(' | '));
736
- }
737
- return [2, {
738
- g2Item: transG2Item,
739
- internalMsgForItem: !!extraMsg.length ? "".concat(extraMsg.join(', ')) : ''
740
- }];
741
- }
742
- });
743
- }); };
744
- var _transformCartPromoToPartialG2Item = function (promo, associatedNoArticle, quantityToUse, space, orgId, options) { return __awaiter(void 0, void 0, void 0, function () {
745
- var extraMsg, defaultSku, transG2Item, promoResultAmountRemoved, shouldRemoveTaxes, e_11;
746
- return __generator(this, function (_a) {
747
- switch (_a.label) {
748
- case 0:
749
- extraMsg = [];
750
- defaultSku = associatedNoArticle || '';
751
- if (!!!defaultSku && !!promo.promo_code)
752
- defaultSku = promo.promo_code;
753
- transG2Item = (0, exports.getDefaultG2OrderItem)(defaultSku);
754
- transG2Item.description = promo.promo_name;
755
- transG2Item.quantite = quantityToUse;
756
- promoResultAmountRemoved = 0;
757
- if (!!promo.amount_removed) {
758
- if (!!!promo.amount_unit || promo.amount_unit.includes('percent')) {
759
- promoResultAmountRemoved = promo.amount_removed / 100;
760
- }
761
- else {
762
- promoResultAmountRemoved = promo.amount_removed;
763
- }
764
- }
765
- transG2Item.prixUnitaire = promoResultAmountRemoved * -1;
766
- transG2Item.pourcEscompte = 0;
767
- shouldRemoveTaxes = promo.applies_to == Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES || options.shippingToOntario;
768
- transG2Item.taxableTPS = !shouldRemoveTaxes;
769
- transG2Item.taxableTVQ = !shouldRemoveTaxes;
770
- if (!!!defaultSku) return [3, 5];
771
- _a.label = 1;
772
- case 1:
773
- _a.trys.push([1, 3, , 4]);
774
- return [4, _updateItemWithG2Prod(defaultSku, transG2Item, options, space, orgId, {
775
- noArticle: true,
776
- description: true
777
- }, function (msg) { return !!msg && extraMsg.push(msg); })];
778
- case 2:
779
- transG2Item = _a.sent();
780
- return [3, 4];
781
- case 3:
782
- e_11 = _a.sent();
783
- console.error("error on fetching prod from G2 for sku ".concat(defaultSku, ": "), e_11.toString());
784
- return [3, 4];
785
- case 4: return [3, 6];
786
- case 5:
787
- transG2Item.noArticle = '999999999-1';
788
- transG2Item.pourcEscompte = 0;
789
- _a.label = 6;
790
- case 6:
791
- if (transG2Item.noArticle == '999999999-1') {
792
- transG2Item.prixModifieUtilisateur = true;
793
- transG2Item.escompteModifieUtilisateur = true;
794
- }
795
- return [2, {
796
- g2Item: transG2Item,
797
- internalMsgForItem: !!extraMsg.length ? "".concat(extraMsg.join(', ')) : ''
798
- }];
799
- }
800
- });
801
- }); };
802
- var _updateItemWithG2Prod = function (sku, transG2Item, options, space, orgId, valuesToUpdate, addMessageToG2Order) { return __awaiter(void 0, void 0, void 0, function () {
803
- var g2Prod, g2Description;
804
- var _a;
805
- return __generator(this, function (_b) {
806
- switch (_b.label) {
807
- case 0: return [4, (0, g2_1.fetchProductFromG2WithSku)(sku, space, orgId)];
808
- case 1:
809
- g2Prod = _b.sent();
810
- if (!!!g2Prod) return [3, 2];
811
- if (valuesToUpdate.noArticle) {
812
- if (!!g2Prod.noArticle && g2Prod.noArticle !== sku) {
813
- transG2Item.noArticle = g2Prod.noArticle;
814
- transG2Item.sku = sku;
815
- }
816
- }
817
- if (valuesToUpdate.description) {
818
- g2Description = options.cartLocale == 'en' && !!g2Prod.article.description2
819
- ? g2Prod.article.description2
820
- : g2Prod.article.description;
821
- if (!!g2Description && g2Description !== transG2Item.description) {
822
- transG2Item.description = g2Prod.article.description;
823
- }
824
- }
825
- return [3, 4];
826
- case 2:
827
- if (valuesToUpdate.noArticle) {
828
- transG2Item.noArticle = '999999999-1';
829
- transG2Item.sku = sku;
830
- transG2Item.pourcEscompte = 0;
831
- if (!!addMessageToG2Order)
832
- addMessageToG2Order("Sku non-trouv\u00E9 dans G2 : ".concat(sku));
833
- }
834
- if (!!sku.includes('test')) return [3, 4];
835
- console.error("Error - G2 equivalent not found for sku: ".concat(sku));
836
- return [4, (0, logs_1.SystemLog)({
837
- clientName: "sdk-admin | G2 | transformCartItemToG2Item | ".concat((0, services_1.getSpaceInitialsByID)(space.data().id)),
838
- clientToken: (_a = process.env.NEXT_PUBLIC_LOG_SYSTEM_KEY) !== null && _a !== void 0 ? _a : ''
839
- }, logs_1.LogType.INFO, "G2 equivalent not found for sku: ".concat(sku))];
840
- case 3:
841
- _b.sent();
842
- _b.label = 4;
843
- case 4: return [2, transG2Item];
844
- }
845
- });
846
- }); };
847
- var transformCreditNoteToG2Order = function (creditNote, cartId, space, orgId, isTest) { return __awaiter(void 0, void 0, void 0, function () {
848
- var g2Service, correspondingCart, cartQuery, e_12, currentCartPromos, transformedG2Order;
849
- return __generator(this, function (_a) {
850
- switch (_a.label) {
851
- case 0:
852
- g2Service = space.services({ field: 'external_service_name', value: 'G2' });
853
- if (!!!g2Service.length ||
854
- !!!(0, object_1.recursiveCheckObject)(g2Service[0], 'external_service_infos.specific_actions.save_order_to_g2')) {
855
- console.error('space does not have G2 in external_services or does not save order property. Returning!');
856
- return [2];
857
- }
858
- _a.label = 1;
859
- case 1:
860
- _a.trys.push([1, 3, , 4]);
861
- return [4, space.carts.get({ query: [{ field: 'id', operator: '==', value: cartId }] })];
862
- case 2:
863
- cartQuery = _a.sent();
864
- if (!!cartQuery && cartQuery.length > 0)
865
- correspondingCart = cartQuery[0].data();
866
- return [3, 4];
867
- case 3:
868
- e_12 = _a.sent();
869
- console.error('could not fetch corresponding cart from database: ', e_12.toString());
870
- return [3, 4];
871
- case 4:
872
- if (!!!correspondingCart) {
873
- console.log("couldn't find cart! returning");
874
- return [2];
875
- }
876
- correspondingCart.paid_at = creditNote.createdAt;
877
- if (!!correspondingCart.processed_by) {
878
- correspondingCart.processed_by = __assign(__assign({}, correspondingCart.processed_by), { date: creditNote.createdAt });
879
- }
880
- correspondingCart.items = correspondingCart.items
881
- .map(function (i) {
882
- var sameInRefund = creditNote.items.find(function (refItem) { return refItem.itemId === i.parent_product_id && refItem.variantId === i.sku; });
883
- if (!!!sameInRefund)
884
- return;
885
- i.qte = Number(sameInRefund.creditedQty) * -1;
886
- return i;
887
- })
888
- .filter(function (i) { return !!i; });
889
- correspondingCart.subtotal = creditNote.subtotal * -1;
890
- correspondingCart.total = creditNote.total * -1;
891
- correspondingCart.taxes = creditNote.taxes.map(function (t) { return (__assign(__assign({}, t), { taxes: t.taxes.map(function (tax) { return (__assign(__assign({}, tax), { amount: (tax.amount || 0) * -1 })); }) })); });
892
- if (!!correspondingCart.subtotalWithoutPromotions) {
893
- correspondingCart.subtotalWithoutPromotions = creditNote.subtotalWithoutPromotions * -1;
894
- }
895
- currentCartPromos = (0, discount_1.getCartPromo)(__assign({}, correspondingCart)) || [];
896
- correspondingCart.promo_after_taxes_amount = creditNote.promoAfterTaxesAmount;
897
- correspondingCart.cart_promos_applied = (creditNote.promos || [])
898
- .map(function (p) {
899
- var sameInCreditNote = currentCartPromos.find(function (cartPromo) { return p.discountId == cartPromo.discount_id; });
900
- if (!!sameInCreditNote) {
901
- if (sameInCreditNote.applies_to === Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES &&
902
- creditNote.promoAfterTaxesAmount) {
903
- sameInCreditNote.amount_removed = creditNote.promoAfterTaxesAmount;
904
- }
905
- else if (!p.unit.includes('percent')) {
906
- sameInCreditNote.amount_removed = p.refundedAmount;
907
- }
908
- }
909
- return sameInCreditNote;
910
- })
911
- .filter(function (p) { return !!p; });
912
- return [4, (0, exports.transformAddioCartToG2Order)(correspondingCart, space, orgId, isTest, creditNote)];
913
- case 5:
914
- transformedG2Order = _a.sent();
915
- return [2, transformedG2Order];
916
- }
917
- });
918
- }); };
919
- exports.transformCreditNoteToG2Order = transformCreditNoteToG2Order;
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 __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.transformCreditNoteToG2Order = exports.transformAddioCartToG2Order = exports.getDefaultG2OrderItem = void 0;
54
+ var G2OrderSlip_1 = __importDefault(require("./G2OrderSlip"));
55
+ var logs_1 = require("../logs");
56
+ var round_1 = __importDefault(require("lodash/round"));
57
+ var products_1 = require("../../rules/GR/constants/products");
58
+ var cart_1 = require("../../rules/GR/utils/cart");
59
+ var expedition_1 = require("../../rules/GR/utils/expedition");
60
+ var g2_1 = require("../../rules/GR/utils/g2");
61
+ var products_2 = require("../../rules/GR/utils/products");
62
+ var cart_2 = require("../../utils/cart");
63
+ var data_1 = require("../../utils/data");
64
+ var discount_1 = require("../../utils/discount");
65
+ var locale_1 = require("../../utils/locale");
66
+ var object_1 = require("../../utils/object");
67
+ var services_1 = require("../../utils/services");
68
+ var context_1 = require("../../utils/context");
69
+ var string_1 = require("../../utils/string");
70
+ var __1 = require("../..");
71
+ var Cart_1 = require("../../Interfaces/Cart");
72
+ var cart_3 = require("../../rules/GR/interfaces/cart");
73
+ var refunds_1 = require("../../utils/refunds");
74
+ var getDefaultG2OrderItem = function (noArticle) { return ({
75
+ noArticle: noArticle || '',
76
+ libreNum1: 0,
77
+ libreNum2: 0,
78
+ libreNum3: 0,
79
+ referenceArticleEquivalent: 0,
80
+ pourcCommission: 0,
81
+ prixDetailSuggere: 0,
82
+ prixMinimum: 0,
83
+ montantCommission: 0,
84
+ coutdeVenteUnitaire: 0
85
+ }); };
86
+ exports.getDefaultG2OrderItem = getDefaultG2OrderItem;
87
+ var transformAddioCartToG2Order = function (addioCart, space, orgId, isTest, creditNote) { return __awaiter(void 0, void 0, void 0, function () {
88
+ var g2Service, g2OrderObj, data, e_1;
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0:
92
+ if (addioCart.status < Cart_1.CartStatusEnum.CHECKOUT_PAYMENT_SUCCESS) {
93
+ console.error("can't create an order slip for a non-paid cart. Returning!");
94
+ return [2];
95
+ }
96
+ g2Service = space.services({ field: 'external_service_name', value: 'G2' });
97
+ if (!!!g2Service.length ||
98
+ !!!(0, object_1.recursiveCheckObject)(g2Service[0], 'external_service_infos.specific_actions.save_order_to_g2')) {
99
+ console.error('space does not have G2 in external_services or does not save order property. Returning!');
100
+ return [2];
101
+ }
102
+ g2OrderObj = new G2OrderSlip_1.default(space, orgId);
103
+ data = { addioCart: addioCart, creditNote: creditNote, g2OrderObj: g2OrderObj, space: space, orgId: orgId };
104
+ _a.label = 1;
105
+ case 1:
106
+ _a.trys.push([1, 5, , 6]);
107
+ return [4, _constructGeneralData(data, isTest)];
108
+ case 2:
109
+ _a.sent();
110
+ _constructBillingData(data);
111
+ _constructShippingData(data);
112
+ _constructExtraData(data);
113
+ return [4, _constructCustomerData(data)];
114
+ case 3:
115
+ _a.sent();
116
+ return [4, _constructAllItems(data)];
117
+ case 4:
118
+ _a.sent();
119
+ return [2, g2OrderObj];
120
+ case 5:
121
+ e_1 = _a.sent();
122
+ console.error('error on transforming cart for G2: ', e_1.toString());
123
+ throw 'error on transforming cart for G2: ' + e_1.toString();
124
+ case 6: return [2];
125
+ }
126
+ });
127
+ }); };
128
+ exports.transformAddioCartToG2Order = transformAddioCartToG2Order;
129
+ var _getCustomerData = function (addioCart, dataToReturn, space) {
130
+ switch (dataToReturn) {
131
+ case 'id':
132
+ return (0, cart_1.getClientNumberForCart)(addioCart, space, { checkIfEscPaApplied: true });
133
+ case 'fullname':
134
+ case 'firstname':
135
+ case 'lastname':
136
+ var nameToUse = ((0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_name') || '').split('%');
137
+ return dataToReturn == 'firstname'
138
+ ? nameToUse[0]
139
+ : dataToReturn == 'lastname' && nameToUse.length > 1
140
+ ? nameToUse[1]
141
+ : nameToUse.join(' ');
142
+ case 'phone':
143
+ return (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_phone') || null;
144
+ case 'termsCode':
145
+ var isDepot = (0, object_1.recursiveCheckObject)(addioCart, 'custom_payment_type.method') === Cart_1.CustomPaymentTypeEnum.DEPOT;
146
+ return !!isDepot
147
+ ? 'P.S.L.'
148
+ : (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.previous_terms_code') ||
149
+ (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.terms_code') ||
150
+ 'P.S.L.';
151
+ }
152
+ };
153
+ var _getTransformCartProps = function (addioCart) {
154
+ return {
155
+ cartLocale: !!addioCart ? addioCart.locale : 'fr',
156
+ cartType: !!addioCart ? (0, cart_1.getCartType)(addioCart) : cart_3.CartGeneralTypeEnum.BETON,
157
+ isPro: !!addioCart ? (0, cart_1.isPro)(addioCart) : false,
158
+ shippingToOntario: !!addioCart.shipping_address && (0, cart_2.getTaxProvinceFromShippingAddress)(addioCart.shipping_address.address) === 'ON',
159
+ isPickup: !!(0, object_1.recursiveCheckObject)(addioCart, 'is_pickup')
160
+ };
161
+ };
162
+ var _constructGeneralData = function (data, _isTest) { return __awaiter(void 0, void 0, void 0, function () {
163
+ var addioCart, g2OrderObj, space, creditNote, isWebCart, taxProvince, cartShippingAddress, shortCartShippingState, repNumber, cartRef, cartInvoice, customerName, customerLastName, name, tel, fullLength, orderedByValue, user, e_2;
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, creditNote = data.creditNote;
168
+ isWebCart = addioCart.cart_type == Cart_1.CartTypeEnum.WEB;
169
+ taxProvince = 'QC';
170
+ cartShippingAddress = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_address.address');
171
+ if (!!cartShippingAddress && cartShippingAddress.state != taxProvince) {
172
+ shortCartShippingState = (0, cart_2.getTaxProvinceFromShippingAddress)(cartShippingAddress);
173
+ if (!!shortCartShippingState)
174
+ taxProvince = shortCartShippingState;
175
+ }
176
+ repNumber = !!isWebCart ? 'WEB' : (0, object_1.recursiveCheckObject)(addioCart, 'created_by.user_external_id') || 'NOUVEAU';
177
+ g2OrderObj.setNoClient(_getCustomerData(addioCart, 'id', space));
178
+ g2OrderObj.setNoProvinceTaxation(taxProvince);
179
+ g2OrderObj.setCondition(_getCustomerData(addioCart, 'termsCode', space));
180
+ g2OrderObj.setNoRepresentant(repNumber);
181
+ g2OrderObj.setDate(!!addioCart.paid_at ? (0, data_1.formatDate)(addioCart.paid_at) : null);
182
+ cartRef = addioCart.ref || '';
183
+ cartInvoice = addioCart.invoice_ref || '';
184
+ g2OrderObj.setNoCommDuClient("".concat(cartRef).concat(!!cartInvoice && !!cartRef ? '/' : '').concat(cartInvoice.replace('-', '')));
185
+ customerName = !(0, cart_1.isPro)(addioCart) ? _getCustomerData(addioCart, 'fullname', space) : '';
186
+ if (customerName.length + cartRef.length > 24) {
187
+ customerLastName = _getCustomerData(addioCart, 'lastname', space);
188
+ customerName = customerLastName.length + cartRef.length <= 24 ? customerLastName : '';
189
+ }
190
+ g2OrderObj.setDescription("".concat(!!customerName ? customerName + ' ' : '').concat(addioCart.ref || ''));
191
+ name = (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_name') || '';
192
+ name = name.replace('%', ' ').slice(0, 50);
193
+ tel = (0, object_1.recursiveCheckObject)(addioCart, 'billing_address.expedition_recipient_phone') || '';
194
+ tel = (0, data_1.formatPhoneNumberPrint)(tel);
195
+ fullLength = name.length + tel.length;
196
+ orderedByValue = "".concat(name).concat(!!name && !!tel && fullLength <= 49 ? ' ' : '').concat(fullLength <= 49 ? tel : '');
197
+ g2OrderObj.setCommandePar(orderedByValue || null);
198
+ if (!!!creditNote) return [3, 4];
199
+ g2OrderObj.setNoteDeCredit(true);
200
+ g2OrderObj.setNoCommDuClient("".concat((0, refunds_1.formatRefundInvoiceRef)(creditNote.ref, space, creditNote.groupCode).replace('-', '')).concat(!!creditNote.ref && !!cartRef ? '/' : '').concat(cartRef));
201
+ if (!!creditNote.secondaryRef) {
202
+ g2OrderObj.setNotes("# m\u00E9mo de retour: ".concat(creditNote.secondaryRef) + '\r\n');
203
+ }
204
+ if (!!creditNote.notes) {
205
+ g2OrderObj.setNotes(creditNote.notes.replace('\n\n', '\r\n') + '\r\n');
206
+ }
207
+ _a.label = 1;
208
+ case 1:
209
+ _a.trys.push([1, 3, , 4]);
210
+ return [4, space.users.get(creditNote.createdBy.email)];
211
+ case 2:
212
+ user = _a.sent();
213
+ g2OrderObj.setNoRepresentant(user.external_id || 'NOUVEAU');
214
+ return [3, 4];
215
+ case 3:
216
+ e_2 = _a.sent();
217
+ console.error('error on fetching user with email: ', e_2.toString());
218
+ g2OrderObj.setNoRepresentant('NOUVEAU');
219
+ return [3, 4];
220
+ case 4: return [2];
221
+ }
222
+ });
223
+ }); };
224
+ var _constructExtraData = function (data) {
225
+ var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, creditNote = data.creditNote;
226
+ if (addioCart.status == Cart_1.CartStatusEnum.CANCELLED || addioCart.status == Cart_1.CartStatusEnum.EXT_REFUND) {
227
+ var cancelledDate = (0, object_1.recursiveCheckObject)(addioCart, 'canceled_by.date');
228
+ if (!!cancelledDate)
229
+ g2OrderObj.setDateAnnulation((0, data_1.formatDate)(cancelledDate));
230
+ }
231
+ if (!!addioCart.payment_reference && !creditNote) {
232
+ g2OrderObj.setNotes("#ref. paiement : ".concat(addioCart.payment_reference, "\r\n"));
233
+ }
234
+ if (!!(0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.credit_card_postal_code') && !creditNote) {
235
+ g2OrderObj.setNotes("code postal de la carte de cr\u00E9dit : ".concat((0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.credit_card_postal_code'), "\r\n"));
236
+ }
237
+ };
238
+ var _constructBillingData = function (data) {
239
+ var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space;
240
+ var cartBillingInfo = addioCart.billing_address;
241
+ if (!!cartBillingInfo) {
242
+ var g2BillingInfo = [];
243
+ var customerPhone = _getCustomerData(addioCart, 'phone', space);
244
+ var address = (0, cart_2.getAddressStrArray)(cartBillingInfo.address);
245
+ if (!(0, cart_1.isPro)(addioCart)) {
246
+ g2BillingInfo.push(_getCustomerData(addioCart, 'fullname', space) || '');
247
+ g2BillingInfo.push(!!customerPhone ? (0, data_1.formatPhoneNumberPrint)(customerPhone) : '');
248
+ if (!(0, cart_2.checkIfShippingSameAsBilling)(addioCart)) {
249
+ g2BillingInfo.push.apply(g2BillingInfo, address);
250
+ }
251
+ }
252
+ else {
253
+ var customerCompanyName = (0, object_1.recursiveCheckObject)(addioCart, 'customer_info.company_name');
254
+ g2BillingInfo.push(customerCompanyName ? customerCompanyName : '');
255
+ g2BillingInfo.push.apply(g2BillingInfo, address);
256
+ var poNumber = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.orderOrProjectNumber');
257
+ if (!!poNumber)
258
+ g2BillingInfo.push("PO ".concat(poNumber));
259
+ }
260
+ g2OrderObj.setVenduA(g2BillingInfo.filter(function (i) { return !!i; }).join('\r\n'));
261
+ }
262
+ else {
263
+ g2OrderObj.setVenduA(null);
264
+ }
265
+ };
266
+ var _constructShippingData = function (data) {
267
+ var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, creditNote = data.creditNote;
268
+ var cartRef = addioCart.ref || '';
269
+ var invoiceRef = addioCart.invoice_ref || '';
270
+ if (!!creditNote) {
271
+ var refundStore = space.preferences.stores.get().find(function (s) { return s.id == creditNote.groupCode; });
272
+ g2OrderObj.setLivreaNom("RETOUR".concat(!!refundStore ? ' ' + refundStore.name : ''));
273
+ g2OrderObj.setLivreaDepartement("".concat((0, refunds_1.formatRefundInvoiceRef)(creditNote.ref, space, creditNote.groupCode).replace('-', '')).concat(!!cartRef ? '/' : '').concat(cartRef));
274
+ g2OrderObj.setTransport('RETOUR');
275
+ }
276
+ else if (!!addioCart.is_pickup) {
277
+ var pickupStoreID_1 = addioCart.current_store_id || (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.pickup_store.id') || '';
278
+ var sameStore = space.preferences.stores.get().find(function (s) { return s.id == pickupStoreID_1; });
279
+ g2OrderObj.setLivreaNom("PICK UP".concat(!!sameStore ? ' ' + sameStore.name : ''));
280
+ g2OrderObj.setLivreaDepartement("".concat(cartRef).concat(!!cartRef && !!invoiceRef ? '/' : '').concat(invoiceRef.replace('-', '')));
281
+ g2OrderObj.setTransport('PICK-UP');
282
+ }
283
+ else {
284
+ var cartShippingInfo = addioCart.shipping_address;
285
+ if (!!cartShippingInfo) {
286
+ g2OrderObj.setLivreaNom(null);
287
+ g2OrderObj.setLivreaTelephone(null);
288
+ g2OrderObj.setLivreaAdresse("".concat(!!cartShippingInfo.address.app ? cartShippingInfo.address.app + ' - ' : '').concat(cartShippingInfo.address.line1));
289
+ g2OrderObj.setLivreaVille(cartShippingInfo.address.city);
290
+ var provinceCode = (0, cart_2.getCurrentProvince)(cartShippingInfo.address.state);
291
+ g2OrderObj.setLivreaProvince(!!provinceCode ? provinceCode.value : cartShippingInfo.address.state);
292
+ g2OrderObj.setLivreaCodePostal(cartShippingInfo.address.postal_code);
293
+ g2OrderObj.setLivreaPays(cartShippingInfo.address.country);
294
+ }
295
+ g2OrderObj.setTransport('LIVRAISON');
296
+ }
297
+ if (!creditNote) {
298
+ var cartForDate = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.delivery_or_pickup_date');
299
+ var timeOfDay = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.delivery_period');
300
+ if (!!cartForDate) {
301
+ var dateToUse = (0, data_1.formatDate)(cartForDate);
302
+ if (timeOfDay) {
303
+ if (timeOfDay == 'AM')
304
+ dateToUse.setHours(8);
305
+ else
306
+ dateToUse.setHours(13);
307
+ }
308
+ else {
309
+ dateToUse.setHours(0);
310
+ }
311
+ dateToUse.setMinutes(0);
312
+ dateToUse.setSeconds(0);
313
+ g2OrderObj.setDateRequis(dateToUse);
314
+ }
315
+ else {
316
+ g2OrderObj.setDateRequis(null);
317
+ }
318
+ }
319
+ };
320
+ var _constructCustomerData = function (data) { return __awaiter(void 0, void 0, void 0, function () {
321
+ var addioCart, g2OrderObj, space, orgId, joursEcheance, joursReglementAnticipe, pourcEscReglementAnticipe, customerID, token, g2Customers, sameCustomer, valueToUse, e_3;
322
+ return __generator(this, function (_a) {
323
+ switch (_a.label) {
324
+ case 0:
325
+ addioCart = data.addioCart, g2OrderObj = data.g2OrderObj, space = data.space, orgId = data.orgId;
326
+ joursEcheance = null;
327
+ joursReglementAnticipe = null;
328
+ pourcEscReglementAnticipe = null;
329
+ customerID = _getCustomerData(addioCart, 'id', space);
330
+ if (!!!customerID) return [3, 4];
331
+ _a.label = 1;
332
+ case 1:
333
+ _a.trys.push([1, 3, , 4]);
334
+ token = (0, context_1.getSpaceToken)(space, orgId);
335
+ if (!!!token)
336
+ throw 'Could not generate space token';
337
+ return [4, (0, g2_1.getG2Customer)(token, customerID)];
338
+ case 2:
339
+ g2Customers = _a.sent();
340
+ if (!!!g2Customers.length)
341
+ throw "Could not find customer in G2 with ID ".concat(customerID);
342
+ sameCustomer = g2Customers[0];
343
+ joursEcheance = sameCustomer.conditionsReglements.conditionReglement.joursÉchéance;
344
+ joursReglementAnticipe = sameCustomer.conditionsReglements.conditionReglement.joursRèglementAnticipé;
345
+ pourcEscReglementAnticipe = sameCustomer.conditionsReglements.conditionReglement.pourcEscRèglementAnticipé;
346
+ if (!!!g2OrderObj.data().commandePar && (0, cart_1.isPro)(addioCart)) {
347
+ valueToUse = sameCustomer.client.personneRessourceVentes || '';
348
+ valueToUse = valueToUse.slice(0, 50);
349
+ g2OrderObj.setCommandePar(valueToUse || null);
350
+ }
351
+ return [3, 4];
352
+ case 3:
353
+ e_3 = _a.sent();
354
+ console.error('could not fetch customer term details: ', e_3.toString());
355
+ return [3, 4];
356
+ case 4:
357
+ g2OrderObj.setJoursEcheance(joursEcheance);
358
+ g2OrderObj.setJoursReglementAnticipe(joursReglementAnticipe);
359
+ g2OrderObj.setPourcEscReglementAnticipe(pourcEscReglementAnticipe);
360
+ return [2];
361
+ }
362
+ });
363
+ }); };
364
+ var _constructAllItems = function (data) { return __awaiter(void 0, void 0, void 0, function () {
365
+ var allOptions, subtotalToUse, e_4, e_5, e_6, e_7, logTxt;
366
+ var _a;
367
+ return __generator(this, function (_b) {
368
+ switch (_b.label) {
369
+ case 0:
370
+ if (!!!data.addioCart)
371
+ return [2];
372
+ allOptions = _getTransformCartProps(data.addioCart);
373
+ subtotalToUse = 0;
374
+ _b.label = 1;
375
+ case 1:
376
+ _b.trys.push([1, 3, , 4]);
377
+ return [4, _constructProductItems(allOptions, data)];
378
+ case 2:
379
+ subtotalToUse = _b.sent();
380
+ return [3, 4];
381
+ case 3:
382
+ e_4 = _b.sent();
383
+ console.error('error on transforming items for G2: ', e_4.toString());
384
+ return [3, 4];
385
+ case 4:
386
+ if (!!!subtotalToUse) return [3, 8];
387
+ _b.label = 5;
388
+ case 5:
389
+ _b.trys.push([5, 7, , 8]);
390
+ return [4, _constructPromoItems(subtotalToUse, allOptions, data)];
391
+ case 6:
392
+ subtotalToUse = _b.sent();
393
+ return [3, 8];
394
+ case 7:
395
+ e_5 = _b.sent();
396
+ console.error('error on transforming promos for G2: ', e_5.toString());
397
+ return [3, 8];
398
+ case 8:
399
+ if (!(!!data.creditNote && !!data.creditNote.refundFeesAmount)) return [3, 12];
400
+ _b.label = 9;
401
+ case 9:
402
+ _b.trys.push([9, 11, , 12]);
403
+ return [4, _constructRefundFeeItem(data)];
404
+ case 10:
405
+ _b.sent();
406
+ return [3, 12];
407
+ case 11:
408
+ e_6 = _b.sent();
409
+ console.error('error on adding refund fee item to G2 order: ', e_6.toString());
410
+ return [3, 12];
411
+ case 12:
412
+ if (!allOptions.shippingToOntario) return [3, 16];
413
+ _b.label = 13;
414
+ case 13:
415
+ _b.trys.push([13, 15, , 16]);
416
+ return [4, _constructOntarioTaxItem(subtotalToUse, data)];
417
+ case 14:
418
+ _b.sent();
419
+ return [3, 16];
420
+ case 15:
421
+ e_7 = _b.sent();
422
+ console.error('error on adding Ontario tax item to G2 order: ', e_7.toString());
423
+ return [3, 16];
424
+ case 16:
425
+ if (!data.creditNote) {
426
+ _constructCartTypeItem(data);
427
+ _constructPersonOnSiteItem(data);
428
+ }
429
+ if (!(subtotalToUse.toFixed(2) !== data.addioCart.subtotal.toFixed(2))) return [3, 19];
430
+ logTxt = "Something went wrong! Subtotals don't match... calculated subtotal: ".concat(subtotalToUse.toFixed(2), ", cart subtotal: ").concat(data.addioCart.subtotal.toFixed(2));
431
+ if (!!__1.isTestEnv) return [3, 18];
432
+ return [4, (0, logs_1.SystemLog)({
433
+ clientName: "sdk-admin | G2 | _constructAllItems (G2 order), space: ".concat((0, services_1.getSpaceInitialsByID)(data.space.data().id)),
434
+ clientToken: (_a = process.env.NEXT_PUBLIC_LOG_SYSTEM_KEY) !== null && _a !== void 0 ? _a : ''
435
+ }, logs_1.LogType.INFO, logTxt)];
436
+ case 17:
437
+ _b.sent();
438
+ return [3, 19];
439
+ case 18:
440
+ console.error(logTxt);
441
+ _b.label = 19;
442
+ case 19: return [2];
443
+ }
444
+ });
445
+ }); };
446
+ var _constructProductItems = function (allOptions, data) { return __awaiter(void 0, void 0, void 0, function () {
447
+ var calculatedSubtotal, allItems, _i, allItems_1, item, _a, g2Item, internalMsgForItem, escompteApplied, e_8;
448
+ return __generator(this, function (_b) {
449
+ switch (_b.label) {
450
+ case 0:
451
+ if (!!!data.addioCart)
452
+ return [2, 0];
453
+ calculatedSubtotal = 0;
454
+ allItems = (0, cart_1.orderCartItems)(data.addioCart);
455
+ _i = 0, allItems_1 = allItems;
456
+ _b.label = 1;
457
+ case 1:
458
+ if (!(_i < allItems_1.length)) return [3, 6];
459
+ item = allItems_1[_i];
460
+ _b.label = 2;
461
+ case 2:
462
+ _b.trys.push([2, 4, , 5]);
463
+ return [4, _transformCartItemToPartialG2Item(item, data.space, data.orgId, allOptions)];
464
+ case 3:
465
+ _a = _b.sent(), g2Item = _a.g2Item, internalMsgForItem = _a.internalMsgForItem;
466
+ data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
467
+ escompteApplied = !!g2Item.pourcEscompte ? (100 - g2Item.pourcEscompte) / 100 : 1;
468
+ calculatedSubtotal += (g2Item.prixUnitaire || 0) * escompteApplied * (g2Item.quantite || 0);
469
+ return [3, 5];
470
+ case 4:
471
+ e_8 = _b.sent();
472
+ console.error('error on transforming item to G2 item: ', e_8.toString());
473
+ return [3, 5];
474
+ case 5:
475
+ _i++;
476
+ return [3, 1];
477
+ case 6: return [2, calculatedSubtotal];
478
+ }
479
+ });
480
+ }); };
481
+ var _constructPromoItems = function (subtotalToUse, allOptions, data) { return __awaiter(void 0, void 0, void 0, function () {
482
+ var allPromos, allNonIncentivePromos, promoAmountData, calculatedSubtotal, _loop_1, _i, promoAmountData_1, promoAmounts, incentive, sameDiscountRule, externalValueForG2, _a, g2Item, internalMsgForItem;
483
+ var _b;
484
+ return __generator(this, function (_c) {
485
+ switch (_c.label) {
486
+ case 0:
487
+ if (!!!data.addioCart)
488
+ return [2, 0];
489
+ allPromos = (0, discount_1.getCartPromo)(data.addioCart) || [];
490
+ allNonIncentivePromos = allPromos.filter(function (p) { return p.applies_to !== Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
491
+ promoAmountData = (0, cart_2.getAllPromoAppliedPrices)(allNonIncentivePromos, subtotalToUse, data.addioCart.items, data.space, !!data.creditNote);
492
+ calculatedSubtotal = subtotalToUse;
493
+ _loop_1 = function (promoAmounts) {
494
+ var samePromoInCartApplied, promoToCheckID_1, sameDiscountRule, externalValueForG2, amountToUseForQuantity, _d, g2Item, internalMsgForItem, e_9;
495
+ return __generator(this, function (_e) {
496
+ switch (_e.label) {
497
+ case 0:
498
+ _e.trys.push([0, 2, , 3]);
499
+ samePromoInCartApplied = allPromos.find(function (p) { return p.discount_id === promoAmounts.id; });
500
+ promoToCheckID_1 = (_b = promoAmounts.id) !== null && _b !== void 0 ? _b : '';
501
+ if (!!!samePromoInCartApplied) {
502
+ console.error('could not find corresponding cart promo for id: ', promoAmounts.id);
503
+ return [2, "continue"];
504
+ }
505
+ sameDiscountRule = data.addioCart.discount_rules.find(function (d) { return d.id == promoToCheckID_1; });
506
+ externalValueForG2 = !!sameDiscountRule
507
+ ? (0, object_1.recursiveCheckObject)(sameDiscountRule, 'external_values.noArticle')
508
+ : undefined;
509
+ amountToUseForQuantity = [Cart_1.CartPromoAppliesToEnum.PRODUCT, Cart_1.CartPromoAppliesToEnum.ITEMS].includes(promoAmounts.appliesTo)
510
+ ? promoAmounts.productTotalAmount
511
+ : samePromoInCartApplied.amount_unit && samePromoInCartApplied.amount_unit.includes('amount')
512
+ ? 1
513
+ : promoAmounts.subtotalBefore;
514
+ return [4, _transformCartPromoToPartialG2Item(samePromoInCartApplied, externalValueForG2, amountToUseForQuantity, data.space, data.orgId, allOptions)];
515
+ case 1:
516
+ _d = _e.sent(), g2Item = _d.g2Item, internalMsgForItem = _d.internalMsgForItem;
517
+ data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
518
+ return [3, 3];
519
+ case 2:
520
+ e_9 = _e.sent();
521
+ console.error('error on transforming item to G2 item: ', e_9.toString());
522
+ return [3, 3];
523
+ case 3: return [2];
524
+ }
525
+ });
526
+ };
527
+ _i = 0, promoAmountData_1 = promoAmountData;
528
+ _c.label = 1;
529
+ case 1:
530
+ if (!(_i < promoAmountData_1.length)) return [3, 4];
531
+ promoAmounts = promoAmountData_1[_i];
532
+ return [5, _loop_1(promoAmounts)];
533
+ case 2:
534
+ _c.sent();
535
+ _c.label = 3;
536
+ case 3:
537
+ _i++;
538
+ return [3, 1];
539
+ case 4:
540
+ if (promoAmountData.length >= 1) {
541
+ calculatedSubtotal = promoAmountData[promoAmountData.length - 1].subtotalAfter;
542
+ }
543
+ incentive = allPromos.find(function (p) { return p.applies_to === Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES; });
544
+ if (!!!incentive) return [3, 6];
545
+ sameDiscountRule = data.addioCart.discount_rules.find(function (d) { return d.id == incentive.discount_id; });
546
+ externalValueForG2 = !!sameDiscountRule
547
+ ? (0, object_1.recursiveCheckObject)(sameDiscountRule, 'external_values.noArticle')
548
+ : undefined;
549
+ return [4, _transformCartPromoToPartialG2Item(incentive, externalValueForG2, calculatedSubtotal, data.space, data.orgId, allOptions)];
550
+ case 5:
551
+ _a = _c.sent(), g2Item = _a.g2Item, internalMsgForItem = _a.internalMsgForItem;
552
+ data.g2OrderObj.addItemLineToOrder(g2Item, internalMsgForItem);
553
+ _c.label = 6;
554
+ case 6: return [2, calculatedSubtotal];
555
+ }
556
+ });
557
+ }); };
558
+ var _constructRefundFeeItem = function (data) { return __awaiter(void 0, void 0, void 0, function () {
559
+ var refundFeeG2Prod, refundFeeG2Sku, quantityForFee, transformedRefundProduct;
560
+ return __generator(this, function (_a) {
561
+ switch (_a.label) {
562
+ case 0:
563
+ if (!!!data.creditNote)
564
+ return [2];
565
+ return [4, (0, g2_1.fetchProductFromG2WithSku)('320000000-1', data.space, data.orgId, true)];
566
+ case 1:
567
+ refundFeeG2Prod = _a.sent();
568
+ refundFeeG2Sku = !!refundFeeG2Prod ? refundFeeG2Prod.article.noArticle : undefined;
569
+ if (!!!refundFeeG2Prod)
570
+ console.error('error on fetching refund fee from G2: could not fetch');
571
+ quantityForFee = !!refundFeeG2Prod ? data.creditNote.refundFeesAmount / refundFeeG2Prod.prix[0].prix : 0;
572
+ transformedRefundProduct = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: refundFeeG2Sku || '999999999-1', description: !!refundFeeG2Prod && refundFeeG2Prod.article.description
573
+ ? refundFeeG2Prod.article.description
574
+ : 'Frais de retour', sku: refundFeeG2Sku || '320000000-1', quantite: quantityForFee, prixUnitaire: !!refundFeeG2Prod ? refundFeeG2Prod.prix[0].prix : 0, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
575
+ data.g2OrderObj.addItemLineToOrder(transformedRefundProduct);
576
+ return [2];
577
+ }
578
+ });
579
+ }); };
580
+ var _constructOntarioTaxItem = function (currentSubtotal, data) { return __awaiter(void 0, void 0, void 0, function () {
581
+ var ontarioTaxG2Prod, amountForTax, transformedTaxProduct;
582
+ return __generator(this, function (_a) {
583
+ switch (_a.label) {
584
+ case 0: return [4, (0, g2_1.fetchProductFromG2WithSku)('TAXEONTARIO', data.space, data.orgId, true)];
585
+ case 1:
586
+ ontarioTaxG2Prod = _a.sent();
587
+ if (!!!ontarioTaxG2Prod) {
588
+ console.error('Error on fetching ontarioTax product from G2: could not fetch!');
589
+ }
590
+ amountForTax = !!ontarioTaxG2Prod && !!ontarioTaxG2Prod.prix[0] ? ontarioTaxG2Prod.prix[0].prix : undefined;
591
+ if (typeof amountForTax == 'undefined') {
592
+ console.error('could not fetch price for Ontario tax amount');
593
+ amountForTax = 0;
594
+ }
595
+ transformedTaxProduct = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.noArticle ? ontarioTaxG2Prod.article.noArticle : '999999999-1', description: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.description
596
+ ? ontarioTaxG2Prod.article.description
597
+ : 'Taxes pour livraison en Ontario', sku: !!ontarioTaxG2Prod && ontarioTaxG2Prod.article.noArticle ? ontarioTaxG2Prod.article.noArticle : 'TAXEONTARIO', quantite: currentSubtotal, prixUnitaire: amountForTax, pourcEscompte: 0, taxableTPS: false, taxableTVQ: false });
598
+ data.g2OrderObj.addItemLineToOrder(transformedTaxProduct);
599
+ return [2];
600
+ }
601
+ });
602
+ }); };
603
+ var _constructCartTypeItem = function (data) {
604
+ var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj;
605
+ if (!!addioCart.is_pickup)
606
+ return;
607
+ var cartProps = _getTransformCartProps(addioCart);
608
+ var allItems = addioCart.items;
609
+ if (![cart_3.CartGeneralTypeEnum.BETON, cart_3.CartGeneralTypeEnum.GRASS].includes(cartProps.cartType))
610
+ return;
611
+ var palQty = (0, expedition_1.getPalletQty)(allItems, cartProps.cartType == cart_3.CartGeneralTypeEnum.BETON ? 'concrete' : 'grass');
612
+ var itemMsgStr = '';
613
+ if (cartProps.cartType == cart_3.CartGeneralTypeEnum.BETON) {
614
+ itemMsgStr += "".concat(palQty, " BETON");
615
+ var allAccessories = allItems.filter(function (i) {
616
+ var cat2 = (0, object_1.recursiveCheckObject)(i, 'external_values.catégorie2') || '';
617
+ return !!cat2.includes('ACC') && !!(0, object_1.recursiveCheckObject)(i, 'external_values.catégorie1') && !i.is_service;
618
+ });
619
+ for (var _i = 0, allAccessories_1 = allAccessories; _i < allAccessories_1.length; _i++) {
620
+ var acc = allAccessories_1[_i];
621
+ itemMsgStr += " + ".concat((0, object_1.recursiveCheckObject)(acc, 'external_values.catégorie1'));
622
+ }
623
+ }
624
+ else {
625
+ itemMsgStr += "".concat(palQty % 1 != 0 ? Math.floor(palQty) + '½' : palQty, " GAZON");
626
+ var principalGrassItem = allItems.find(function (i) { return (0, products_2.checkIfProductIsOfType)(i, 'gazon', true) && !i.is_service && i.sku !== products_1.kentucky; });
627
+ if (!!principalGrassItem)
628
+ itemMsgStr += " ".concat((0, locale_1.getLocaleOfDictionnary)(principalGrassItem.name, addioCart.locale).toUpperCase());
629
+ if ((0, cart_1.checkIfCartContainsType)(cart_3.CartGeneralTypeEnum.INSTALLATION, addioCart)) {
630
+ itemMsgStr += ' EN INSTALLATION';
631
+ if (allItems.some(function (i) { return i.parent_slug == 'installation-fertilisation'; }))
632
+ itemMsgStr += " + FERTILISATION";
633
+ if (allItems.some(function (i) { return i.parent_slug == 'installation-roulage'; }))
634
+ itemMsgStr += " + ROULAGE";
635
+ var installAddOnStr = [];
636
+ var _loop_2 = function (installProAddOn) {
637
+ if (allItems.some(function (i) { return i.sku === products_1.installationProSpecSkus[installProAddOn]; })) {
638
+ switch (installProAddOn) {
639
+ case 'bord_rue':
640
+ installAddOnStr.push('BORD DE RUE');
641
+ break;
642
+ case 'piste_cyclable':
643
+ installAddOnStr.push('PISTE CYCLABLE');
644
+ break;
645
+ case 'petit_espace':
646
+ installAddOnStr.push('ESPACE INSUFFISANT');
647
+ break;
648
+ case 'pentes':
649
+ installAddOnStr.push('PIQUETAGE');
650
+ break;
651
+ case 'nivellement_necessaire':
652
+ installAddOnStr.push('NIVELLEMENT');
653
+ break;
654
+ }
655
+ }
656
+ };
657
+ for (var _a = 0, _b = Object.keys(products_1.installationProSpecSkus); _a < _b.length; _a++) {
658
+ var installProAddOn = _b[_a];
659
+ _loop_2(installProAddOn);
660
+ }
661
+ if (installAddOnStr.length > 0)
662
+ itemMsgStr += " + ".concat(installAddOnStr.join(' | '));
663
+ }
664
+ }
665
+ var constructedItem = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { message: itemMsgStr, quantite: null, prixUnitaire: null, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
666
+ g2OrderObj.addItemLineToOrder(constructedItem);
667
+ };
668
+ var _constructPersonOnSiteItem = function (data) {
669
+ var addioCart = data.addioCart, g2OrderObj = data.g2OrderObj;
670
+ var cartProps = _getTransformCartProps(addioCart);
671
+ if (!!cartProps.isPickup)
672
+ return;
673
+ var personOnSiteName = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.personOnSiteName');
674
+ var personOnSitePhone = (0, object_1.recursiveCheckObject)(addioCart, 'shipping_payload.personOnSitePhone');
675
+ if (!!!personOnSiteName && !!!personOnSitePhone)
676
+ return;
677
+ var constructedItem = __assign(__assign({}, (0, exports.getDefaultG2OrderItem)()), { noArticle: 'APPEL', message: "* APPELER 30 MIN AVANT ".concat(personOnSiteName.trim(), " ").concat((0, data_1.formatPhoneNumberPrint)(personOnSitePhone).trim()), quantite: 0, prixUnitaire: 0, pourcEscompte: 0, taxableTPS: true, taxableTVQ: true });
678
+ g2OrderObj.addItemLineToOrder(constructedItem);
679
+ };
680
+ var _transformCartItemToPartialG2Item = function (item, space, orgId, options) { return __awaiter(void 0, void 0, void 0, function () {
681
+ var extraMsg, isCustomProd, isEscSuppItem, updatedPriceMsg, updatedEscompteMsg, defaultSku, transG2Item, prodIsTaxExempt, e_10, allMsgs;
682
+ var _a;
683
+ return __generator(this, function (_b) {
684
+ switch (_b.label) {
685
+ case 0:
686
+ extraMsg = [];
687
+ isCustomProd = !!item.is_temp_prod;
688
+ isEscSuppItem = (0, g2_1.isEscompteSuppItem)(item.sku);
689
+ updatedPriceMsg = !!(0, cart_2.priceWasOverridden)(item)
690
+ ? (0, object_1.recursiveCheckObject)(item, 'discount_price.authorization.note')
691
+ : undefined;
692
+ updatedEscompteMsg = !!(0, cart_2.priceWasOverridden)(item)
693
+ ? (0, object_1.recursiveCheckObject)(item, 'promo_price.authorization.note')
694
+ : '';
695
+ defaultSku = (0, object_1.recursiveCheckObject)(item, 'external_values.noArticle') || item.sku;
696
+ if (isEscSuppItem)
697
+ defaultSku = (0, string_1.splitFromFirstChar)('-', defaultSku)[0];
698
+ transG2Item = (0, exports.getDefaultG2OrderItem)(defaultSku);
699
+ transG2Item.description = (_a = (0, locale_1.getLocaleOfDictionnary)(item.name, options.cartLocale)) !== null && _a !== void 0 ? _a : null;
700
+ transG2Item.quantite = isEscSuppItem ? (0, round_1.default)(item.qte, 2) : item.qte;
701
+ transG2Item.prixUnitaire = (0, cart_1.getAppliedPrice)(item, {
702
+ isBookingBeton: options.cartType == cart_3.CartGeneralTypeEnum.BOOKING_BETON
703
+ });
704
+ transG2Item.pourcEscompte = (0, cart_1.getPercentFromReducedPrice)(item, !!options.isPro) || 0;
705
+ transG2Item.prixModifieUtilisateur = !!updatedPriceMsg || (isCustomProd && !isEscSuppItem);
706
+ transG2Item.escompteModifieUtilisateur = !!updatedEscompteMsg || (isCustomProd && !isEscSuppItem);
707
+ prodIsTaxExempt = !!item.tax_exemption || options.shippingToOntario;
708
+ transG2Item.taxableTPS = !prodIsTaxExempt;
709
+ transG2Item.taxableTVQ = !prodIsTaxExempt;
710
+ _b.label = 1;
711
+ case 1:
712
+ _b.trys.push([1, 3, , 4]);
713
+ return [4, _updateItemWithG2Prod(defaultSku, transG2Item, options, space, orgId, {
714
+ noArticle: true,
715
+ description: true,
716
+ message: true
717
+ }, function (msg) { return !!msg && extraMsg.push(msg); })];
718
+ case 2:
719
+ transG2Item = _b.sent();
720
+ return [3, 4];
721
+ case 3:
722
+ e_10 = _b.sent();
723
+ console.error("error on fetching prod from G2 for sku ".concat(defaultSku, ": "), e_10.toString());
724
+ return [3, 4];
725
+ case 4:
726
+ if (!!isCustomProd && !isEscSuppItem)
727
+ extraMsg.push("Produit ajout\u00E9 manuellement");
728
+ else {
729
+ allMsgs = [];
730
+ if (!!updatedPriceMsg)
731
+ allMsgs.push("Message d'autorisation (prix unitaire modifi\u00E9) : ".concat(updatedPriceMsg));
732
+ if (!!updatedEscompteMsg && updatedPriceMsg != updatedEscompteMsg)
733
+ allMsgs.push("Message d'autorisation (% escompte modifi\u00E9) : ".concat(updatedEscompteMsg));
734
+ if (allMsgs.length)
735
+ extraMsg.push(allMsgs.join(' | '));
736
+ }
737
+ return [2, {
738
+ g2Item: transG2Item,
739
+ internalMsgForItem: !!extraMsg.length ? "".concat(extraMsg.join(', ')) : ''
740
+ }];
741
+ }
742
+ });
743
+ }); };
744
+ var _transformCartPromoToPartialG2Item = function (promo, associatedNoArticle, quantityToUse, space, orgId, options) { return __awaiter(void 0, void 0, void 0, function () {
745
+ var extraMsg, defaultSku, transG2Item, promoResultAmountRemoved, shouldRemoveTaxes, e_11;
746
+ return __generator(this, function (_a) {
747
+ switch (_a.label) {
748
+ case 0:
749
+ extraMsg = [];
750
+ defaultSku = associatedNoArticle || '';
751
+ if (!!!defaultSku && !!promo.promo_code)
752
+ defaultSku = promo.promo_code;
753
+ transG2Item = (0, exports.getDefaultG2OrderItem)(defaultSku);
754
+ transG2Item.description = promo.promo_name;
755
+ transG2Item.quantite = quantityToUse;
756
+ promoResultAmountRemoved = 0;
757
+ if (!!promo.amount_removed) {
758
+ if (!!!promo.amount_unit || promo.amount_unit.includes('percent')) {
759
+ promoResultAmountRemoved = promo.amount_removed / 100;
760
+ }
761
+ else {
762
+ promoResultAmountRemoved = promo.amount_removed;
763
+ }
764
+ }
765
+ transG2Item.prixUnitaire = promoResultAmountRemoved * -1;
766
+ transG2Item.pourcEscompte = 0;
767
+ shouldRemoveTaxes = promo.applies_to == Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES || options.shippingToOntario;
768
+ transG2Item.taxableTPS = !shouldRemoveTaxes;
769
+ transG2Item.taxableTVQ = !shouldRemoveTaxes;
770
+ if (!!!defaultSku) return [3, 5];
771
+ _a.label = 1;
772
+ case 1:
773
+ _a.trys.push([1, 3, , 4]);
774
+ return [4, _updateItemWithG2Prod(defaultSku, transG2Item, options, space, orgId, {
775
+ noArticle: true,
776
+ description: true
777
+ }, function (msg) { return !!msg && extraMsg.push(msg); })];
778
+ case 2:
779
+ transG2Item = _a.sent();
780
+ return [3, 4];
781
+ case 3:
782
+ e_11 = _a.sent();
783
+ console.error("error on fetching prod from G2 for sku ".concat(defaultSku, ": "), e_11.toString());
784
+ return [3, 4];
785
+ case 4: return [3, 6];
786
+ case 5:
787
+ transG2Item.noArticle = '999999999-1';
788
+ transG2Item.pourcEscompte = 0;
789
+ _a.label = 6;
790
+ case 6:
791
+ if (transG2Item.noArticle == '999999999-1') {
792
+ transG2Item.prixModifieUtilisateur = true;
793
+ transG2Item.escompteModifieUtilisateur = true;
794
+ }
795
+ return [2, {
796
+ g2Item: transG2Item,
797
+ internalMsgForItem: !!extraMsg.length ? "".concat(extraMsg.join(', ')) : ''
798
+ }];
799
+ }
800
+ });
801
+ }); };
802
+ var _updateItemWithG2Prod = function (sku, transG2Item, options, space, orgId, valuesToUpdate, addMessageToG2Order) { return __awaiter(void 0, void 0, void 0, function () {
803
+ var g2Prod, g2Description;
804
+ var _a;
805
+ return __generator(this, function (_b) {
806
+ switch (_b.label) {
807
+ case 0: return [4, (0, g2_1.fetchProductFromG2WithSku)(sku, space, orgId)];
808
+ case 1:
809
+ g2Prod = _b.sent();
810
+ if (!!!g2Prod) return [3, 2];
811
+ if (valuesToUpdate.noArticle) {
812
+ if (!!g2Prod.noArticle && g2Prod.noArticle !== sku) {
813
+ transG2Item.noArticle = g2Prod.noArticle;
814
+ transG2Item.sku = sku;
815
+ }
816
+ }
817
+ if (valuesToUpdate.description) {
818
+ g2Description = options.cartLocale == 'en' && !!g2Prod.article.description2
819
+ ? g2Prod.article.description2
820
+ : g2Prod.article.description;
821
+ if (!!g2Description && g2Description !== transG2Item.description) {
822
+ transG2Item.description = g2Prod.article.description;
823
+ }
824
+ }
825
+ return [3, 4];
826
+ case 2:
827
+ if (valuesToUpdate.noArticle) {
828
+ transG2Item.noArticle = '999999999-1';
829
+ transG2Item.sku = sku;
830
+ transG2Item.pourcEscompte = 0;
831
+ if (!!addMessageToG2Order)
832
+ addMessageToG2Order("Sku non-trouv\u00E9 dans G2 : ".concat(sku));
833
+ }
834
+ if (!!sku.includes('test')) return [3, 4];
835
+ console.error("Error - G2 equivalent not found for sku: ".concat(sku));
836
+ return [4, (0, logs_1.SystemLog)({
837
+ clientName: "sdk-admin | G2 | transformCartItemToG2Item | ".concat((0, services_1.getSpaceInitialsByID)(space.data().id)),
838
+ clientToken: (_a = process.env.NEXT_PUBLIC_LOG_SYSTEM_KEY) !== null && _a !== void 0 ? _a : ''
839
+ }, logs_1.LogType.INFO, "G2 equivalent not found for sku: ".concat(sku))];
840
+ case 3:
841
+ _b.sent();
842
+ _b.label = 4;
843
+ case 4: return [2, transG2Item];
844
+ }
845
+ });
846
+ }); };
847
+ var transformCreditNoteToG2Order = function (creditNote, cartId, space, orgId, isTest) { return __awaiter(void 0, void 0, void 0, function () {
848
+ var g2Service, correspondingCart, cartQuery, e_12, currentCartPromos, transformedG2Order;
849
+ return __generator(this, function (_a) {
850
+ switch (_a.label) {
851
+ case 0:
852
+ g2Service = space.services({ field: 'external_service_name', value: 'G2' });
853
+ if (!!!g2Service.length ||
854
+ !!!(0, object_1.recursiveCheckObject)(g2Service[0], 'external_service_infos.specific_actions.save_order_to_g2')) {
855
+ console.error('space does not have G2 in external_services or does not save order property. Returning!');
856
+ return [2];
857
+ }
858
+ _a.label = 1;
859
+ case 1:
860
+ _a.trys.push([1, 3, , 4]);
861
+ return [4, space.carts.get({ query: [{ field: 'id', operator: '==', value: cartId }] })];
862
+ case 2:
863
+ cartQuery = _a.sent();
864
+ if (!!cartQuery && cartQuery.length > 0)
865
+ correspondingCart = cartQuery[0].data();
866
+ return [3, 4];
867
+ case 3:
868
+ e_12 = _a.sent();
869
+ console.error('could not fetch corresponding cart from database: ', e_12.toString());
870
+ return [3, 4];
871
+ case 4:
872
+ if (!!!correspondingCart) {
873
+ console.log("couldn't find cart! returning");
874
+ return [2];
875
+ }
876
+ correspondingCart.paid_at = creditNote.createdAt;
877
+ if (!!correspondingCart.processed_by) {
878
+ correspondingCart.processed_by = __assign(__assign({}, correspondingCart.processed_by), { date: creditNote.createdAt });
879
+ }
880
+ correspondingCart.items = correspondingCart.items
881
+ .map(function (i) {
882
+ var sameInRefund = creditNote.items.find(function (refItem) { return refItem.itemId === i.parent_product_id && refItem.variantId === i.sku; });
883
+ if (!!!sameInRefund)
884
+ return;
885
+ i.qte = Number(sameInRefund.creditedQty) * -1;
886
+ return i;
887
+ })
888
+ .filter(function (i) { return !!i; });
889
+ correspondingCart.subtotal = creditNote.subtotal * -1;
890
+ correspondingCart.total = creditNote.total * -1;
891
+ correspondingCart.taxes = creditNote.taxes.map(function (t) { return (__assign(__assign({}, t), { taxes: t.taxes.map(function (tax) { return (__assign(__assign({}, tax), { amount: (tax.amount || 0) * -1 })); }) })); });
892
+ if (!!correspondingCart.subtotalWithoutPromotions) {
893
+ correspondingCart.subtotalWithoutPromotions = creditNote.subtotalWithoutPromotions * -1;
894
+ }
895
+ currentCartPromos = (0, discount_1.getCartPromo)(__assign({}, correspondingCart)) || [];
896
+ correspondingCart.promo_after_taxes_amount = creditNote.promoAfterTaxesAmount;
897
+ correspondingCart.cart_promos_applied = (creditNote.promos || [])
898
+ .map(function (p) {
899
+ var sameInCreditNote = currentCartPromos.find(function (cartPromo) { return p.discountId == cartPromo.discount_id; });
900
+ if (!!sameInCreditNote) {
901
+ if (sameInCreditNote.applies_to === Cart_1.CartPromoAppliesToEnum.TOTAL_AFTER_TAXES &&
902
+ creditNote.promoAfterTaxesAmount) {
903
+ sameInCreditNote.amount_removed = creditNote.promoAfterTaxesAmount;
904
+ }
905
+ else if (!p.unit.includes('percent')) {
906
+ sameInCreditNote.amount_removed = p.refundedAmount;
907
+ }
908
+ }
909
+ return sameInCreditNote;
910
+ })
911
+ .filter(function (p) { return !!p; });
912
+ return [4, (0, exports.transformAddioCartToG2Order)(correspondingCart, space, orgId, isTest, creditNote)];
913
+ case 5:
914
+ transformedG2Order = _a.sent();
915
+ return [2, transformedG2Order];
916
+ }
917
+ });
918
+ }); };
919
+ exports.transformCreditNoteToG2Order = transformCreditNoteToG2Order;
920
920
  //# sourceMappingURL=utils.js.map