addio-admin-sdk 1.7.144 → 1.7.146

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 (574) hide show
  1. package/.babelrc +17 -17
  2. package/.env +15 -0
  3. package/.env.dev +14 -14
  4. package/.github/workflows/run_unit_test.yaml +48 -48
  5. package/addio-sdk-doc.md +1473 -1473
  6. package/changelog.md +564 -564
  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 +177 -177
  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 +53 -53
  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 +25 -25
  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 +74 -74
  30. package/dist/Interfaces/Booking/index.js +17 -17
  31. package/dist/Interfaces/Brand/index.d.ts +15 -15
  32. package/dist/Interfaces/Brand/index.js +2 -2
  33. package/dist/Interfaces/CMS/index.d.ts +28 -28
  34. package/dist/Interfaces/CMS/index.js +5 -5
  35. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  36. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  37. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  38. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  39. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  40. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  41. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  42. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  43. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  44. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  45. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  46. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  47. package/dist/Interfaces/Cart/index.d.ts +444 -444
  48. package/dist/Interfaces/Cart/index.js +197 -197
  49. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  50. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  51. package/dist/Interfaces/CashDrawers/index.d.ts +37 -37
  52. package/dist/Interfaces/CashDrawers/index.js +19 -19
  53. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  54. package/dist/Interfaces/Catalogue/index.js +37 -37
  55. package/dist/Interfaces/Category/index.d.ts +33 -33
  56. package/dist/Interfaces/Category/index.js +2 -2
  57. package/dist/Interfaces/Chart/index.d.ts +11 -11
  58. package/dist/Interfaces/Chart/index.js +2 -2
  59. package/dist/Interfaces/Class/index.d.ts +8 -8
  60. package/dist/Interfaces/Class/index.js +2 -2
  61. package/dist/Interfaces/Consent/index.d.ts +6 -6
  62. package/dist/Interfaces/Consent/index.js +2 -2
  63. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  64. package/dist/Interfaces/Context/IContextProps.js +2 -2
  65. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  66. package/dist/Interfaces/Context/IContextState.js +2 -2
  67. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  68. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  69. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  70. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  71. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  72. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  73. package/dist/Interfaces/Customer/index.d.ts +104 -104
  74. package/dist/Interfaces/Customer/index.js +148 -148
  75. package/dist/Interfaces/Declination/index.d.ts +117 -117
  76. package/dist/Interfaces/Declination/index.js +66 -66
  77. package/dist/Interfaces/Document/index.d.ts +8 -8
  78. package/dist/Interfaces/Document/index.js +2 -2
  79. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  80. package/dist/Interfaces/Elastic/index.js +2 -2
  81. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  82. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  83. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  84. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  85. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  86. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  87. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  88. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  89. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  90. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  91. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  92. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  93. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  94. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  95. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  96. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  97. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  98. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  99. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  100. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  101. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  102. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  103. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  104. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  105. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  106. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  107. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  108. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  109. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  110. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  111. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  112. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  113. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  114. package/dist/Interfaces/Email/IEmail.js +60 -60
  115. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  116. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  117. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  118. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  119. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  120. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  121. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  122. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  123. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  124. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  125. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  126. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  127. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  128. package/dist/Interfaces/ExportSchema/index.js +2 -2
  129. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  130. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  131. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  132. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  133. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  134. package/dist/Interfaces/ExternalService/index.js +2 -2
  135. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  136. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  137. package/dist/Interfaces/G2/index.d.ts +556 -556
  138. package/dist/Interfaces/G2/index.js +38 -38
  139. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  140. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  141. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  142. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  143. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  144. package/dist/Interfaces/Inventory/index.js +8 -8
  145. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  146. package/dist/Interfaces/Invoice/index.js +2 -2
  147. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  148. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  149. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  150. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  151. package/dist/Interfaces/Menu/index.d.ts +40 -40
  152. package/dist/Interfaces/Menu/index.js +16 -16
  153. package/dist/Interfaces/Note/index.d.ts +10 -10
  154. package/dist/Interfaces/Note/index.js +7 -7
  155. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  156. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  157. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  158. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  159. package/dist/Interfaces/Order/index.d.ts +4 -4
  160. package/dist/Interfaces/Order/index.js +2 -2
  161. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  162. package/dist/Interfaces/Org/IRelUser.js +2 -2
  163. package/dist/Interfaces/Org/index.d.ts +29 -29
  164. package/dist/Interfaces/Org/index.js +12 -12
  165. package/dist/Interfaces/Payment/index.d.ts +26 -26
  166. package/dist/Interfaces/Payment/index.js +14 -14
  167. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  168. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  169. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  170. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  171. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  172. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  173. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  174. package/dist/Interfaces/Product/IPricing.js +180 -180
  175. package/dist/Interfaces/Product/index.d.ts +138 -138
  176. package/dist/Interfaces/Product/index.js +64 -64
  177. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  178. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  179. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  180. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  181. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  182. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  183. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  184. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  185. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  186. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  187. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  188. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  189. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  190. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  191. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  192. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  193. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  194. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  195. package/dist/Interfaces/Quote/index.d.ts +5 -5
  196. package/dist/Interfaces/Quote/index.js +2 -2
  197. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  198. package/dist/Interfaces/Refunds/index.js +2 -2
  199. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  200. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  201. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  202. package/dist/Interfaces/Schedule/index.js +2 -2
  203. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  204. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  205. package/dist/Interfaces/Services/IService.d.ts +16 -16
  206. package/dist/Interfaces/Services/IService.js +2 -2
  207. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  208. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  209. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  210. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  211. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  212. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  213. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  214. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  215. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  216. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  217. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  218. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  219. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  220. package/dist/Interfaces/Slider/GR.js +271 -271
  221. package/dist/Interfaces/Slider/index.d.ts +30 -30
  222. package/dist/Interfaces/Slider/index.js +2 -2
  223. package/dist/Interfaces/Space/IExternalService.d.ts +53 -53
  224. package/dist/Interfaces/Space/IExternalService.js +44 -44
  225. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  226. package/dist/Interfaces/Space/IMember.js +9 -9
  227. package/dist/Interfaces/Space/index.d.ts +407 -405
  228. package/dist/Interfaces/Space/index.js +174 -174
  229. package/dist/Interfaces/Space/index.js.map +1 -1
  230. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  231. package/dist/Interfaces/Specials/gr.js +2 -2
  232. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  233. package/dist/Interfaces/StockNotification/index.js +2 -2
  234. package/dist/Interfaces/Store/index.d.ts +63 -63
  235. package/dist/Interfaces/Store/index.js +27 -27
  236. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  237. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  238. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  239. package/dist/Interfaces/Supplier/index.js +24 -24
  240. package/dist/Interfaces/TCG/index.d.ts +161 -161
  241. package/dist/Interfaces/TCG/index.js +54 -54
  242. package/dist/Interfaces/Tag/index.d.ts +18 -18
  243. package/dist/Interfaces/Tag/index.js +2 -2
  244. package/dist/Interfaces/Tax/index.d.ts +13 -13
  245. package/dist/Interfaces/Tax/index.js +2 -2
  246. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  247. package/dist/Interfaces/TransferRequest/index.js +46 -46
  248. package/dist/Interfaces/Translation/index.d.ts +8 -8
  249. package/dist/Interfaces/Translation/index.js +5 -5
  250. package/dist/Interfaces/Update/index.d.ts +10 -10
  251. package/dist/Interfaces/Update/index.js +2 -2
  252. package/dist/Interfaces/User/IUser.d.ts +65 -65
  253. package/dist/Interfaces/User/IUser.js +8 -8
  254. package/dist/Interfaces/Version/index.d.ts +11 -11
  255. package/dist/Interfaces/Version/index.js +2 -2
  256. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  257. package/dist/Interfaces/Wishlist/index.js +2 -2
  258. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  259. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  260. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  261. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  262. package/dist/constants/enums.d.ts +6 -6
  263. package/dist/constants/enums.js +10 -10
  264. package/dist/constants/services.d.ts +2 -2
  265. package/dist/constants/services.js +117 -117
  266. package/dist/constants/version.d.ts +2 -2
  267. package/dist/constants/version.js +5 -5
  268. package/dist/index.d.ts +50 -50
  269. package/dist/index.js +266 -266
  270. package/dist/lib/Attribute/index.d.ts +14 -14
  271. package/dist/lib/Attribute/index.js +186 -186
  272. package/dist/lib/BGJob/index.d.ts +9 -9
  273. package/dist/lib/BGJob/index.js +216 -216
  274. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  275. package/dist/lib/BackgroundWorker/index.js +59 -59
  276. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  277. package/dist/lib/Blog/BlogArticle.js +10 -10
  278. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  279. package/dist/lib/Blog/BlogAuthor.js +10 -10
  280. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  281. package/dist/lib/Blog/BlogCategory.js +10 -10
  282. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  283. package/dist/lib/Blog/BlogKeyword.js +10 -10
  284. package/dist/lib/Booking/index.d.ts +85 -85
  285. package/dist/lib/Booking/index.js +596 -596
  286. package/dist/lib/Brand/index.d.ts +26 -26
  287. package/dist/lib/Brand/index.js +131 -131
  288. package/dist/lib/Cart/index.d.ts +335 -335
  289. package/dist/lib/Cart/index.js +3981 -3977
  290. package/dist/lib/Cart/index.js.map +1 -1
  291. package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
  292. package/dist/lib/CartReservedQuantities/index.js +159 -159
  293. package/dist/lib/CashDrawerShift/index.d.ts +83 -83
  294. package/dist/lib/CashDrawerShift/index.js +205 -205
  295. package/dist/lib/Catalogue/index.d.ts +15 -15
  296. package/dist/lib/Catalogue/index.js +78 -78
  297. package/dist/lib/Category/index.d.ts +34 -34
  298. package/dist/lib/Category/index.js +230 -230
  299. package/dist/lib/Class/index.d.ts +16 -16
  300. package/dist/lib/Class/index.js +66 -66
  301. package/dist/lib/Consent/index.d.ts +4 -4
  302. package/dist/lib/Consent/index.js +29 -29
  303. package/dist/lib/Customer/index.d.ts +30 -30
  304. package/dist/lib/Customer/index.js +92 -92
  305. package/dist/lib/Declination/index.d.ts +9 -9
  306. package/dist/lib/Declination/index.js +26 -26
  307. package/dist/lib/Discount/index.d.ts +27 -27
  308. package/dist/lib/Discount/index.js +493 -493
  309. package/dist/lib/ElasticSearch/index.d.ts +13 -13
  310. package/dist/lib/ElasticSearch/index.js +50 -50
  311. package/dist/lib/Elavon/index.d.ts +18 -18
  312. package/dist/lib/Elavon/index.js +135 -135
  313. package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
  314. package/dist/lib/Email/AbandonedCartEmail.js +24 -24
  315. package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
  316. package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
  317. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
  318. package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
  319. package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
  320. package/dist/lib/Email/ApplicationEmail.js +24 -24
  321. package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
  322. package/dist/lib/Email/BackInStockEmail.js +24 -24
  323. package/dist/lib/Email/ContactEmail.d.ts +16 -16
  324. package/dist/lib/Email/ContactEmail.js +24 -24
  325. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
  326. package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
  327. package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
  328. package/dist/lib/Email/CustomerBookingEmail.js +24 -24
  329. package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
  330. package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
  331. package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
  332. package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
  333. package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
  334. package/dist/lib/Email/OrderSampleEmail.js +24 -24
  335. package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
  336. package/dist/lib/Email/OtherTypeEmails.js +27 -27
  337. package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
  338. package/dist/lib/Email/PasswordResetEmail.js +24 -24
  339. package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
  340. package/dist/lib/Email/PhotoShootEmail.js +24 -24
  341. package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
  342. package/dist/lib/Email/PickUpConfirmation.js +24 -24
  343. package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
  344. package/dist/lib/Email/ShippingConfirmation.js +24 -24
  345. package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
  346. package/dist/lib/Email/WelcomeEmail.js +24 -24
  347. package/dist/lib/Email/index.d.ts +16 -16
  348. package/dist/lib/Email/index.js +31 -31
  349. package/dist/lib/ExternalService/Ebay.d.ts +74 -74
  350. package/dist/lib/ExternalService/Ebay.js +124 -124
  351. package/dist/lib/ExternalService/index.d.ts +5 -5
  352. package/dist/lib/ExternalService/index.js +10 -10
  353. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  354. package/dist/lib/FirstOrderTracking/index.js +10 -10
  355. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  356. package/dist/lib/Indexed/IndexedCart.js +91 -91
  357. package/dist/lib/Indexed/Product.d.ts +17 -17
  358. package/dist/lib/Indexed/Product.js +98 -98
  359. package/dist/lib/Inventory/index.d.ts +112 -112
  360. package/dist/lib/Inventory/index.js +492 -492
  361. package/dist/lib/Invoice/index.d.ts +16 -16
  362. package/dist/lib/Invoice/index.js +21 -21
  363. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  364. package/dist/lib/MarketplacePublication/index.js +426 -426
  365. package/dist/lib/Menu/index.d.ts +11 -11
  366. package/dist/lib/Menu/index.js +107 -107
  367. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  368. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  369. package/dist/lib/Note/index.d.ts +4 -4
  370. package/dist/lib/Note/index.js +6 -6
  371. package/dist/lib/Order/index.d.ts +27 -27
  372. package/dist/lib/Order/index.js +56 -56
  373. package/dist/lib/Org/index.d.ts +68 -68
  374. package/dist/lib/Org/index.js +216 -216
  375. package/dist/lib/PandaPay/index.d.ts +16 -16
  376. package/dist/lib/PandaPay/index.js +176 -176
  377. package/dist/lib/Paysafe/index.d.ts +11 -11
  378. package/dist/lib/Paysafe/index.js +41 -41
  379. package/dist/lib/Product/index.d.ts +182 -182
  380. package/dist/lib/Product/index.js +847 -847
  381. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  382. package/dist/lib/ProductAttribute/index.js +45 -45
  383. package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
  384. package/dist/lib/PromiseToPurchase/index.js +343 -343
  385. package/dist/lib/PurchaseOrder/index.d.ts +20 -20
  386. package/dist/lib/PurchaseOrder/index.js +28 -28
  387. package/dist/lib/Queue/index.d.ts +40 -40
  388. package/dist/lib/Queue/index.js +254 -254
  389. package/dist/lib/Schedule/index.d.ts +5 -5
  390. package/dist/lib/Schedule/index.js +12 -12
  391. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  392. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  393. package/dist/lib/Service/index.d.ts +13 -13
  394. package/dist/lib/Service/index.js +21 -21
  395. package/dist/lib/Shipment/index.d.ts +28 -28
  396. package/dist/lib/Shipment/index.js +370 -370
  397. package/dist/lib/Slider/index.d.ts +22 -22
  398. package/dist/lib/Slider/index.js +119 -119
  399. package/dist/lib/Space/index.d.ts +1150 -1150
  400. package/dist/lib/Space/index.js +5792 -5792
  401. package/dist/lib/StockNotification/index.d.ts +4 -4
  402. package/dist/lib/StockNotification/index.js +6 -6
  403. package/dist/lib/Store/index.d.ts +5 -5
  404. package/dist/lib/Store/index.js +12 -12
  405. package/dist/lib/Supplier/Command.d.ts +5 -5
  406. package/dist/lib/Supplier/Command.js +10 -10
  407. package/dist/lib/Supplier/index.d.ts +25 -25
  408. package/dist/lib/Supplier/index.js +27 -27
  409. package/dist/lib/Tags/index.d.ts +6 -6
  410. package/dist/lib/Tags/index.js +26 -26
  411. package/dist/lib/Tax/index.d.ts +8 -8
  412. package/dist/lib/Tax/index.js +54 -54
  413. package/dist/lib/TransferRequest/index.d.ts +290 -290
  414. package/dist/lib/TransferRequest/index.js +1026 -1026
  415. package/dist/lib/Update/index.d.ts +10 -10
  416. package/dist/lib/Update/index.js +22 -22
  417. package/dist/lib/User/index.d.ts +89 -89
  418. package/dist/lib/User/index.js +328 -328
  419. package/dist/lib/Wishlist/index.d.ts +5 -5
  420. package/dist/lib/Wishlist/index.js +10 -10
  421. package/dist/lib/base.d.ts +14 -14
  422. package/dist/lib/base.js +62 -62
  423. package/dist/lib/baseService.d.ts +17 -17
  424. package/dist/lib/baseService.js +69 -69
  425. package/dist/rules/GR/constants/data.d.ts +26 -26
  426. package/dist/rules/GR/constants/data.js +81 -81
  427. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  428. package/dist/rules/GR/constants/expedition.js +9 -9
  429. package/dist/rules/GR/constants/products.d.ts +22 -22
  430. package/dist/rules/GR/constants/products.js +263 -263
  431. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  432. package/dist/rules/GR/interfaces/cart.js +41 -41
  433. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  434. package/dist/rules/GR/interfaces/data.js +114 -114
  435. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  436. package/dist/rules/GR/interfaces/products.js +10 -10
  437. package/dist/rules/GR/utils/cart.d.ts +95 -95
  438. package/dist/rules/GR/utils/cart.js +839 -836
  439. package/dist/rules/GR/utils/cart.js.map +1 -1
  440. package/dist/rules/GR/utils/data.d.ts +3 -3
  441. package/dist/rules/GR/utils/data.js +28 -28
  442. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  443. package/dist/rules/GR/utils/expedition.js +2016 -2016
  444. package/dist/rules/GR/utils/g2.d.ts +209 -209
  445. package/dist/rules/GR/utils/g2.js +999 -999
  446. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  447. package/dist/rules/GR/utils/invoices.js +215 -215
  448. package/dist/rules/GR/utils/products.d.ts +277 -277
  449. package/dist/rules/GR/utils/products.js +1350 -1350
  450. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  451. package/dist/rules/GR/utils/upsells.js +215 -215
  452. package/dist/services/database/BaseProvider.d.ts +29 -29
  453. package/dist/services/database/BaseProvider.js +28 -28
  454. package/dist/services/database/BatchUtils.d.ts +14 -14
  455. package/dist/services/database/BatchUtils.js +43 -43
  456. package/dist/services/database/Config.d.ts +2 -2
  457. package/dist/services/database/Config.js +5 -5
  458. package/dist/services/database/DatabaseService.d.ts +125 -125
  459. package/dist/services/database/DatabaseService.js +237 -237
  460. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  461. package/dist/services/database/FirebaseProvider.js +235 -235
  462. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  463. package/dist/services/database/NotFirebaseProvider.js +262 -262
  464. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  465. package/dist/services/g2/G2OrderSlip.js +228 -228
  466. package/dist/services/g2/utils.d.ts +19 -19
  467. package/dist/services/g2/utils.js +953 -953
  468. package/dist/services/logs/index.d.ts +23 -23
  469. package/dist/services/logs/index.js +66 -66
  470. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +52 -52
  471. package/dist/services/marketplace/BaseMarketServiceClass.js +111 -111
  472. package/dist/services/marketplace/CardtraderServiceClass.d.ts +17 -17
  473. package/dist/services/marketplace/CardtraderServiceClass.js +139 -139
  474. package/dist/services/marketplace/utils.d.ts +14 -14
  475. package/dist/services/marketplace/utils.js +29 -29
  476. package/dist/services/products/BaseClass.d.ts +50 -50
  477. package/dist/services/products/BaseClass.js +66 -66
  478. package/dist/services/products/TCGService.d.ts +32 -32
  479. package/dist/services/products/TCGService.js +555 -555
  480. package/dist/services/products/utils.d.ts +31 -31
  481. package/dist/services/products/utils.js +144 -144
  482. package/dist/utils/algolia.d.ts +46 -46
  483. package/dist/utils/algolia.js +21 -21
  484. package/dist/utils/anonymisation.d.ts +54 -54
  485. package/dist/utils/anonymisation.js +280 -280
  486. package/dist/utils/array.d.ts +5 -5
  487. package/dist/utils/array.js +14 -14
  488. package/dist/utils/aws.d.ts +36 -36
  489. package/dist/utils/aws.js +154 -154
  490. package/dist/utils/booking.d.ts +30 -30
  491. package/dist/utils/booking.js +127 -127
  492. package/dist/utils/cart.d.ts +259 -259
  493. package/dist/utils/cart.js +1145 -1145
  494. package/dist/utils/categories.d.ts +2 -2
  495. package/dist/utils/categories.js +54 -54
  496. package/dist/utils/cmv.d.ts +10 -10
  497. package/dist/utils/cmv.js +107 -107
  498. package/dist/utils/console.d.ts +6 -6
  499. package/dist/utils/console.js +59 -59
  500. package/dist/utils/context.d.ts +20 -20
  501. package/dist/utils/context.js +61 -61
  502. package/dist/utils/currency.d.ts +6 -6
  503. package/dist/utils/currency.js +91 -91
  504. package/dist/utils/data.d.ts +31 -31
  505. package/dist/utils/data.js +296 -296
  506. package/dist/utils/date.d.ts +1 -1
  507. package/dist/utils/date.js +16 -16
  508. package/dist/utils/dimensions.d.ts +3 -3
  509. package/dist/utils/dimensions.js +16 -16
  510. package/dist/utils/discount.d.ts +164 -164
  511. package/dist/utils/discount.js +1111 -1111
  512. package/dist/utils/errors.d.ts +113 -113
  513. package/dist/utils/errors.js +113 -113
  514. package/dist/utils/file-admin.d.ts +8 -8
  515. package/dist/utils/file-admin.js +39 -39
  516. package/dist/utils/file.d.ts +39 -39
  517. package/dist/utils/file.js +208 -208
  518. package/dist/utils/firebase-admin.d.ts +11 -11
  519. package/dist/utils/firebase-admin.js +73 -73
  520. package/dist/utils/firebase.d.ts +58 -58
  521. package/dist/utils/firebase.js +148 -148
  522. package/dist/utils/import.d.ts +1 -1
  523. package/dist/utils/import.js +21 -21
  524. package/dist/utils/inventories.d.ts +101 -101
  525. package/dist/utils/inventories.js +467 -467
  526. package/dist/utils/locale.d.ts +24 -24
  527. package/dist/utils/locale.js +89 -89
  528. package/dist/utils/mailchimp.d.ts +58 -58
  529. package/dist/utils/mailchimp.js +531 -531
  530. package/dist/utils/mathUtils.d.ts +17 -17
  531. package/dist/utils/mathUtils.js +324 -324
  532. package/dist/utils/mongodb.d.ts +1 -1
  533. package/dist/utils/mongodb.js +22 -22
  534. package/dist/utils/object.d.ts +32 -32
  535. package/dist/utils/object.js +133 -133
  536. package/dist/utils/payment.d.ts +10 -10
  537. package/dist/utils/payment.js +23 -23
  538. package/dist/utils/products.d.ts +39 -39
  539. package/dist/utils/products.js +195 -195
  540. package/dist/utils/promiseToPurchase.d.ts +88 -88
  541. package/dist/utils/promiseToPurchase.js +229 -229
  542. package/dist/utils/prosprsearch.d.ts +42 -42
  543. package/dist/utils/prosprsearch.js +216 -216
  544. package/dist/utils/refunds.d.ts +2 -2
  545. package/dist/utils/refunds.js +21 -21
  546. package/dist/utils/sdc.d.ts +10 -10
  547. package/dist/utils/sdc.js +1309 -1309
  548. package/dist/utils/searchIndexes.d.ts +58 -58
  549. package/dist/utils/searchIndexes.js +247 -247
  550. package/dist/utils/services.d.ts +42 -42
  551. package/dist/utils/services.js +409 -409
  552. package/dist/utils/shipment.d.ts +110 -110
  553. package/dist/utils/shipment.js +345 -345
  554. package/dist/utils/simpletexting.d.ts +2 -2
  555. package/dist/utils/simpletexting.js +45 -45
  556. package/dist/utils/sliders.d.ts +4 -4
  557. package/dist/utils/sliders.js +24 -24
  558. package/dist/utils/string.d.ts +16 -16
  559. package/dist/utils/string.js +192 -192
  560. package/dist/utils/tcgService.d.ts +74 -74
  561. package/dist/utils/tcgService.js +308 -308
  562. package/dist/utils/tools.d.ts +5 -5
  563. package/dist/utils/tools.js +13 -13
  564. package/dist/utils/transferRequests.d.ts +43 -43
  565. package/dist/utils/transferRequests.js +67 -67
  566. package/dist/utils/update.d.ts +7 -7
  567. package/dist/utils/update.js +137 -137
  568. package/dist/utils/weight.d.ts +3 -3
  569. package/dist/utils/weight.js +16 -16
  570. package/dist/utils/zones.d.ts +11 -11
  571. package/dist/utils/zones.js +218 -218
  572. package/package.json +107 -107
  573. package/publish.sh +143 -143
  574. package/readme.md +182 -182
@@ -1,371 +1,371 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const isomorphic_unfetch_1 = __importDefault(require("isomorphic-unfetch"));
30
- const map_1 = __importDefault(require("lodash/map"));
31
- const minBy_1 = __importDefault(require("lodash/minBy"));
32
- const sumBy_1 = __importDefault(require("lodash/sumBy"));
33
- const toNumber_1 = __importDefault(require("lodash/toNumber"));
34
- const toString_1 = __importDefault(require("lodash/toString"));
35
- const console_1 = require("../../utils/console");
36
- const shipment_1 = require("../../utils/shipment");
37
- const Cart_1 = __importDefault(require("../Cart"));
38
- const convert = __importStar(require("xml-js"));
39
- const moment_1 = __importDefault(require("moment"));
40
- const currency_1 = require("../../utils/currency");
41
- class Shipment {
42
- constructor(cart, shipmentService) {
43
- this._getPriceByCurrency = (amount, fromCurrency, space) => !!!space
44
- ? undefined
45
- : (0, toNumber_1.default)((0, currency_1.calculateAmountByCurrency)(space, space.preferences.default.currency(), typeof amount === 'string' ? (0, toNumber_1.default)(amount) : amount, fromCurrency));
46
- this.getShippingQuotes = async (space, fromAddress, fromServer = false, doNotPackage) => {
47
- if (!!!this._cart)
48
- throw new Error(`Cart can't be null`);
49
- const quotes = [];
50
- for (const ss of this._shipmentService) {
51
- (0, console_1.workingMessage)(`Calling ${ss.external_service_name} service... for good`);
52
- const requestHeader = ss.external_service_name === 'Livraison sur mesure'
53
- ? { url: '', type: '', headers: {} }
54
- : (0, shipment_1.quotesUrl)(ss.external_service_infos, ss.external_service_name);
55
- if (!!!requestHeader)
56
- continue;
57
- const { url, type: method, headers } = requestHeader;
58
- try {
59
- const body = ss.external_service_name === 'Livraison sur mesure'
60
- ? { custom: true }
61
- : await (0, shipment_1.getBodyForQuoteRequest)(ss, this._cart, fromAddress, doNotPackage);
62
- if (!!!body)
63
- return [];
64
- //#region SHIPSTATION
65
- if (Array.isArray(body) && ['shipstation', 'shiptime'].includes(ss.external_service_name)) {
66
- for (const q of body) {
67
- try {
68
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
69
- headers: !!fromServer
70
- ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
71
- : { 'content-type': 'application/json' },
72
- method: !!fromServer ? method : 'POST',
73
- body: !!fromServer
74
- ? JSON.stringify(q)
75
- : JSON.stringify({
76
- props: { body: q, headers, method },
77
- url
78
- })
79
- });
80
- if (quoteReq.status.toString().charAt(0) !== '2')
81
- continue;
82
- const quoteJson = await quoteReq.json();
83
- quotes.push(quoteJson.map((quote) => {
84
- if (ss.external_service_name !== 'shipstation') {
85
- // Shiptime
86
- return Object.assign(Object.assign({}, quote), { quote_id: quote.quoteId, carrier: quote.carrierName, base_fee: quote.totalCharge.amount / 100, service: quote.serviceName, service_code: quote.serviceId, details: q, provider_name: 'shiptime' });
87
- }
88
- // Shipstation
89
- return Object.assign(Object.assign({}, quote), { carrier: q.carrierCode, base_fee: quote.shipmentCost, service: quote.serviceName, service_code: quote.serviceCode, details: q, provider_name: 'shipstation' });
90
- }));
91
- }
92
- catch (error) {
93
- (0, console_1.errorMessage)(error);
94
- continue;
95
- }
96
- }
97
- continue;
98
- // return this._shippingQuote
99
- }
100
- //#endregion
101
- //#region SHIPTIME
102
- if (ss.external_service_name === 'shiptime') {
103
- try {
104
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
105
- headers: !!fromServer
106
- ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
107
- : { 'content-type': 'application/json' },
108
- method: !!fromServer ? method : 'POST',
109
- body: !!fromServer ? JSON.stringify(body) : JSON.stringify({ props: { body, headers, method }, url })
110
- });
111
- if (quoteReq.status.toString().charAt(0) === '4') {
112
- const errors = (await quoteReq.json());
113
- console.log(`errors while fetching quote with status ${quoteReq.status}`, errors);
114
- continue;
115
- }
116
- const quoteJson = await quoteReq.json();
117
- quoteJson.availableRates.map((quote) => {
118
- const merchant_shipping_fee = Cart_1.default.calculateMerchantShippingFee(quote.totalBeforeTaxes.amount / 100, space.data());
119
- const newQuote = {
120
- quote_id: quote.quoteId,
121
- carrier: quote.carrierName,
122
- service: quote.serviceName,
123
- service_code: quote.serviceId,
124
- base_fee: this._getPriceByCurrency(quote.baseCharge.amount / 100, quote.baseCharge.currency, space),
125
- totalBeforeTaxes: this._getPriceByCurrency(quote.totalBeforeTaxes.amount / 100, quote.totalBeforeTaxes.currency, space),
126
- method: 'shipping',
127
- details: body,
128
- transit_days: quote.transitDays,
129
- is_lowest: false,
130
- is_fastest: false,
131
- provider: 'shiptime',
132
- surcharges: !!quote.surcharges
133
- ? quote.surcharges.map((surcharge) => ({
134
- name: surcharge.name,
135
- amount: this._getPriceByCurrency(surcharge.price.amount / 100, surcharge.price.currency, space)
136
- }))
137
- : [],
138
- taxes: !!quote.taxes
139
- ? quote.taxes.map((tax) => ({
140
- name: tax.name,
141
- amount: this._getPriceByCurrency(tax.price.amount / 100, tax.price.currency, space)
142
- }))
143
- : [],
144
- merchant_shipping_fee: merchant_shipping_fee,
145
- total: this._getPriceByCurrency(quote.totalCharge.amount / 100, quote.totalCharge.currency, space)
146
- };
147
- quotes.push(newQuote);
148
- return newQuote;
149
- });
150
- }
151
- catch (error) {
152
- console.log('error: ', error);
153
- console.log(error.toString());
154
- }
155
- }
156
- //#endregion
157
- //#region CANADA POST
158
- if (ss.external_service_name === 'Poste Canada') {
159
- try {
160
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
161
- headers: !!fromServer ? Object.assign({}, headers) : { 'content-type': 'application/json' },
162
- method: !!fromServer ? method : 'POST',
163
- body: !!fromServer ? body : JSON.stringify({ props: { body, headers, method }, url })
164
- });
165
- if (quoteReq.status.toString().charAt(0) === '4') {
166
- const errors = (await quoteReq.text());
167
- if (!!errors) {
168
- return errors;
169
- }
170
- if (!!!errors)
171
- continue;
172
- }
173
- const quoteXML = !!fromServer ? await quoteReq.text() : await quoteReq.json();
174
- const quoteJson = JSON.parse(convert.xml2json(quoteXML, { compact: true }));
175
- quoteJson['price-quotes']['price-quote'].forEach((qJson) => {
176
- let ajustmentObj = qJson['price-details'].adjustments.adjustment;
177
- if (!Array.isArray(ajustmentObj))
178
- ajustmentObj = [ajustmentObj];
179
- const surchage = (0, sumBy_1.default)(ajustmentObj, (a) => (0, toNumber_1.default)(a['adjustment-cost']._text));
180
- quotes.push(Object.assign(Object.assign({}, qJson), { surcharges: (0, map_1.default)(ajustmentObj.map((a) => ({
181
- price: {
182
- currency: 'CAD',
183
- amount: (0, toNumber_1.default)(a['adjustment-cost']._text) * 100
184
- },
185
- code: a['adjustment-code']._text,
186
- name: a['adjustment-name']._text
187
- }))), taxes: (0, map_1.default)(qJson['price-details'].taxes, (t, ti) => ({
188
- price: { currency: 'CAD', amount: (0, toNumber_1.default)(t._text) * 100 },
189
- code: (0, toString_1.default)(ti).toUpperCase(),
190
- name: (0, toString_1.default)(ti).toUpperCase()
191
- })), totalCharge: {
192
- amount: (0, toNumber_1.default)(qJson['price-details']['due']._text) * 100,
193
- currency: 'CAD'
194
- }, totalBeforeTaxes: {
195
- amount: ((0, toNumber_1.default)(qJson['price-details']['base']._text) + surchage) * 100,
196
- currency: 'CAD'
197
- }, carrier: 'Poste Canada', base_fee: (0, toNumber_1.default)(qJson['price-details']['base']._text) + surchage, baseCharge: {
198
- amount: (0, toNumber_1.default)(qJson['price-details']['base']._text) * 100,
199
- currency: 'CAD'
200
- }, service: qJson['service-name']._text, serviceName: qJson['service-name']._text, service_code: qJson['service-code']._text, serviceCode: qJson['service-code']._text, provider_name: 'Poste Canada', provider: 'Poste Canada', transit_days: (0, toNumber_1.default)(qJson['service-standard']['expected-transit-time']._text), estimatedShippingDate: qJson['service-standard']['expected-delivery-date']
201
- ? (0, moment_1.default)(qJson['service-standard']['expected-delivery-date']._text).toString()
202
- : undefined }));
203
- });
204
- }
205
- catch (error) {
206
- console.log('error: ', error);
207
- console.log(error.toString());
208
- }
209
- }
210
- //#endregion
211
- //#region CUSTOM SHIPPING
212
- (0, console_1.workingMessage)(`Looking for ${ss.external_service_name}`);
213
- if (ss.external_service_name === 'Livraison sur mesure') {
214
- quotes.push({
215
- baseCharge: {
216
- amount: 10000,
217
- currency: 'CAD'
218
- },
219
- surcharges: [],
220
- taxes: [],
221
- totalCharge: {
222
- amount: 10000,
223
- currency: 'CAD'
224
- },
225
- totalBeforeTaxes: {
226
- amount: 10000,
227
- currency: 'CAD'
228
- },
229
- carrier: 'Groupe Richer',
230
- base_fee: 100,
231
- service: 'groupe-richer',
232
- serviceName: 'Groupe Richer',
233
- service_code: 'gr',
234
- serviceCode: 'gr',
235
- provider_name: 'Groupe Richer',
236
- provider: 'Groupe Richer'
237
- });
238
- }
239
- //#endregion
240
- }
241
- catch (error) {
242
- console.log('error: ', error);
243
- console.log(error.toString());
244
- continue;
245
- }
246
- }
247
- this._shippingQuote = quotes;
248
- const lowest = (0, minBy_1.default)(quotes, (q) => q.base_fee);
249
- return (0, map_1.default)(quotes, (q) => {
250
- if (!!!lowest)
251
- return q;
252
- if (q.base_fee !== lowest.base_fee)
253
- return q;
254
- return Object.assign(Object.assign({}, q), { is_lowest: true });
255
- });
256
- };
257
- this.getServiceOfQuote = (quote) => {
258
- const service = this._shipmentService.find((a) => a.external_service_name.toLowerCase() === (0, toString_1.default)(quote.provider_name || quote.provider || '').toLowerCase());
259
- if (!!!service)
260
- throw new Error(`Can't find provider ${quote.provider} (${!!quote.provider_name})`);
261
- return service;
262
- };
263
- this.approveQuote = async (quote, fromServer, canadaPostProps) => {
264
- if (!!!this._cart)
265
- throw new Error(`Cart can't be null`);
266
- const service = this.getServiceOfQuote(quote);
267
- const requestHeader = (0, shipment_1.createShipmentUrl)(service.external_service_infos, service.external_service_name);
268
- if (!!!requestHeader)
269
- throw new Error(`Can't access service provider. Please validate your external services configuration`);
270
- const { url, type: method, headers } = requestHeader;
271
- if (!!!quote) {
272
- quote = this._shippingQuote;
273
- }
274
- if (!!!quote) {
275
- throw new Error(`Quote expected`);
276
- }
277
- const body = (0, shipment_1.getBodyForQuoteApprove)(service, quote, canadaPostProps);
278
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
279
- headers: !!fromServer
280
- ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
281
- : { 'content-type': 'application/json' },
282
- method: !!fromServer ? method : 'POST',
283
- body: !!fromServer ? JSON.stringify(body) : JSON.stringify({ props: { body, headers, method }, url })
284
- });
285
- if (quoteReq.status.toString() !== '200')
286
- throw new Error(`Error while fetching quotes: ${quoteReq.statusText}`);
287
- let details;
288
- if (!!headers['Content-Type'] && headers['Content-Type'].includes('xml')) {
289
- try {
290
- const type = quoteReq.headers.get('Content-Type');
291
- const quoteXML = !!!type || !type.includes('json') ? await quoteReq.text() : await quoteReq.json();
292
- details = JSON.parse(convert.xml2json(quoteXML));
293
- details = Object.assign(Object.assign({}, details), { labelUrl: details['elements'][0]['elements']
294
- .find((a) => a.name === 'links')
295
- .elements.find((e) => !!e.attributes && e.attributes.rel === 'label').attributes.href, deleteUrl: details['elements'][0]['elements']
296
- .find((a) => a.name === 'links')
297
- .elements.find((e) => !!e.attributes && e.attributes.rel === 'self').attributes.href });
298
- }
299
- catch (error) {
300
- (0, console_1.errorMessage)(error.toString());
301
- throw new Error(`Can't process shipping label. Please contact us with the quote ${JSON.stringify(quote)}`);
302
- }
303
- }
304
- else {
305
- details = await quoteReq.json();
306
- }
307
- return { confirmed: true, details };
308
- };
309
- this.cancelShipping = async (orderId, fromServer, deleteUrl) => {
310
- let error = undefined;
311
- for (const ss of this._shipmentService) {
312
- const requestHeader = (0, shipment_1.deleteShipmentUrl)(Object.assign(Object.assign({}, ss.external_service_infos), { orderId, deleteUrl }), ss.external_service_name);
313
- if (!!!requestHeader)
314
- continue;
315
- const { url, type: method, headers } = requestHeader;
316
- try {
317
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
318
- headers: !!fromServer
319
- ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
320
- : { 'content-type': 'application/json' },
321
- method: !!fromServer ? method : 'POST',
322
- body: JSON.stringify({ props: { headers, method }, url })
323
- });
324
- if (quoteReq.status.toString() !== '200')
325
- continue;
326
- return { confirmed: true, error };
327
- }
328
- catch (error) {
329
- error = error;
330
- (0, console_1.errorMessage)(`Error while calling order service ${error} - ${JSON.stringify(error)}`);
331
- continue;
332
- }
333
- }
334
- return { confirmed: false, error: `Can't void shipping` };
335
- };
336
- this.getLabel = async (labelUrl, fromServer) => {
337
- for (const ss of this._shipmentService) {
338
- try {
339
- const requestHeader = (0, shipment_1.createShipmentLabelUrl)(Object.assign(Object.assign({}, ss.external_service_infos), { labelUrl }), ss.external_service_name);
340
- if (!!!requestHeader)
341
- // throw new Error(`Can't access service provider. Please validate your external services configuration`)
342
- continue;
343
- const { url, type: method, headers } = requestHeader;
344
- const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
345
- headers: !!fromServer
346
- ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
347
- : { 'content-type': 'application/json' },
348
- method: !!fromServer ? method : 'POST',
349
- body: JSON.stringify({ props: { headers, method }, url })
350
- });
351
- if (quoteReq.status.toString() !== '200')
352
- continue;
353
- // throw new Error(`Error while getting label order: ${quoteReq.statusText}`)
354
- const type = quoteReq.headers.get('Content-Type');
355
- const details = !!!type || !type.includes('json') ? await quoteReq.text() : await quoteReq.json();
356
- return { confirmed: true, label: details };
357
- }
358
- catch (error) {
359
- console.log(error);
360
- console.log('erreur: ', JSON.stringify(error));
361
- continue;
362
- }
363
- }
364
- };
365
- this._shipmentService = shipmentService;
366
- this._shippingQuote = undefined;
367
- this._cart = cart;
368
- }
369
- }
370
- exports.default = Shipment;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const isomorphic_unfetch_1 = __importDefault(require("isomorphic-unfetch"));
30
+ const map_1 = __importDefault(require("lodash/map"));
31
+ const minBy_1 = __importDefault(require("lodash/minBy"));
32
+ const sumBy_1 = __importDefault(require("lodash/sumBy"));
33
+ const toNumber_1 = __importDefault(require("lodash/toNumber"));
34
+ const toString_1 = __importDefault(require("lodash/toString"));
35
+ const console_1 = require("../../utils/console");
36
+ const shipment_1 = require("../../utils/shipment");
37
+ const Cart_1 = __importDefault(require("../Cart"));
38
+ const convert = __importStar(require("xml-js"));
39
+ const moment_1 = __importDefault(require("moment"));
40
+ const currency_1 = require("../../utils/currency");
41
+ class Shipment {
42
+ constructor(cart, shipmentService) {
43
+ this._getPriceByCurrency = (amount, fromCurrency, space) => !!!space
44
+ ? undefined
45
+ : (0, toNumber_1.default)((0, currency_1.calculateAmountByCurrency)(space, space.preferences.default.currency(), typeof amount === 'string' ? (0, toNumber_1.default)(amount) : amount, fromCurrency));
46
+ this.getShippingQuotes = async (space, fromAddress, fromServer = false, doNotPackage) => {
47
+ if (!!!this._cart)
48
+ throw new Error(`Cart can't be null`);
49
+ const quotes = [];
50
+ for (const ss of this._shipmentService) {
51
+ (0, console_1.workingMessage)(`Calling ${ss.external_service_name} service... for good`);
52
+ const requestHeader = ss.external_service_name === 'Livraison sur mesure'
53
+ ? { url: '', type: '', headers: {} }
54
+ : (0, shipment_1.quotesUrl)(ss.external_service_infos, ss.external_service_name);
55
+ if (!!!requestHeader)
56
+ continue;
57
+ const { url, type: method, headers } = requestHeader;
58
+ try {
59
+ const body = ss.external_service_name === 'Livraison sur mesure'
60
+ ? { custom: true }
61
+ : await (0, shipment_1.getBodyForQuoteRequest)(ss, this._cart, fromAddress, doNotPackage);
62
+ if (!!!body)
63
+ return [];
64
+ //#region SHIPSTATION
65
+ if (Array.isArray(body) && ['shipstation', 'shiptime'].includes(ss.external_service_name)) {
66
+ for (const q of body) {
67
+ try {
68
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
69
+ headers: !!fromServer
70
+ ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
71
+ : { 'content-type': 'application/json' },
72
+ method: !!fromServer ? method : 'POST',
73
+ body: !!fromServer
74
+ ? JSON.stringify(q)
75
+ : JSON.stringify({
76
+ props: { body: q, headers, method },
77
+ url
78
+ })
79
+ });
80
+ if (quoteReq.status.toString().charAt(0) !== '2')
81
+ continue;
82
+ const quoteJson = await quoteReq.json();
83
+ quotes.push(quoteJson.map((quote) => {
84
+ if (ss.external_service_name !== 'shipstation') {
85
+ // Shiptime
86
+ return Object.assign(Object.assign({}, quote), { quote_id: quote.quoteId, carrier: quote.carrierName, base_fee: quote.totalCharge.amount / 100, service: quote.serviceName, service_code: quote.serviceId, details: q, provider_name: 'shiptime' });
87
+ }
88
+ // Shipstation
89
+ return Object.assign(Object.assign({}, quote), { carrier: q.carrierCode, base_fee: quote.shipmentCost, service: quote.serviceName, service_code: quote.serviceCode, details: q, provider_name: 'shipstation' });
90
+ }));
91
+ }
92
+ catch (error) {
93
+ (0, console_1.errorMessage)(error);
94
+ continue;
95
+ }
96
+ }
97
+ continue;
98
+ // return this._shippingQuote
99
+ }
100
+ //#endregion
101
+ //#region SHIPTIME
102
+ if (ss.external_service_name === 'shiptime') {
103
+ try {
104
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
105
+ headers: !!fromServer
106
+ ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
107
+ : { 'content-type': 'application/json' },
108
+ method: !!fromServer ? method : 'POST',
109
+ body: !!fromServer ? JSON.stringify(body) : JSON.stringify({ props: { body, headers, method }, url })
110
+ });
111
+ if (quoteReq.status.toString().charAt(0) === '4') {
112
+ const errors = (await quoteReq.json());
113
+ console.log(`errors while fetching quote with status ${quoteReq.status}`, errors);
114
+ continue;
115
+ }
116
+ const quoteJson = await quoteReq.json();
117
+ quoteJson.availableRates.map((quote) => {
118
+ const merchant_shipping_fee = Cart_1.default.calculateMerchantShippingFee(quote.totalBeforeTaxes.amount / 100, space.data());
119
+ const newQuote = {
120
+ quote_id: quote.quoteId,
121
+ carrier: quote.carrierName,
122
+ service: quote.serviceName,
123
+ service_code: quote.serviceId,
124
+ base_fee: this._getPriceByCurrency(quote.baseCharge.amount / 100, quote.baseCharge.currency, space),
125
+ totalBeforeTaxes: this._getPriceByCurrency(quote.totalBeforeTaxes.amount / 100, quote.totalBeforeTaxes.currency, space),
126
+ method: 'shipping',
127
+ details: body,
128
+ transit_days: quote.transitDays,
129
+ is_lowest: false,
130
+ is_fastest: false,
131
+ provider: 'shiptime',
132
+ surcharges: !!quote.surcharges
133
+ ? quote.surcharges.map((surcharge) => ({
134
+ name: surcharge.name,
135
+ amount: this._getPriceByCurrency(surcharge.price.amount / 100, surcharge.price.currency, space)
136
+ }))
137
+ : [],
138
+ taxes: !!quote.taxes
139
+ ? quote.taxes.map((tax) => ({
140
+ name: tax.name,
141
+ amount: this._getPriceByCurrency(tax.price.amount / 100, tax.price.currency, space)
142
+ }))
143
+ : [],
144
+ merchant_shipping_fee: merchant_shipping_fee,
145
+ total: this._getPriceByCurrency(quote.totalCharge.amount / 100, quote.totalCharge.currency, space)
146
+ };
147
+ quotes.push(newQuote);
148
+ return newQuote;
149
+ });
150
+ }
151
+ catch (error) {
152
+ console.log('error: ', error);
153
+ console.log(error.toString());
154
+ }
155
+ }
156
+ //#endregion
157
+ //#region CANADA POST
158
+ if (ss.external_service_name === 'Poste Canada') {
159
+ try {
160
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
161
+ headers: !!fromServer ? Object.assign({}, headers) : { 'content-type': 'application/json' },
162
+ method: !!fromServer ? method : 'POST',
163
+ body: !!fromServer ? body : JSON.stringify({ props: { body, headers, method }, url })
164
+ });
165
+ if (quoteReq.status.toString().charAt(0) === '4') {
166
+ const errors = (await quoteReq.text());
167
+ if (!!errors) {
168
+ return errors;
169
+ }
170
+ if (!!!errors)
171
+ continue;
172
+ }
173
+ const quoteXML = !!fromServer ? await quoteReq.text() : await quoteReq.json();
174
+ const quoteJson = JSON.parse(convert.xml2json(quoteXML, { compact: true }));
175
+ quoteJson['price-quotes']['price-quote'].forEach((qJson) => {
176
+ let ajustmentObj = qJson['price-details'].adjustments.adjustment;
177
+ if (!Array.isArray(ajustmentObj))
178
+ ajustmentObj = [ajustmentObj];
179
+ const surchage = (0, sumBy_1.default)(ajustmentObj, (a) => (0, toNumber_1.default)(a['adjustment-cost']._text));
180
+ quotes.push(Object.assign(Object.assign({}, qJson), { surcharges: (0, map_1.default)(ajustmentObj.map((a) => ({
181
+ price: {
182
+ currency: 'CAD',
183
+ amount: (0, toNumber_1.default)(a['adjustment-cost']._text) * 100
184
+ },
185
+ code: a['adjustment-code']._text,
186
+ name: a['adjustment-name']._text
187
+ }))), taxes: (0, map_1.default)(qJson['price-details'].taxes, (t, ti) => ({
188
+ price: { currency: 'CAD', amount: (0, toNumber_1.default)(t._text) * 100 },
189
+ code: (0, toString_1.default)(ti).toUpperCase(),
190
+ name: (0, toString_1.default)(ti).toUpperCase()
191
+ })), totalCharge: {
192
+ amount: (0, toNumber_1.default)(qJson['price-details']['due']._text) * 100,
193
+ currency: 'CAD'
194
+ }, totalBeforeTaxes: {
195
+ amount: ((0, toNumber_1.default)(qJson['price-details']['base']._text) + surchage) * 100,
196
+ currency: 'CAD'
197
+ }, carrier: 'Poste Canada', base_fee: (0, toNumber_1.default)(qJson['price-details']['base']._text) + surchage, baseCharge: {
198
+ amount: (0, toNumber_1.default)(qJson['price-details']['base']._text) * 100,
199
+ currency: 'CAD'
200
+ }, service: qJson['service-name']._text, serviceName: qJson['service-name']._text, service_code: qJson['service-code']._text, serviceCode: qJson['service-code']._text, provider_name: 'Poste Canada', provider: 'Poste Canada', transit_days: (0, toNumber_1.default)(qJson['service-standard']['expected-transit-time']._text), estimatedShippingDate: qJson['service-standard']['expected-delivery-date']
201
+ ? (0, moment_1.default)(qJson['service-standard']['expected-delivery-date']._text).toString()
202
+ : undefined }));
203
+ });
204
+ }
205
+ catch (error) {
206
+ console.log('error: ', error);
207
+ console.log(error.toString());
208
+ }
209
+ }
210
+ //#endregion
211
+ //#region CUSTOM SHIPPING
212
+ (0, console_1.workingMessage)(`Looking for ${ss.external_service_name}`);
213
+ if (ss.external_service_name === 'Livraison sur mesure') {
214
+ quotes.push({
215
+ baseCharge: {
216
+ amount: 10000,
217
+ currency: 'CAD'
218
+ },
219
+ surcharges: [],
220
+ taxes: [],
221
+ totalCharge: {
222
+ amount: 10000,
223
+ currency: 'CAD'
224
+ },
225
+ totalBeforeTaxes: {
226
+ amount: 10000,
227
+ currency: 'CAD'
228
+ },
229
+ carrier: 'Groupe Richer',
230
+ base_fee: 100,
231
+ service: 'groupe-richer',
232
+ serviceName: 'Groupe Richer',
233
+ service_code: 'gr',
234
+ serviceCode: 'gr',
235
+ provider_name: 'Groupe Richer',
236
+ provider: 'Groupe Richer'
237
+ });
238
+ }
239
+ //#endregion
240
+ }
241
+ catch (error) {
242
+ console.log('error: ', error);
243
+ console.log(error.toString());
244
+ continue;
245
+ }
246
+ }
247
+ this._shippingQuote = quotes;
248
+ const lowest = (0, minBy_1.default)(quotes, (q) => q.base_fee);
249
+ return (0, map_1.default)(quotes, (q) => {
250
+ if (!!!lowest)
251
+ return q;
252
+ if (q.base_fee !== lowest.base_fee)
253
+ return q;
254
+ return Object.assign(Object.assign({}, q), { is_lowest: true });
255
+ });
256
+ };
257
+ this.getServiceOfQuote = (quote) => {
258
+ const service = this._shipmentService.find((a) => a.external_service_name.toLowerCase() === (0, toString_1.default)(quote.provider_name || quote.provider || '').toLowerCase());
259
+ if (!!!service)
260
+ throw new Error(`Can't find provider ${quote.provider} (${!!quote.provider_name})`);
261
+ return service;
262
+ };
263
+ this.approveQuote = async (quote, fromServer, canadaPostProps) => {
264
+ if (!!!this._cart)
265
+ throw new Error(`Cart can't be null`);
266
+ const service = this.getServiceOfQuote(quote);
267
+ const requestHeader = (0, shipment_1.createShipmentUrl)(service.external_service_infos, service.external_service_name);
268
+ if (!!!requestHeader)
269
+ throw new Error(`Can't access service provider. Please validate your external services configuration`);
270
+ const { url, type: method, headers } = requestHeader;
271
+ if (!!!quote) {
272
+ quote = this._shippingQuote;
273
+ }
274
+ if (!!!quote) {
275
+ throw new Error(`Quote expected`);
276
+ }
277
+ const body = (0, shipment_1.getBodyForQuoteApprove)(service, quote, canadaPostProps);
278
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
279
+ headers: !!fromServer
280
+ ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
281
+ : { 'content-type': 'application/json' },
282
+ method: !!fromServer ? method : 'POST',
283
+ body: !!fromServer ? JSON.stringify(body) : JSON.stringify({ props: { body, headers, method }, url })
284
+ });
285
+ if (quoteReq.status.toString() !== '200')
286
+ throw new Error(`Error while fetching quotes: ${quoteReq.statusText}`);
287
+ let details;
288
+ if (!!headers['Content-Type'] && headers['Content-Type'].includes('xml')) {
289
+ try {
290
+ const type = quoteReq.headers.get('Content-Type');
291
+ const quoteXML = !!!type || !type.includes('json') ? await quoteReq.text() : await quoteReq.json();
292
+ details = JSON.parse(convert.xml2json(quoteXML));
293
+ details = Object.assign(Object.assign({}, details), { labelUrl: details['elements'][0]['elements']
294
+ .find((a) => a.name === 'links')
295
+ .elements.find((e) => !!e.attributes && e.attributes.rel === 'label').attributes.href, deleteUrl: details['elements'][0]['elements']
296
+ .find((a) => a.name === 'links')
297
+ .elements.find((e) => !!e.attributes && e.attributes.rel === 'self').attributes.href });
298
+ }
299
+ catch (error) {
300
+ (0, console_1.errorMessage)(error.toString());
301
+ throw new Error(`Can't process shipping label. Please contact us with the quote ${JSON.stringify(quote)}`);
302
+ }
303
+ }
304
+ else {
305
+ details = await quoteReq.json();
306
+ }
307
+ return { confirmed: true, details };
308
+ };
309
+ this.cancelShipping = async (orderId, fromServer, deleteUrl) => {
310
+ let error = undefined;
311
+ for (const ss of this._shipmentService) {
312
+ const requestHeader = (0, shipment_1.deleteShipmentUrl)(Object.assign(Object.assign({}, ss.external_service_infos), { orderId, deleteUrl }), ss.external_service_name);
313
+ if (!!!requestHeader)
314
+ continue;
315
+ const { url, type: method, headers } = requestHeader;
316
+ try {
317
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
318
+ headers: !!fromServer
319
+ ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
320
+ : { 'content-type': 'application/json' },
321
+ method: !!fromServer ? method : 'POST',
322
+ body: JSON.stringify({ props: { headers, method }, url })
323
+ });
324
+ if (quoteReq.status.toString() !== '200')
325
+ continue;
326
+ return { confirmed: true, error };
327
+ }
328
+ catch (error) {
329
+ error = error;
330
+ (0, console_1.errorMessage)(`Error while calling order service ${error} - ${JSON.stringify(error)}`);
331
+ continue;
332
+ }
333
+ }
334
+ return { confirmed: false, error: `Can't void shipping` };
335
+ };
336
+ this.getLabel = async (labelUrl, fromServer) => {
337
+ for (const ss of this._shipmentService) {
338
+ try {
339
+ const requestHeader = (0, shipment_1.createShipmentLabelUrl)(Object.assign(Object.assign({}, ss.external_service_infos), { labelUrl }), ss.external_service_name);
340
+ if (!!!requestHeader)
341
+ // throw new Error(`Can't access service provider. Please validate your external services configuration`)
342
+ continue;
343
+ const { url, type: method, headers } = requestHeader;
344
+ const quoteReq = await (0, isomorphic_unfetch_1.default)(!!fromServer ? url : '/api/services/cors', {
345
+ headers: !!fromServer
346
+ ? Object.assign(Object.assign({}, headers), { 'content-type': 'application/json' })
347
+ : { 'content-type': 'application/json' },
348
+ method: !!fromServer ? method : 'POST',
349
+ body: JSON.stringify({ props: { headers, method }, url })
350
+ });
351
+ if (quoteReq.status.toString() !== '200')
352
+ continue;
353
+ // throw new Error(`Error while getting label order: ${quoteReq.statusText}`)
354
+ const type = quoteReq.headers.get('Content-Type');
355
+ const details = !!!type || !type.includes('json') ? await quoteReq.text() : await quoteReq.json();
356
+ return { confirmed: true, label: details };
357
+ }
358
+ catch (error) {
359
+ console.log(error);
360
+ console.log('erreur: ', JSON.stringify(error));
361
+ continue;
362
+ }
363
+ }
364
+ };
365
+ this._shipmentService = shipmentService;
366
+ this._shippingQuote = undefined;
367
+ this._cart = cart;
368
+ }
369
+ }
370
+ exports.default = Shipment;
371
371
  //# sourceMappingURL=index.js.map