addio-admin-sdk 1.7.86 → 1.7.87

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 (560) hide show
  1. package/.babelrc +17 -17
  2. package/.env +14 -0
  3. package/.env.dev +14 -14
  4. package/.github/workflows/publish_coverage.yam_ +69 -69
  5. package/addio-sdk-doc.md +1473 -1473
  6. package/changelog.md +537 -537
  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 +164 -164
  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 +52 -52
  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 +25 -25
  34. package/dist/Interfaces/CMS/index.js +2 -2
  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 +424 -424
  48. package/dist/Interfaces/Cart/index.js +192 -192
  49. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  50. package/dist/Interfaces/Catalogue/index.js +37 -37
  51. package/dist/Interfaces/Category/index.d.ts +33 -33
  52. package/dist/Interfaces/Category/index.js +2 -2
  53. package/dist/Interfaces/Chart/index.d.ts +11 -11
  54. package/dist/Interfaces/Chart/index.js +2 -2
  55. package/dist/Interfaces/Class/index.d.ts +8 -8
  56. package/dist/Interfaces/Class/index.js +2 -2
  57. package/dist/Interfaces/Consent/index.d.ts +6 -6
  58. package/dist/Interfaces/Consent/index.js +2 -2
  59. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  60. package/dist/Interfaces/Context/IContextProps.js +2 -2
  61. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  62. package/dist/Interfaces/Context/IContextState.js +2 -2
  63. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  64. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  65. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  66. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  67. package/dist/Interfaces/Customer/IStoreCredit.d.ts +12 -12
  68. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  69. package/dist/Interfaces/Customer/index.d.ts +97 -97
  70. package/dist/Interfaces/Customer/index.js +141 -141
  71. package/dist/Interfaces/Declination/index.d.ts +114 -114
  72. package/dist/Interfaces/Declination/index.js +60 -60
  73. package/dist/Interfaces/Document/index.d.ts +8 -8
  74. package/dist/Interfaces/Document/index.js +2 -2
  75. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  76. package/dist/Interfaces/Elastic/index.js +2 -2
  77. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  78. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  79. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  80. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  81. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  82. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  83. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  84. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  85. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  86. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  87. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  88. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  89. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  90. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  91. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  92. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  93. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  94. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  95. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  96. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  97. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  98. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  99. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  100. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  101. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  102. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  103. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  104. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  105. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  106. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  107. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  108. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  109. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  110. package/dist/Interfaces/Email/IEmail.js +56 -56
  111. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  112. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  113. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  114. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  115. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  116. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  117. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  118. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  119. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  120. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  121. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  122. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  123. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  124. package/dist/Interfaces/ExportSchema/index.js +2 -2
  125. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  126. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  127. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  128. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  129. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  130. package/dist/Interfaces/ExternalService/index.js +2 -2
  131. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  132. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  133. package/dist/Interfaces/G2/index.d.ts +556 -556
  134. package/dist/Interfaces/G2/index.js +36 -36
  135. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  136. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  137. package/dist/Interfaces/Indexed/Product/index.d.ts +97 -97
  138. package/dist/Interfaces/Indexed/Product/index.js +212 -212
  139. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  140. package/dist/Interfaces/Inventory/index.js +8 -8
  141. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  142. package/dist/Interfaces/Invoice/index.js +2 -2
  143. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  144. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  145. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  146. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  147. package/dist/Interfaces/Menu/index.d.ts +23 -23
  148. package/dist/Interfaces/Menu/index.js +10 -10
  149. package/dist/Interfaces/Note/index.d.ts +10 -0
  150. package/dist/Interfaces/Note/index.js +8 -0
  151. package/dist/Interfaces/Note/index.js.map +1 -0
  152. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  153. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  154. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  155. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  156. package/dist/Interfaces/Order/index.d.ts +4 -4
  157. package/dist/Interfaces/Order/index.js +2 -2
  158. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  159. package/dist/Interfaces/Org/IRelUser.js +2 -2
  160. package/dist/Interfaces/Org/index.d.ts +29 -29
  161. package/dist/Interfaces/Org/index.js +12 -12
  162. package/dist/Interfaces/Payment/index.d.ts +13 -13
  163. package/dist/Interfaces/Payment/index.js +2 -2
  164. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  165. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  166. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  167. package/dist/Interfaces/Product/IImportProduct.js +791 -791
  168. package/dist/Interfaces/Product/IInventoryItem.d.ts +84 -84
  169. package/dist/Interfaces/Product/IInventoryItem.js +36 -36
  170. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  171. package/dist/Interfaces/Product/IPricing.js +174 -174
  172. package/dist/Interfaces/Product/index.d.ts +127 -127
  173. package/dist/Interfaces/Product/index.js +56 -56
  174. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  175. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  176. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  177. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  178. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  179. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  180. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  181. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  182. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  183. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  184. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  185. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  186. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  187. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  188. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  189. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  190. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  191. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  192. package/dist/Interfaces/Quote/index.d.ts +5 -5
  193. package/dist/Interfaces/Quote/index.js +2 -2
  194. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  195. package/dist/Interfaces/Refunds/index.js +2 -2
  196. package/dist/Interfaces/Rules/IDiscountRule.d.ts +137 -137
  197. package/dist/Interfaces/Rules/IDiscountRule.js +95 -95
  198. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  199. package/dist/Interfaces/Schedule/index.js +2 -2
  200. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  201. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  202. package/dist/Interfaces/Services/IService.d.ts +12 -12
  203. package/dist/Interfaces/Services/IService.js +2 -2
  204. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  205. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  206. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  207. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  208. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  209. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  210. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  211. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  212. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  213. package/dist/Interfaces/Shipping/Shiptime/order.js +48 -48
  214. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  215. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  216. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  217. package/dist/Interfaces/Slider/GR.js +271 -271
  218. package/dist/Interfaces/Slider/index.d.ts +30 -30
  219. package/dist/Interfaces/Slider/index.js +2 -2
  220. package/dist/Interfaces/Space/IExternalService.d.ts +52 -52
  221. package/dist/Interfaces/Space/IExternalService.js +43 -43
  222. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  223. package/dist/Interfaces/Space/IMember.js +9 -9
  224. package/dist/Interfaces/Space/index.d.ts +385 -385
  225. package/dist/Interfaces/Space/index.js +159 -159
  226. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  227. package/dist/Interfaces/Specials/gr.js +2 -2
  228. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  229. package/dist/Interfaces/StockNotification/index.js +2 -2
  230. package/dist/Interfaces/Store/index.d.ts +62 -62
  231. package/dist/Interfaces/Store/index.js +27 -27
  232. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  233. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  234. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  235. package/dist/Interfaces/Supplier/index.js +24 -24
  236. package/dist/Interfaces/TCG/index.d.ts +110 -110
  237. package/dist/Interfaces/TCG/index.js +27 -27
  238. package/dist/Interfaces/Tag/index.d.ts +18 -18
  239. package/dist/Interfaces/Tag/index.js +2 -2
  240. package/dist/Interfaces/Tax/index.d.ts +13 -13
  241. package/dist/Interfaces/Tax/index.js +2 -2
  242. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  243. package/dist/Interfaces/TransferRequest/index.js +43 -43
  244. package/dist/Interfaces/Translation/index.d.ts +8 -8
  245. package/dist/Interfaces/Translation/index.js +5 -5
  246. package/dist/Interfaces/Update/index.d.ts +10 -10
  247. package/dist/Interfaces/Update/index.js +2 -2
  248. package/dist/Interfaces/User/IUser.d.ts +65 -65
  249. package/dist/Interfaces/User/IUser.js +8 -8
  250. package/dist/Interfaces/Version/index.d.ts +11 -11
  251. package/dist/Interfaces/Version/index.js +2 -2
  252. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  253. package/dist/Interfaces/Wishlist/index.js +2 -2
  254. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  255. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  256. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  257. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  258. package/dist/constants/enums.d.ts +6 -6
  259. package/dist/constants/enums.js +10 -10
  260. package/dist/constants/services.d.ts +2 -2
  261. package/dist/constants/services.js +111 -111
  262. package/dist/constants/version.d.ts +2 -2
  263. package/dist/constants/version.js +5 -5
  264. package/dist/index.d.ts +32 -32
  265. package/dist/index.js +242 -242
  266. package/dist/lib/Attribute/index.d.ts +14 -14
  267. package/dist/lib/Attribute/index.js +143 -143
  268. package/dist/lib/BGJob/index.d.ts +9 -9
  269. package/dist/lib/BGJob/index.js +212 -212
  270. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  271. package/dist/lib/BackgroundWorker/index.js +59 -59
  272. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  273. package/dist/lib/Blog/BlogArticle.js +10 -10
  274. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  275. package/dist/lib/Blog/BlogAuthor.js +10 -10
  276. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  277. package/dist/lib/Blog/BlogCategory.js +10 -10
  278. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  279. package/dist/lib/Blog/BlogKeyword.js +10 -10
  280. package/dist/lib/Booking/index.d.ts +70 -70
  281. package/dist/lib/Booking/index.js +576 -576
  282. package/dist/lib/Brand/index.d.ts +17 -17
  283. package/dist/lib/Brand/index.js +113 -113
  284. package/dist/lib/Cart/index.d.ts +206 -206
  285. package/dist/lib/Cart/index.js +3164 -3164
  286. package/dist/lib/Catalogue/index.d.ts +9 -9
  287. package/dist/lib/Catalogue/index.js +69 -69
  288. package/dist/lib/Category/index.d.ts +27 -27
  289. package/dist/lib/Category/index.js +190 -190
  290. package/dist/lib/Class/index.d.ts +12 -12
  291. package/dist/lib/Class/index.js +58 -58
  292. package/dist/lib/Consent/index.d.ts +4 -4
  293. package/dist/lib/Consent/index.js +29 -29
  294. package/dist/lib/Customer/index.d.ts +11 -11
  295. package/dist/lib/Customer/index.js +68 -68
  296. package/dist/lib/Declination/index.d.ts +9 -9
  297. package/dist/lib/Declination/index.js +24 -24
  298. package/dist/lib/Discount/index.d.ts +18 -18
  299. package/dist/lib/Discount/index.js +470 -470
  300. package/dist/lib/ElasticSearch/index.d.ts +8 -8
  301. package/dist/lib/ElasticSearch/index.js +45 -45
  302. package/dist/lib/Elavon/index.d.ts +18 -18
  303. package/dist/lib/Elavon/index.js +130 -130
  304. package/dist/lib/Email/AbandonedCartEmail.d.ts +8 -8
  305. package/dist/lib/Email/AbandonedCartEmail.js +16 -16
  306. package/dist/lib/Email/AccountConfirmationEmail.d.ts +11 -11
  307. package/dist/lib/Email/AccountConfirmationEmail.js +22 -22
  308. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +8 -8
  309. package/dist/lib/Email/AdminOrderConfirmationEmail.js +16 -16
  310. package/dist/lib/Email/ApplicationEmail.d.ts +8 -8
  311. package/dist/lib/Email/ApplicationEmail.js +16 -16
  312. package/dist/lib/Email/BackInStockEmail.d.ts +8 -8
  313. package/dist/lib/Email/BackInStockEmail.js +16 -16
  314. package/dist/lib/Email/ContactEmail.d.ts +8 -8
  315. package/dist/lib/Email/ContactEmail.js +16 -16
  316. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +8 -8
  317. package/dist/lib/Email/CustomerBookingAdminEmail.js +16 -16
  318. package/dist/lib/Email/CustomerBookingEmail.d.ts +8 -8
  319. package/dist/lib/Email/CustomerBookingEmail.js +16 -16
  320. package/dist/lib/Email/OrderConfirmationEmail.d.ts +8 -8
  321. package/dist/lib/Email/OrderConfirmationEmail.js +16 -16
  322. package/dist/lib/Email/OrderDenounciationEmail.d.ts +8 -8
  323. package/dist/lib/Email/OrderDenounciationEmail.js +16 -16
  324. package/dist/lib/Email/OrderSampleEmail.d.ts +8 -8
  325. package/dist/lib/Email/OrderSampleEmail.js +16 -16
  326. package/dist/lib/Email/OtherTypeEmails.d.ts +8 -8
  327. package/dist/lib/Email/OtherTypeEmails.js +19 -19
  328. package/dist/lib/Email/PasswordResetEmail.d.ts +8 -8
  329. package/dist/lib/Email/PasswordResetEmail.js +16 -16
  330. package/dist/lib/Email/PhotoShootEmail.d.ts +8 -8
  331. package/dist/lib/Email/PhotoShootEmail.js +16 -16
  332. package/dist/lib/Email/PickUpConfirmation.d.ts +8 -8
  333. package/dist/lib/Email/PickUpConfirmation.js +16 -16
  334. package/dist/lib/Email/ShippingConfirmation.d.ts +8 -8
  335. package/dist/lib/Email/ShippingConfirmation.js +16 -16
  336. package/dist/lib/Email/WelcomeEmail.d.ts +8 -8
  337. package/dist/lib/Email/WelcomeEmail.js +16 -16
  338. package/dist/lib/Email/index.d.ts +8 -8
  339. package/dist/lib/Email/index.js +23 -23
  340. package/dist/lib/ExternalService/Ebay.d.ts +62 -62
  341. package/dist/lib/ExternalService/Ebay.js +102 -102
  342. package/dist/lib/ExternalService/index.d.ts +5 -5
  343. package/dist/lib/ExternalService/index.js +10 -10
  344. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  345. package/dist/lib/FirstOrderTracking/index.js +10 -10
  346. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  347. package/dist/lib/Indexed/IndexedCart.js +86 -86
  348. package/dist/lib/Indexed/Product.d.ts +17 -17
  349. package/dist/lib/Indexed/Product.js +48 -48
  350. package/dist/lib/Inventory/index.d.ts +49 -49
  351. package/dist/lib/Inventory/index.js +314 -314
  352. package/dist/lib/Invoice/index.d.ts +5 -5
  353. package/dist/lib/Invoice/index.js +10 -10
  354. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  355. package/dist/lib/MarketplacePublication/index.js +118 -118
  356. package/dist/lib/Menu/index.d.ts +11 -11
  357. package/dist/lib/Menu/index.js +103 -103
  358. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  359. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  360. package/dist/lib/Note/index.d.ts +4 -0
  361. package/dist/lib/Note/index.js +7 -0
  362. package/dist/lib/Note/index.js.map +1 -0
  363. package/dist/lib/Order/index.d.ts +7 -7
  364. package/dist/lib/Order/index.js +33 -33
  365. package/dist/lib/Org/index.d.ts +27 -27
  366. package/dist/lib/Org/index.js +175 -175
  367. package/dist/lib/PandaPay/index.d.ts +16 -16
  368. package/dist/lib/PandaPay/index.js +170 -170
  369. package/dist/lib/Paysafe/index.d.ts +11 -11
  370. package/dist/lib/Paysafe/index.js +40 -40
  371. package/dist/lib/Product/index.d.ts +154 -154
  372. package/dist/lib/Product/index.js +793 -793
  373. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  374. package/dist/lib/ProductAttribute/index.js +45 -45
  375. package/dist/lib/PromiseToPurchase/index.d.ts +37 -37
  376. package/dist/lib/PromiseToPurchase/index.js +264 -264
  377. package/dist/lib/PurchaseOrder/index.d.ts +9 -9
  378. package/dist/lib/PurchaseOrder/index.js +16 -16
  379. package/dist/lib/Schedule/index.d.ts +5 -5
  380. package/dist/lib/Schedule/index.js +12 -12
  381. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  382. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  383. package/dist/lib/Service/index.d.ts +5 -5
  384. package/dist/lib/Service/index.js +13 -13
  385. package/dist/lib/Shipment/index.d.ts +28 -28
  386. package/dist/lib/Shipment/index.js +357 -357
  387. package/dist/lib/Slider/index.d.ts +16 -16
  388. package/dist/lib/Slider/index.js +113 -113
  389. package/dist/lib/Space/index.d.ts +873 -873
  390. package/dist/lib/Space/index.js +5094 -5094
  391. package/dist/lib/StockNotification/index.d.ts +4 -4
  392. package/dist/lib/StockNotification/index.js +6 -6
  393. package/dist/lib/Store/index.d.ts +5 -5
  394. package/dist/lib/Store/index.js +12 -12
  395. package/dist/lib/Supplier/Command.d.ts +5 -5
  396. package/dist/lib/Supplier/Command.js +10 -10
  397. package/dist/lib/Supplier/index.d.ts +25 -25
  398. package/dist/lib/Supplier/index.js +22 -22
  399. package/dist/lib/Tags/index.d.ts +6 -6
  400. package/dist/lib/Tags/index.js +21 -21
  401. package/dist/lib/Tax/index.d.ts +8 -8
  402. package/dist/lib/Tax/index.js +54 -54
  403. package/dist/lib/TransferRequest/index.d.ts +112 -112
  404. package/dist/lib/TransferRequest/index.js +794 -794
  405. package/dist/lib/Update/index.d.ts +10 -10
  406. package/dist/lib/Update/index.js +22 -22
  407. package/dist/lib/User/index.d.ts +35 -35
  408. package/dist/lib/User/index.js +248 -248
  409. package/dist/lib/Wishlist/index.d.ts +5 -5
  410. package/dist/lib/Wishlist/index.js +10 -10
  411. package/dist/lib/base.d.ts +14 -14
  412. package/dist/lib/base.js +62 -62
  413. package/dist/lib/baseService.d.ts +17 -17
  414. package/dist/lib/baseService.js +43 -43
  415. package/dist/rules/GR/constants/data.d.ts +26 -26
  416. package/dist/rules/GR/constants/data.js +55 -55
  417. package/dist/rules/GR/constants/products.d.ts +8 -8
  418. package/dist/rules/GR/constants/products.js +234 -234
  419. package/dist/rules/GR/interfaces/cart.d.ts +84 -83
  420. package/dist/rules/GR/interfaces/cart.js +41 -40
  421. package/dist/rules/GR/interfaces/cart.js.map +1 -1
  422. package/dist/rules/GR/interfaces/data.d.ts +97 -97
  423. package/dist/rules/GR/interfaces/data.js +104 -104
  424. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  425. package/dist/rules/GR/interfaces/products.js +10 -10
  426. package/dist/rules/GR/utils/cart.d.ts +53 -53
  427. package/dist/rules/GR/utils/cart.js +637 -631
  428. package/dist/rules/GR/utils/cart.js.map +1 -1
  429. package/dist/rules/GR/utils/data.d.ts +3 -3
  430. package/dist/rules/GR/utils/data.js +25 -25
  431. package/dist/rules/GR/utils/expedition.d.ts +71 -71
  432. package/dist/rules/GR/utils/expedition.js +1542 -1542
  433. package/dist/rules/GR/utils/g2.d.ts +176 -176
  434. package/dist/rules/GR/utils/g2.js +845 -845
  435. package/dist/rules/GR/utils/invoices.d.ts +24 -24
  436. package/dist/rules/GR/utils/invoices.js +174 -171
  437. package/dist/rules/GR/utils/invoices.js.map +1 -1
  438. package/dist/rules/GR/utils/products.d.ts +104 -104
  439. package/dist/rules/GR/utils/products.js +984 -984
  440. package/dist/rules/GR/utils/upsells.d.ts +79 -79
  441. package/dist/rules/GR/utils/upsells.js +183 -183
  442. package/dist/services/database/BaseProvider.d.ts +29 -29
  443. package/dist/services/database/BaseProvider.js +28 -28
  444. package/dist/services/database/BatchUtils.d.ts +14 -14
  445. package/dist/services/database/BatchUtils.js +43 -43
  446. package/dist/services/database/Config.d.ts +2 -2
  447. package/dist/services/database/Config.js +5 -5
  448. package/dist/services/database/DatabaseService.d.ts +41 -41
  449. package/dist/services/database/DatabaseService.js +152 -152
  450. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  451. package/dist/services/database/FirebaseProvider.js +218 -218
  452. package/dist/services/database/NotFirebaseProvider.d.ts +35 -35
  453. package/dist/services/database/NotFirebaseProvider.js +243 -243
  454. package/dist/services/g2/G2OrderSlip.d.ts +42 -42
  455. package/dist/services/g2/G2OrderSlip.js +210 -210
  456. package/dist/services/g2/utils.d.ts +9 -9
  457. package/dist/services/g2/utils.js +703 -695
  458. package/dist/services/g2/utils.js.map +1 -1
  459. package/dist/services/logs/index.d.ts +20 -20
  460. package/dist/services/logs/index.js +61 -61
  461. package/dist/services/products/BaseClass.d.ts +50 -50
  462. package/dist/services/products/BaseClass.js +64 -64
  463. package/dist/services/products/TCGService.d.ts +29 -29
  464. package/dist/services/products/TCGService.js +499 -499
  465. package/dist/services/products/utils.d.ts +9 -9
  466. package/dist/services/products/utils.js +94 -94
  467. package/dist/utils/algolia.d.ts +6 -6
  468. package/dist/utils/algolia.js +21 -21
  469. package/dist/utils/anonymisation.d.ts +30 -30
  470. package/dist/utils/anonymisation.js +250 -250
  471. package/dist/utils/array.d.ts +5 -5
  472. package/dist/utils/array.js +14 -14
  473. package/dist/utils/aws.d.ts +14 -14
  474. package/dist/utils/aws.js +126 -126
  475. package/dist/utils/booking.d.ts +22 -22
  476. package/dist/utils/booking.js +118 -118
  477. package/dist/utils/cart.d.ts +103 -102
  478. package/dist/utils/cart.js +690 -652
  479. package/dist/utils/cart.js.map +1 -1
  480. package/dist/utils/categories.d.ts +2 -2
  481. package/dist/utils/categories.js +54 -54
  482. package/dist/utils/cmv.d.ts +10 -10
  483. package/dist/utils/cmv.js +107 -107
  484. package/dist/utils/console.d.ts +6 -6
  485. package/dist/utils/console.js +59 -59
  486. package/dist/utils/context.d.ts +20 -20
  487. package/dist/utils/context.js +61 -61
  488. package/dist/utils/currency.d.ts +6 -6
  489. package/dist/utils/currency.js +61 -61
  490. package/dist/utils/data.d.ts +31 -31
  491. package/dist/utils/data.js +293 -293
  492. package/dist/utils/date.d.ts +1 -1
  493. package/dist/utils/date.js +16 -16
  494. package/dist/utils/dimensions.d.ts +3 -3
  495. package/dist/utils/dimensions.js +16 -16
  496. package/dist/utils/discount.d.ts +46 -46
  497. package/dist/utils/discount.js +934 -934
  498. package/dist/utils/errors.d.ts +113 -113
  499. package/dist/utils/errors.js +113 -113
  500. package/dist/utils/file-admin.d.ts +8 -8
  501. package/dist/utils/file-admin.js +38 -38
  502. package/dist/utils/file.d.ts +38 -38
  503. package/dist/utils/file.js +200 -200
  504. package/dist/utils/firebase-admin.d.ts +2 -2
  505. package/dist/utils/firebase-admin.js +61 -61
  506. package/dist/utils/firebase.d.ts +41 -41
  507. package/dist/utils/firebase.js +131 -131
  508. package/dist/utils/import.d.ts +1 -1
  509. package/dist/utils/import.js +21 -21
  510. package/dist/utils/inventories.d.ts +49 -49
  511. package/dist/utils/inventories.js +392 -392
  512. package/dist/utils/locale.d.ts +15 -15
  513. package/dist/utils/locale.js +78 -78
  514. package/dist/utils/mailchimp.d.ts +58 -58
  515. package/dist/utils/mailchimp.js +495 -495
  516. package/dist/utils/mathUtils.d.ts +17 -17
  517. package/dist/utils/mathUtils.js +315 -315
  518. package/dist/utils/mongodb.d.ts +1 -1
  519. package/dist/utils/mongodb.js +22 -22
  520. package/dist/utils/object.d.ts +13 -13
  521. package/dist/utils/object.js +115 -115
  522. package/dist/utils/payment.d.ts +10 -10
  523. package/dist/utils/payment.js +23 -23
  524. package/dist/utils/products.d.ts +32 -32
  525. package/dist/utils/products.js +186 -186
  526. package/dist/utils/promiseToPurchase.d.ts +56 -56
  527. package/dist/utils/promiseToPurchase.js +195 -195
  528. package/dist/utils/prosprsearch.d.ts +26 -26
  529. package/dist/utils/prosprsearch.js +182 -182
  530. package/dist/utils/refunds.d.ts +2 -2
  531. package/dist/utils/refunds.js +21 -21
  532. package/dist/utils/sdc.d.ts +10 -10
  533. package/dist/utils/sdc.js +1302 -1302
  534. package/dist/utils/searchIndexes.d.ts +21 -21
  535. package/dist/utils/searchIndexes.js +210 -210
  536. package/dist/utils/services.d.ts +42 -42
  537. package/dist/utils/services.js +409 -409
  538. package/dist/utils/shipment.d.ts +110 -110
  539. package/dist/utils/shipment.js +345 -345
  540. package/dist/utils/simpletexting.d.ts +2 -2
  541. package/dist/utils/simpletexting.js +45 -45
  542. package/dist/utils/sliders.d.ts +4 -4
  543. package/dist/utils/sliders.js +24 -24
  544. package/dist/utils/string.d.ts +16 -16
  545. package/dist/utils/string.js +191 -191
  546. package/dist/utils/tcgService.d.ts +2 -2
  547. package/dist/utils/tcgService.js +8 -8
  548. package/dist/utils/tools.d.ts +1 -1
  549. package/dist/utils/tools.js +9 -9
  550. package/dist/utils/transferRequests.d.ts +19 -19
  551. package/dist/utils/transferRequests.js +43 -43
  552. package/dist/utils/update.d.ts +7 -7
  553. package/dist/utils/update.js +125 -125
  554. package/dist/utils/weight.d.ts +3 -3
  555. package/dist/utils/weight.js +16 -16
  556. package/dist/utils/zones.d.ts +11 -11
  557. package/dist/utils/zones.js +218 -218
  558. package/package.json +110 -110
  559. package/publish.sh +143 -143
  560. package/readme.md +182 -182
@@ -1,393 +1,393 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSpaceUnitsToUseForContext = exports.checkIfStoreHasInventory = exports.checkIfItemIsUnavailableForStore = exports.getAvailableSellUnitQuantity = exports.convertQtyFromSellUnit = exports.getQty = exports.getConvertedUnitQuantity = exports.getGroupedByBetonProducts = exports.getAttrStringForItem = exports.getAttributesToShow = exports.getUnitShortDict = exports.unitShortDict = exports.unitDict = exports.orderByAccessoires = exports.orderByBeton = exports.checkWebInventoryForType = void 0;
7
- const flatten_1 = __importDefault(require("lodash/flatten"));
8
- const groupBy_1 = __importDefault(require("lodash/groupBy"));
9
- const orderBy_1 = __importDefault(require("lodash/orderBy"));
10
- const sumBy_1 = __importDefault(require("lodash/sumBy"));
11
- const toNumber_1 = __importDefault(require("lodash/toNumber"));
12
- const uniq_1 = __importDefault(require("lodash/uniq"));
13
- const IInventoryItem_1 = require("../Interfaces/Product/IInventoryItem");
14
- const data_1 = require("../rules/GR/interfaces/data");
15
- const locale_1 = require("./locale");
16
- const products_1 = require("../rules/GR/utils/products");
17
- const round_1 = __importDefault(require("lodash/round"));
18
- const object_1 = require("./object");
19
- const checkWebInventoryForType = (inventories, currentWebInventory, type) => {
20
- const canSellOnline = inventories.filter((i) => i.can_sell_online);
21
- if (!!!canSellOnline.length)
22
- return;
23
- return Object.assign(Object.assign({}, (!!currentWebInventory ? currentWebInventory : (0, IInventoryItem_1.getDefaultInventoryQuantities)())), { [type]: (0, sumBy_1.default)(canSellOnline, (i) => (0, toNumber_1.default)(i.qty[type] || 0)) });
24
- };
25
- exports.checkWebInventoryForType = checkWebInventoryForType;
26
- exports.orderByBeton = [
27
- 'NkLD1rmnGiFZpJA1w6js.moderne',
28
- 'NkLD1rmnGiFZpJA1w6js.traditionnel',
29
- 'NkLD1rmnGiFZpJA1w6js.permeable',
30
- 'oWzANqTldrV1McGzBAU2.moderne',
31
- 'oWzANqTldrV1McGzBAU2.traditionnel',
32
- '9jgHOxtMVSC1QTs1d9NX',
33
- 'IbCDQBYaPmC125hBlr2j',
34
- 'ptd8lA1kUTsWdyufNGjh',
35
- 'mVjg7x05H1hizbet2xsv',
36
- 'xOQPwedYjSYavS0FJlaE',
37
- 'axEbPjUTnk64S5kRlfh6',
38
- 'WS0n2jiEtoYMSId78GCZ',
39
- '87HSMsPuUBm5XEUfreu1',
40
- 'j0aJi1eyJwLabcpaPn6a',
41
- 'Q1rCiYAOvadUXAITj47i'
42
- ];
43
- exports.orderByAccessoires = [
44
- 'KrjSKiXHXa4MrRJIopJO',
45
- '3uA7YFYwBVRYS8382JKB',
46
- 'shmXowMw563z07Gr1k3d',
47
- 'YZa62rG0LOnC9WKG8BRE',
48
- 'OkeEqkF6QLNoFbzCgpdJ',
49
- 'k2XN5GeN4PRxtbpj4BFk',
50
- 'uDyyPN1IZGhivbV2hXiy',
51
- 'G0xkLTH1XbFBgGGRm6Of',
52
- 'GPFBURGlRFtAzaj5v6vr',
53
- 'QXbBm82HL3vRc7GBjPYQ',
54
- 'XijBekSz3MPAzACFSKUk',
55
- 'meLuoK1SVeqUoo0bWvdz'
56
- ];
57
- exports.unitDict = {
58
- p2: { fr: 'Pieds Carrés', en: 'Square Feet' },
59
- pal: { fr: 'Palette', en: 'Pallet' },
60
- rg: { fr: 'Rangs', en: 'Row' },
61
- ensemble: { fr: 'Ensemble', en: 'Kit' },
62
- pl: { fr: 'Pieds linéaires', en: 'Linear feet' },
63
- mcx: { fr: 'Morceaux', en: 'Pieces' },
64
- unite: { fr: 'Unités', en: 'Units' },
65
- sac: { fr: 'Sac', en: 'Bag' },
66
- vg3: { fr: 'Verge cube', en: 'Cubic yard' },
67
- demipalsm: { fr: 'Demi-palette (petite)', en: 'Half-pallet (small)' },
68
- demipallg: { fr: 'Demi-palette (lg)', en: 'Half-pallet (lg)' },
69
- tonne: { fr: 'Tonne', en: 'Ton' },
70
- roul: { fr: 'Rouleau', en: 'Roll' },
71
- bte: { fr: 'Boîte', en: 'Box' },
72
- pqt: { fr: 'Paquet', en: 'Bundle' },
73
- '': { fr: 'Unités', en: 'Units' }
74
- };
75
- exports.unitShortDict = {
76
- p2: { fr: 'pi²', en: 'pi²' },
77
- pal: { fr: 'pal.', en: 'pal.' },
78
- rg: { fr: 'rg', en: 'row' },
79
- ensemble: { fr: 'ens.', en: 'kit' },
80
- pl: { fr: 'pL', en: 'linear feet' },
81
- mcx: { fr: 'mcx', en: 'piece' },
82
- unite: { fr: 'unité', en: 'unit' },
83
- sac: { fr: 'sac', en: 'bag' },
84
- vg3: { fr: 'vg³', en: 'yd³' },
85
- demipalsm: { fr: 'Demi-pal. (petite)', en: 'Half-pal. (sm)' },
86
- demipallg: { fr: 'Demi-pal. (lg)', en: 'Half-pal. (lg)' },
87
- tonne: { fr: 'tonne', en: 'ton' },
88
- roul: { fr: 'roul.', en: 'roll' },
89
- bte: { fr: 'bte', en: 'box' },
90
- pqt: { fr: 'pqt', en: 'bundle' },
91
- '': { fr: 'unité', en: 'unit' }
92
- };
93
- const getUnitShortDict = (slug, returnUnitForSlugs) => {
94
- try {
95
- if (!!returnUnitForSlugs && !!returnUnitForSlugs.includes(slug)) {
96
- return exports.unitShortDict['unite'];
97
- }
98
- const res = exports.unitShortDict[slug];
99
- if (!!!res)
100
- return { fr: slug, en: slug };
101
- return res;
102
- }
103
- catch (err) {
104
- console.log(err);
105
- return { fr: slug, en: slug };
106
- }
107
- };
108
- exports.getUnitShortDict = getUnitShortDict;
109
- const getOrganizedIndexedDecliAttributes = (decli) => {
110
- return (0, flatten_1.default)(Object.entries(decli.attributes).map((attrArr) => {
111
- const newArray = !!!attrArr[1] ? [] : attrArr[1].map((aValue) => `${attrArr[0]}.${aValue}`);
112
- return (0, flatten_1.default)(newArray);
113
- }));
114
- };
115
- const getAttributesToShow = (currentItems) => {
116
- const allAttributesPerItem = currentItems.map((item) => !!Array.isArray(item.attributes) ? item.attributes : getOrganizedIndexedDecliAttributes(item));
117
- const allAttributes = (0, uniq_1.default)((0, flatten_1.default)(allAttributesPerItem));
118
- const group = (0, groupBy_1.default)(allAttributes, (a) => a.split('.')[0]);
119
- const parentAttributesToShow = Object.entries(group)
120
- .map((g) => {
121
- let attrToShow = undefined;
122
- if ([
123
- data_1.AttributesIdEnumGR.AVAILABILITY,
124
- data_1.AttributesIdEnumGR.TYPE,
125
- data_1.AttributesIdEnumGR.MARKETING,
126
- data_1.AttributesIdEnumGR.COLOR_GROUP,
127
- data_1.AttributesIdEnumGR.VENTE_MIXTE,
128
- data_1.AttributesIdEnumGR.TYPE_UTILISATION_BETON
129
- ].includes(g[0])) {
130
- return attrToShow;
131
- }
132
- if (g[1].length > 1) {
133
- const allItemsContainAllAttr = allAttributesPerItem.every((itemAttributes) => {
134
- const sameAttr = itemAttributes.filter((attr) => attr.includes(g[0]));
135
- if (!!!sameAttr)
136
- return false;
137
- return sameAttr.length === g[1].length && sameAttr.every((attr) => g[1].includes(attr));
138
- });
139
- if (!!!allItemsContainAllAttr) {
140
- attrToShow = g[0];
141
- }
142
- }
143
- return attrToShow;
144
- })
145
- .filter((v) => !!v);
146
- return parentAttributesToShow;
147
- };
148
- exports.getAttributesToShow = getAttributesToShow;
149
- const attrToShowInItem = (item, attributesToShow) => {
150
- const itemAttributes = Array.isArray(item.attributes)
151
- ? item.attributes
152
- : getOrganizedIndexedDecliAttributes(item);
153
- return itemAttributes
154
- .map((a) => {
155
- if (attributesToShow.find((attr_id) => attr_id === a.split('.')[0])) {
156
- return a;
157
- }
158
- return;
159
- })
160
- .filter((v) => !!v);
161
- };
162
- const attrString = (attrToShow, attributes, locale) => {
163
- const valuesArray = (0, orderBy_1.default)(attrToShow, (a) => a.split('.')[0] === 'Sy9GlMjUcqUkvKeqLuSz' ? 'AAA' : a.split('.')[0][0]).map((attr) => {
164
- const attribute = attributes.find((a) => a.id === attr.split('.')[0]);
165
- if (!!!attribute)
166
- return '';
167
- const attributeValue = attribute.values.find((a) => a.slug === attr.split('.')[1]);
168
- if (!!!attributeValue)
169
- return '';
170
- return (0, locale_1.getLocaleOfDictionnary)(attributeValue.value, locale);
171
- });
172
- return valuesArray.join(' - ');
173
- };
174
- const getAttrStringForItem = (inventoryItem, attributesToShow, attributes, locale = 'fr') => {
175
- const attrToShow = attrToShowInItem(inventoryItem, attributesToShow);
176
- const attrStr = attrString(attrToShow, attributes, locale);
177
- return attrStr;
178
- };
179
- exports.getAttrStringForItem = getAttrStringForItem;
180
- const getGroupedByBetonProducts = (arrBeton, categories) => {
181
- return (0, groupBy_1.default)(arrBeton, (item) => {
182
- const categorySlugLvl0 = !!item.categories ? item.categories['lvl0'] : '';
183
- const categorySlugLvl1 = !!item.categories && !!item.categories['lvl1'] ? item.categories['lvl1'].split(' > ')[1] : '';
184
- const categorySlugLvl2 = !!item.categories && !!item.categories['lvl2'] ? item.categories['lvl2'].split(' > ')[2] : '';
185
- const lvl0CategoryId = !!categorySlugLvl0 && categories.some((c) => c.slug === categorySlugLvl0)
186
- ? categories.find((c) => c.slug === categorySlugLvl0).id
187
- : '';
188
- const lvl1CategoryId = !!categorySlugLvl1 && categories.some((c) => c.slug === categorySlugLvl1)
189
- ? categories.find((c) => c.slug === categorySlugLvl1).id
190
- : '';
191
- const lvl2CategoryId = !!categorySlugLvl2 && categories.some((c) => c.slug === categorySlugLvl2)
192
- ? categories.find((c) => c.slug === categorySlugLvl2).id
193
- : '';
194
- const sameCategoryId = !!lvl2CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl2CategoryId))
195
- ? lvl2CategoryId
196
- : !!lvl1CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl1CategoryId))
197
- ? lvl1CategoryId
198
- : !!lvl0CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl0CategoryId))
199
- ? lvl0CategoryId
200
- : '';
201
- const attrDict = Object.entries(item.attributes);
202
- const foundAttr = attrDict.find((attr) => attr[0] === data_1.AttributesIdEnumGR.STYLE);
203
- const foundSameCat = !!exports.orderByBeton.some((order) => order.includes(`${sameCategoryId}.`));
204
- const styleAttribute = foundSameCat && foundAttr ? foundAttr[1][0] : '';
205
- return !!!sameCategoryId && !!!styleAttribute
206
- ? 'zzzzzzz'
207
- : `${sameCategoryId}${!!styleAttribute ? '.' + styleAttribute : ''}`;
208
- });
209
- };
210
- exports.getGroupedByBetonProducts = getGroupedByBetonProducts;
211
- const getConvertedUnitQuantity = (otherUnits, qte, convertTo, roundResult) => {
212
- if (!!!otherUnits)
213
- return qte;
214
- const sellUnit = otherUnits.find((unit) => unit.is_sale_unit);
215
- if (!!!sellUnit)
216
- return qte;
217
- let inventoryUnit = otherUnits.find((unit) => unit.is_inventory_unit);
218
- if (!!!inventoryUnit)
219
- inventoryUnit = otherUnits.find((unit) => unit.fitting_unit == 1);
220
- if (!!!inventoryUnit)
221
- return qte;
222
- if (inventoryUnit.unit_slug === sellUnit.unit_slug)
223
- return qte;
224
- if (convertTo === 'sale_unit') {
225
- const calculated = qte * (1 / (sellUnit.fitting_unit || 1));
226
- if (!roundResult)
227
- return calculated;
228
- return (0, round_1.default)(calculated, (0, products_1.productUnitSupportsDecimals)(sellUnit.unit_slug) ? 2 : 0);
229
- }
230
- const calculated = qte * (sellUnit.fitting_unit || 1);
231
- if (!roundResult)
232
- return calculated;
233
- return (0, round_1.default)(calculated, (0, products_1.productUnitSupportsDecimals)(inventoryUnit.unit_slug) ? 2 : 0);
234
- };
235
- exports.getConvertedUnitQuantity = getConvertedUnitQuantity;
236
- const getQty = (otherUnits, inventoryQuantity, unitSlugsToCheck, options = {}) => {
237
- let qtyUnits = {};
238
- let calculatedUnits = [];
239
- const unitsToCheck = unitSlugsToCheck || [
240
- { slug: 'pal', roundToOneQte: true },
241
- { slug: 'unite', roundToOneQte: false }
242
- ];
243
- if (options.log)
244
- console.log('qtyUnits at beggining: ', Object.assign({}, qtyUnits), 'otherunits here: ', otherUnits);
245
- const isNegativeQty = inventoryQuantity < 0 && !!options.showNegativeInventory;
246
- if (!!isNegativeQty)
247
- inventoryQuantity = inventoryQuantity * -1;
248
- if (!!!otherUnits ||
249
- !!!otherUnits.length ||
250
- !!otherUnits
251
- .filter((other_unit) => other_unit.unit_slug !== 'booking')
252
- .every((other_unit) => !!!other_unit.fitting_unit)) {
253
- qtyUnits['unite'] = {
254
- value: inventoryQuantity * (!!isNegativeQty ? -1 : 1),
255
- fitting_unit: 1
256
- };
257
- return qtyUnits;
258
- }
259
- const orderedOtherUnits = (0, orderBy_1.default)(otherUnits, 'fitting_unit', 'desc');
260
- const calculateRest = (currentRest, currentValue, fittingUnit) => {
261
- let rest = 0;
262
- if (currentValue < 1) {
263
- rest = currentRest;
264
- }
265
- else {
266
- const calculatedRest = (currentRest % (fittingUnit || 1)) * (currentRest > 0 ? 1 : -1);
267
- rest = calculatedRest < 0.001 ? 0 : calculatedRest;
268
- }
269
- return rest;
270
- };
271
- let rest = inventoryQuantity;
272
- if (options.log)
273
- console.log('rest at start: ', rest, ', orderedUnits: ', orderedOtherUnits);
274
- for (let unit of orderedOtherUnits) {
275
- const slug = unit.unit_slug;
276
- if (options.log)
277
- console.log('checking for unit: ', slug);
278
- const isInventoryUnit = unit.is_inventory_unit || (orderedOtherUnits.every((u) => !u.is_inventory_unit) && unit.fitting_unit == 1);
279
- let inUnitsToCheck = unitsToCheck.find((u) => u.slug == slug);
280
- const alreadyInArray = calculatedUnits.some((u) => u.slug == slug || u.fittingUnit == unit.fitting_unit);
281
- if (options.log)
282
- console.log('slug: ', slug, ', inUnitsToCheck: ', inUnitsToCheck, ', isInventoryUnit: ', isInventoryUnit);
283
- if (!alreadyInArray && (!!inUnitsToCheck || isInventoryUnit) && !!unit.fitting_unit) {
284
- const shouldRoundToOne = !!inUnitsToCheck && inUnitsToCheck.roundToOneQte;
285
- const value = rest / (unit.fitting_unit || 1);
286
- const unitLabelToUpdate = isInventoryUnit && !options.returnTrueUnitSlug && !shouldRoundToOne ? 'unite' : slug;
287
- qtyUnits[unitLabelToUpdate] = Object.assign({ value: _getQtyValue(value, unit.fitting_unit === 1, isNegativeQty), fitting_unit: unit.fitting_unit || 1, is_inventory_unit: isInventoryUnit }, (isInventoryUnit && !options.returnTrueUnitSlug && !shouldRoundToOne ? { true_unit: slug } : {}));
288
- if (!!options.log) {
289
- console.log('_getQtyValue ', _getQtyValue(value, unit.fitting_unit === 1, isNegativeQty));
290
- console.log(`qtyUnits after ${slug}: `, Object.assign({}, qtyUnits));
291
- }
292
- rest = calculateRest(rest, value, unit.fitting_unit);
293
- if (options.log) {
294
- console.log('rest calculated: ', rest);
295
- console.log('shouldRoundToOne: ', shouldRoundToOne);
296
- }
297
- if (shouldRoundToOne) {
298
- let restToCheck = !(0, products_1.productUnitSupportsDecimals)(slug) ? (0, round_1.default)(rest) : rest;
299
- if (options.log)
300
- console.log('value: ', value, ', rest & restToCheck: ', rest, restToCheck);
301
- if (value > 1 && restToCheck == unit.fitting_unit) {
302
- qtyUnits[unitLabelToUpdate]['value'] = qtyUnits[unitLabelToUpdate].value + (!!isNegativeQty ? -1 : 1);
303
- rest = 0;
304
- }
305
- }
306
- if (options.log) {
307
- console.log(`rest after ${slug}: `, rest);
308
- console.log(`qtyUnits after round to one check`, Object.assign({}, qtyUnits));
309
- }
310
- calculatedUnits.push({ slug: slug, fittingUnit: unit.fitting_unit });
311
- }
312
- }
313
- return qtyUnits;
314
- };
315
- exports.getQty = getQty;
316
- const _getQtyValue = (value, _isUnitFittingUnit, isNegativeQty) => {
317
- if (value < 1)
318
- return 0;
319
- const roundedValue = Math.floor((0, round_1.default)(value, 5));
320
- return roundedValue * (!!isNegativeQty ? -1 : 1);
321
- };
322
- const convertQtyFromSellUnit = (allUnits, sellUnitQty, convertToUnitSlug) => {
323
- if (!!!allUnits)
324
- return sellUnitQty;
325
- const sellUnit = allUnits.find((u) => !!u.is_sale_unit);
326
- const convertToUnit = allUnits.find((u) => u.unit_slug === convertToUnitSlug);
327
- if (!!!sellUnit)
328
- return sellUnitQty;
329
- if (!!!convertToUnit)
330
- return sellUnitQty;
331
- if (sellUnit.unit_slug === convertToUnit.unit_slug)
332
- return sellUnitQty;
333
- return (sellUnitQty * (sellUnit.fitting_unit || 1)) / (convertToUnit.fitting_unit || 1);
334
- };
335
- exports.convertQtyFromSellUnit = convertQtyFromSellUnit;
336
- const getAvailableSellUnitQuantity = (inventory, currentSucc, otherUnits, product, roundQty = true) => {
337
- if (!!!currentSucc || !!!otherUnits)
338
- return { value: '', unit: '' };
339
- const saleUnit = otherUnits.find((u) => !!u.is_sale_unit);
340
- const storeInv = inventory.inventories.find((i) => i.store_id === currentSucc);
341
- if (!!(0, products_1.checkIfProductIsOfType)(product, 'vrac') && !!storeInv) {
342
- const available = !!!storeInv.unavailable_in_store;
343
- return { value: !!available ? 'Disponible' : 'Non-disponible', unit: '' };
344
- }
345
- else {
346
- if (!!inventory.is_infinite_stock || !!product.is_service || !!!storeInv)
347
- return { value: 'Disponible', unit: '' };
348
- let invValue = storeInv.qty.available;
349
- if (invValue < 0)
350
- invValue = 0;
351
- const sellUnitValue = (0, exports.getConvertedUnitQuantity)(otherUnits, invValue, 'sale_unit');
352
- let convertedValue;
353
- if (!!roundQty) {
354
- convertedValue = sellUnitValue.toFixed(!!saleUnit && !!(0, products_1.productUnitSupportsDecimals)(saleUnit.unit_slug) ? 2 : 0);
355
- }
356
- else {
357
- convertedValue = sellUnitValue.toString();
358
- }
359
- const unit = (0, products_1.getUnitLabelWithSlug)(!!saleUnit ? saleUnit.unit_slug : 'unite', 'fr', true, ['booking']);
360
- return { value: convertedValue, unit };
361
- }
362
- };
363
- exports.getAvailableSellUnitQuantity = getAvailableSellUnitQuantity;
364
- const checkIfItemIsUnavailableForStore = (qte, product, otherUnits, inventoryItem, storeID) => {
365
- if (!!!inventoryItem ||
366
- !!inventoryItem.is_infinite_stock ||
367
- !!product.is_service ||
368
- !!product.is_sample ||
369
- !!(0, products_1.checkIfProductIsOfType)(product, 'vrac'))
370
- return false;
371
- const availableSellUnitQty = (0, exports.getAvailableSellUnitQuantity)(inventoryItem, storeID, otherUnits, product, false).value;
372
- if (!!isNaN(parseFloat(availableSellUnitQty)))
373
- return false;
374
- return qte > parseFloat(availableSellUnitQty);
375
- };
376
- exports.checkIfItemIsUnavailableForStore = checkIfItemIsUnavailableForStore;
377
- const checkIfStoreHasInventory = (store) => {
378
- return !store.no_inventory_for_store;
379
- };
380
- exports.checkIfStoreHasInventory = checkIfStoreHasInventory;
381
- const getSpaceUnitsToUseForContext = (spaceData, context) => {
382
- const spaceUnits = (0, object_1.recursiveCheckObject)(spaceData, 'transport_preferences.dimension_units') || [];
383
- return spaceUnits
384
- .filter((u) => context == 'transfers'
385
- ? !!(0, object_1.recursiveCheckObject)(u, 'use_for.transfer_request_management')
386
- : !!(0, object_1.recursiveCheckObject)(u, 'use_for.detailed_inventory_management'))
387
- .map((u) => ({
388
- slug: u.slug,
389
- roundToOneQte: !!(0, object_1.recursiveCheckObject)(u, 'specifics.should_round_to_one_unit_in_calculations')
390
- }));
391
- };
392
- exports.getSpaceUnitsToUseForContext = getSpaceUnitsToUseForContext;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getSpaceUnitsToUseForContext = exports.checkIfStoreHasInventory = exports.checkIfItemIsUnavailableForStore = exports.getAvailableSellUnitQuantity = exports.convertQtyFromSellUnit = exports.getQty = exports.getConvertedUnitQuantity = exports.getGroupedByBetonProducts = exports.getAttrStringForItem = exports.getAttributesToShow = exports.getUnitShortDict = exports.unitShortDict = exports.unitDict = exports.orderByAccessoires = exports.orderByBeton = exports.checkWebInventoryForType = void 0;
7
+ const flatten_1 = __importDefault(require("lodash/flatten"));
8
+ const groupBy_1 = __importDefault(require("lodash/groupBy"));
9
+ const orderBy_1 = __importDefault(require("lodash/orderBy"));
10
+ const sumBy_1 = __importDefault(require("lodash/sumBy"));
11
+ const toNumber_1 = __importDefault(require("lodash/toNumber"));
12
+ const uniq_1 = __importDefault(require("lodash/uniq"));
13
+ const IInventoryItem_1 = require("../Interfaces/Product/IInventoryItem");
14
+ const data_1 = require("../rules/GR/interfaces/data");
15
+ const locale_1 = require("./locale");
16
+ const products_1 = require("../rules/GR/utils/products");
17
+ const round_1 = __importDefault(require("lodash/round"));
18
+ const object_1 = require("./object");
19
+ const checkWebInventoryForType = (inventories, currentWebInventory, type) => {
20
+ const canSellOnline = inventories.filter((i) => i.can_sell_online);
21
+ if (!!!canSellOnline.length)
22
+ return;
23
+ return Object.assign(Object.assign({}, (!!currentWebInventory ? currentWebInventory : (0, IInventoryItem_1.getDefaultInventoryQuantities)())), { [type]: (0, sumBy_1.default)(canSellOnline, (i) => (0, toNumber_1.default)(i.qty[type] || 0)) });
24
+ };
25
+ exports.checkWebInventoryForType = checkWebInventoryForType;
26
+ exports.orderByBeton = [
27
+ 'NkLD1rmnGiFZpJA1w6js.moderne',
28
+ 'NkLD1rmnGiFZpJA1w6js.traditionnel',
29
+ 'NkLD1rmnGiFZpJA1w6js.permeable',
30
+ 'oWzANqTldrV1McGzBAU2.moderne',
31
+ 'oWzANqTldrV1McGzBAU2.traditionnel',
32
+ '9jgHOxtMVSC1QTs1d9NX',
33
+ 'IbCDQBYaPmC125hBlr2j',
34
+ 'ptd8lA1kUTsWdyufNGjh',
35
+ 'mVjg7x05H1hizbet2xsv',
36
+ 'xOQPwedYjSYavS0FJlaE',
37
+ 'axEbPjUTnk64S5kRlfh6',
38
+ 'WS0n2jiEtoYMSId78GCZ',
39
+ '87HSMsPuUBm5XEUfreu1',
40
+ 'j0aJi1eyJwLabcpaPn6a',
41
+ 'Q1rCiYAOvadUXAITj47i'
42
+ ];
43
+ exports.orderByAccessoires = [
44
+ 'KrjSKiXHXa4MrRJIopJO',
45
+ '3uA7YFYwBVRYS8382JKB',
46
+ 'shmXowMw563z07Gr1k3d',
47
+ 'YZa62rG0LOnC9WKG8BRE',
48
+ 'OkeEqkF6QLNoFbzCgpdJ',
49
+ 'k2XN5GeN4PRxtbpj4BFk',
50
+ 'uDyyPN1IZGhivbV2hXiy',
51
+ 'G0xkLTH1XbFBgGGRm6Of',
52
+ 'GPFBURGlRFtAzaj5v6vr',
53
+ 'QXbBm82HL3vRc7GBjPYQ',
54
+ 'XijBekSz3MPAzACFSKUk',
55
+ 'meLuoK1SVeqUoo0bWvdz'
56
+ ];
57
+ exports.unitDict = {
58
+ p2: { fr: 'Pieds Carrés', en: 'Square Feet' },
59
+ pal: { fr: 'Palette', en: 'Pallet' },
60
+ rg: { fr: 'Rangs', en: 'Row' },
61
+ ensemble: { fr: 'Ensemble', en: 'Kit' },
62
+ pl: { fr: 'Pieds linéaires', en: 'Linear feet' },
63
+ mcx: { fr: 'Morceaux', en: 'Pieces' },
64
+ unite: { fr: 'Unités', en: 'Units' },
65
+ sac: { fr: 'Sac', en: 'Bag' },
66
+ vg3: { fr: 'Verge cube', en: 'Cubic yard' },
67
+ demipalsm: { fr: 'Demi-palette (petite)', en: 'Half-pallet (small)' },
68
+ demipallg: { fr: 'Demi-palette (lg)', en: 'Half-pallet (lg)' },
69
+ tonne: { fr: 'Tonne', en: 'Ton' },
70
+ roul: { fr: 'Rouleau', en: 'Roll' },
71
+ bte: { fr: 'Boîte', en: 'Box' },
72
+ pqt: { fr: 'Paquet', en: 'Bundle' },
73
+ '': { fr: 'Unités', en: 'Units' }
74
+ };
75
+ exports.unitShortDict = {
76
+ p2: { fr: 'pi²', en: 'pi²' },
77
+ pal: { fr: 'pal.', en: 'pal.' },
78
+ rg: { fr: 'rg', en: 'row' },
79
+ ensemble: { fr: 'ens.', en: 'kit' },
80
+ pl: { fr: 'pL', en: 'linear feet' },
81
+ mcx: { fr: 'mcx', en: 'piece' },
82
+ unite: { fr: 'unité', en: 'unit' },
83
+ sac: { fr: 'sac', en: 'bag' },
84
+ vg3: { fr: 'vg³', en: 'yd³' },
85
+ demipalsm: { fr: 'Demi-pal. (petite)', en: 'Half-pal. (sm)' },
86
+ demipallg: { fr: 'Demi-pal. (lg)', en: 'Half-pal. (lg)' },
87
+ tonne: { fr: 'tonne', en: 'ton' },
88
+ roul: { fr: 'roul.', en: 'roll' },
89
+ bte: { fr: 'bte', en: 'box' },
90
+ pqt: { fr: 'pqt', en: 'bundle' },
91
+ '': { fr: 'unité', en: 'unit' }
92
+ };
93
+ const getUnitShortDict = (slug, returnUnitForSlugs) => {
94
+ try {
95
+ if (!!returnUnitForSlugs && !!returnUnitForSlugs.includes(slug)) {
96
+ return exports.unitShortDict['unite'];
97
+ }
98
+ const res = exports.unitShortDict[slug];
99
+ if (!!!res)
100
+ return { fr: slug, en: slug };
101
+ return res;
102
+ }
103
+ catch (err) {
104
+ console.log(err);
105
+ return { fr: slug, en: slug };
106
+ }
107
+ };
108
+ exports.getUnitShortDict = getUnitShortDict;
109
+ const getOrganizedIndexedDecliAttributes = (decli) => {
110
+ return (0, flatten_1.default)(Object.entries(decli.attributes).map((attrArr) => {
111
+ const newArray = !!!attrArr[1] ? [] : attrArr[1].map((aValue) => `${attrArr[0]}.${aValue}`);
112
+ return (0, flatten_1.default)(newArray);
113
+ }));
114
+ };
115
+ const getAttributesToShow = (currentItems) => {
116
+ const allAttributesPerItem = currentItems.map((item) => !!Array.isArray(item.attributes) ? item.attributes : getOrganizedIndexedDecliAttributes(item));
117
+ const allAttributes = (0, uniq_1.default)((0, flatten_1.default)(allAttributesPerItem));
118
+ const group = (0, groupBy_1.default)(allAttributes, (a) => a.split('.')[0]);
119
+ const parentAttributesToShow = Object.entries(group)
120
+ .map((g) => {
121
+ let attrToShow = undefined;
122
+ if ([
123
+ data_1.AttributesIdEnumGR.AVAILABILITY,
124
+ data_1.AttributesIdEnumGR.TYPE,
125
+ data_1.AttributesIdEnumGR.MARKETING,
126
+ data_1.AttributesIdEnumGR.COLOR_GROUP,
127
+ data_1.AttributesIdEnumGR.VENTE_MIXTE,
128
+ data_1.AttributesIdEnumGR.TYPE_UTILISATION_BETON
129
+ ].includes(g[0])) {
130
+ return attrToShow;
131
+ }
132
+ if (g[1].length > 1) {
133
+ const allItemsContainAllAttr = allAttributesPerItem.every((itemAttributes) => {
134
+ const sameAttr = itemAttributes.filter((attr) => attr.includes(g[0]));
135
+ if (!!!sameAttr)
136
+ return false;
137
+ return sameAttr.length === g[1].length && sameAttr.every((attr) => g[1].includes(attr));
138
+ });
139
+ if (!!!allItemsContainAllAttr) {
140
+ attrToShow = g[0];
141
+ }
142
+ }
143
+ return attrToShow;
144
+ })
145
+ .filter((v) => !!v);
146
+ return parentAttributesToShow;
147
+ };
148
+ exports.getAttributesToShow = getAttributesToShow;
149
+ const attrToShowInItem = (item, attributesToShow) => {
150
+ const itemAttributes = Array.isArray(item.attributes)
151
+ ? item.attributes
152
+ : getOrganizedIndexedDecliAttributes(item);
153
+ return itemAttributes
154
+ .map((a) => {
155
+ if (attributesToShow.find((attr_id) => attr_id === a.split('.')[0])) {
156
+ return a;
157
+ }
158
+ return;
159
+ })
160
+ .filter((v) => !!v);
161
+ };
162
+ const attrString = (attrToShow, attributes, locale) => {
163
+ const valuesArray = (0, orderBy_1.default)(attrToShow, (a) => a.split('.')[0] === 'Sy9GlMjUcqUkvKeqLuSz' ? 'AAA' : a.split('.')[0][0]).map((attr) => {
164
+ const attribute = attributes.find((a) => a.id === attr.split('.')[0]);
165
+ if (!!!attribute)
166
+ return '';
167
+ const attributeValue = attribute.values.find((a) => a.slug === attr.split('.')[1]);
168
+ if (!!!attributeValue)
169
+ return '';
170
+ return (0, locale_1.getLocaleOfDictionnary)(attributeValue.value, locale);
171
+ });
172
+ return valuesArray.join(' - ');
173
+ };
174
+ const getAttrStringForItem = (inventoryItem, attributesToShow, attributes, locale = 'fr') => {
175
+ const attrToShow = attrToShowInItem(inventoryItem, attributesToShow);
176
+ const attrStr = attrString(attrToShow, attributes, locale);
177
+ return attrStr;
178
+ };
179
+ exports.getAttrStringForItem = getAttrStringForItem;
180
+ const getGroupedByBetonProducts = (arrBeton, categories) => {
181
+ return (0, groupBy_1.default)(arrBeton, (item) => {
182
+ const categorySlugLvl0 = !!item.categories ? item.categories['lvl0'] : '';
183
+ const categorySlugLvl1 = !!item.categories && !!item.categories['lvl1'] ? item.categories['lvl1'].split(' > ')[1] : '';
184
+ const categorySlugLvl2 = !!item.categories && !!item.categories['lvl2'] ? item.categories['lvl2'].split(' > ')[2] : '';
185
+ const lvl0CategoryId = !!categorySlugLvl0 && categories.some((c) => c.slug === categorySlugLvl0)
186
+ ? categories.find((c) => c.slug === categorySlugLvl0).id
187
+ : '';
188
+ const lvl1CategoryId = !!categorySlugLvl1 && categories.some((c) => c.slug === categorySlugLvl1)
189
+ ? categories.find((c) => c.slug === categorySlugLvl1).id
190
+ : '';
191
+ const lvl2CategoryId = !!categorySlugLvl2 && categories.some((c) => c.slug === categorySlugLvl2)
192
+ ? categories.find((c) => c.slug === categorySlugLvl2).id
193
+ : '';
194
+ const sameCategoryId = !!lvl2CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl2CategoryId))
195
+ ? lvl2CategoryId
196
+ : !!lvl1CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl1CategoryId))
197
+ ? lvl1CategoryId
198
+ : !!lvl0CategoryId && !!exports.orderByBeton.some((order) => order.includes(lvl0CategoryId))
199
+ ? lvl0CategoryId
200
+ : '';
201
+ const attrDict = Object.entries(item.attributes);
202
+ const foundAttr = attrDict.find((attr) => attr[0] === data_1.AttributesIdEnumGR.STYLE);
203
+ const foundSameCat = !!exports.orderByBeton.some((order) => order.includes(`${sameCategoryId}.`));
204
+ const styleAttribute = foundSameCat && foundAttr ? foundAttr[1][0] : '';
205
+ return !!!sameCategoryId && !!!styleAttribute
206
+ ? 'zzzzzzz'
207
+ : `${sameCategoryId}${!!styleAttribute ? '.' + styleAttribute : ''}`;
208
+ });
209
+ };
210
+ exports.getGroupedByBetonProducts = getGroupedByBetonProducts;
211
+ const getConvertedUnitQuantity = (otherUnits, qte, convertTo, roundResult) => {
212
+ if (!!!otherUnits)
213
+ return qte;
214
+ const sellUnit = otherUnits.find((unit) => unit.is_sale_unit);
215
+ if (!!!sellUnit)
216
+ return qte;
217
+ let inventoryUnit = otherUnits.find((unit) => unit.is_inventory_unit);
218
+ if (!!!inventoryUnit)
219
+ inventoryUnit = otherUnits.find((unit) => unit.fitting_unit == 1);
220
+ if (!!!inventoryUnit)
221
+ return qte;
222
+ if (inventoryUnit.unit_slug === sellUnit.unit_slug)
223
+ return qte;
224
+ if (convertTo === 'sale_unit') {
225
+ const calculated = qte * (1 / (sellUnit.fitting_unit || 1));
226
+ if (!roundResult)
227
+ return calculated;
228
+ return (0, round_1.default)(calculated, (0, products_1.productUnitSupportsDecimals)(sellUnit.unit_slug) ? 2 : 0);
229
+ }
230
+ const calculated = qte * (sellUnit.fitting_unit || 1);
231
+ if (!roundResult)
232
+ return calculated;
233
+ return (0, round_1.default)(calculated, (0, products_1.productUnitSupportsDecimals)(inventoryUnit.unit_slug) ? 2 : 0);
234
+ };
235
+ exports.getConvertedUnitQuantity = getConvertedUnitQuantity;
236
+ const getQty = (otherUnits, inventoryQuantity, unitSlugsToCheck, options = {}) => {
237
+ let qtyUnits = {};
238
+ let calculatedUnits = [];
239
+ const unitsToCheck = unitSlugsToCheck || [
240
+ { slug: 'pal', roundToOneQte: true },
241
+ { slug: 'unite', roundToOneQte: false }
242
+ ];
243
+ if (options.log)
244
+ console.log('qtyUnits at beggining: ', Object.assign({}, qtyUnits), 'otherunits here: ', otherUnits);
245
+ const isNegativeQty = inventoryQuantity < 0 && !!options.showNegativeInventory;
246
+ if (!!isNegativeQty)
247
+ inventoryQuantity = inventoryQuantity * -1;
248
+ if (!!!otherUnits ||
249
+ !!!otherUnits.length ||
250
+ !!otherUnits
251
+ .filter((other_unit) => other_unit.unit_slug !== 'booking')
252
+ .every((other_unit) => !!!other_unit.fitting_unit)) {
253
+ qtyUnits['unite'] = {
254
+ value: inventoryQuantity * (!!isNegativeQty ? -1 : 1),
255
+ fitting_unit: 1
256
+ };
257
+ return qtyUnits;
258
+ }
259
+ const orderedOtherUnits = (0, orderBy_1.default)(otherUnits, 'fitting_unit', 'desc');
260
+ const calculateRest = (currentRest, currentValue, fittingUnit) => {
261
+ let rest = 0;
262
+ if (currentValue < 1) {
263
+ rest = currentRest;
264
+ }
265
+ else {
266
+ const calculatedRest = (currentRest % (fittingUnit || 1)) * (currentRest > 0 ? 1 : -1);
267
+ rest = calculatedRest < 0.001 ? 0 : calculatedRest;
268
+ }
269
+ return rest;
270
+ };
271
+ let rest = inventoryQuantity;
272
+ if (options.log)
273
+ console.log('rest at start: ', rest, ', orderedUnits: ', orderedOtherUnits);
274
+ for (let unit of orderedOtherUnits) {
275
+ const slug = unit.unit_slug;
276
+ if (options.log)
277
+ console.log('checking for unit: ', slug);
278
+ const isInventoryUnit = unit.is_inventory_unit || (orderedOtherUnits.every((u) => !u.is_inventory_unit) && unit.fitting_unit == 1);
279
+ let inUnitsToCheck = unitsToCheck.find((u) => u.slug == slug);
280
+ const alreadyInArray = calculatedUnits.some((u) => u.slug == slug || u.fittingUnit == unit.fitting_unit);
281
+ if (options.log)
282
+ console.log('slug: ', slug, ', inUnitsToCheck: ', inUnitsToCheck, ', isInventoryUnit: ', isInventoryUnit);
283
+ if (!alreadyInArray && (!!inUnitsToCheck || isInventoryUnit) && !!unit.fitting_unit) {
284
+ const shouldRoundToOne = !!inUnitsToCheck && inUnitsToCheck.roundToOneQte;
285
+ const value = rest / (unit.fitting_unit || 1);
286
+ const unitLabelToUpdate = isInventoryUnit && !options.returnTrueUnitSlug && !shouldRoundToOne ? 'unite' : slug;
287
+ qtyUnits[unitLabelToUpdate] = Object.assign({ value: _getQtyValue(value, unit.fitting_unit === 1, isNegativeQty), fitting_unit: unit.fitting_unit || 1, is_inventory_unit: isInventoryUnit }, (isInventoryUnit && !options.returnTrueUnitSlug && !shouldRoundToOne ? { true_unit: slug } : {}));
288
+ if (!!options.log) {
289
+ console.log('_getQtyValue ', _getQtyValue(value, unit.fitting_unit === 1, isNegativeQty));
290
+ console.log(`qtyUnits after ${slug}: `, Object.assign({}, qtyUnits));
291
+ }
292
+ rest = calculateRest(rest, value, unit.fitting_unit);
293
+ if (options.log) {
294
+ console.log('rest calculated: ', rest);
295
+ console.log('shouldRoundToOne: ', shouldRoundToOne);
296
+ }
297
+ if (shouldRoundToOne) {
298
+ let restToCheck = !(0, products_1.productUnitSupportsDecimals)(slug) ? (0, round_1.default)(rest) : rest;
299
+ if (options.log)
300
+ console.log('value: ', value, ', rest & restToCheck: ', rest, restToCheck);
301
+ if (value > 1 && restToCheck == unit.fitting_unit) {
302
+ qtyUnits[unitLabelToUpdate]['value'] = qtyUnits[unitLabelToUpdate].value + (!!isNegativeQty ? -1 : 1);
303
+ rest = 0;
304
+ }
305
+ }
306
+ if (options.log) {
307
+ console.log(`rest after ${slug}: `, rest);
308
+ console.log(`qtyUnits after round to one check`, Object.assign({}, qtyUnits));
309
+ }
310
+ calculatedUnits.push({ slug: slug, fittingUnit: unit.fitting_unit });
311
+ }
312
+ }
313
+ return qtyUnits;
314
+ };
315
+ exports.getQty = getQty;
316
+ const _getQtyValue = (value, _isUnitFittingUnit, isNegativeQty) => {
317
+ if (value < 1)
318
+ return 0;
319
+ const roundedValue = Math.floor((0, round_1.default)(value, 5));
320
+ return roundedValue * (!!isNegativeQty ? -1 : 1);
321
+ };
322
+ const convertQtyFromSellUnit = (allUnits, sellUnitQty, convertToUnitSlug) => {
323
+ if (!!!allUnits)
324
+ return sellUnitQty;
325
+ const sellUnit = allUnits.find((u) => !!u.is_sale_unit);
326
+ const convertToUnit = allUnits.find((u) => u.unit_slug === convertToUnitSlug);
327
+ if (!!!sellUnit)
328
+ return sellUnitQty;
329
+ if (!!!convertToUnit)
330
+ return sellUnitQty;
331
+ if (sellUnit.unit_slug === convertToUnit.unit_slug)
332
+ return sellUnitQty;
333
+ return (sellUnitQty * (sellUnit.fitting_unit || 1)) / (convertToUnit.fitting_unit || 1);
334
+ };
335
+ exports.convertQtyFromSellUnit = convertQtyFromSellUnit;
336
+ const getAvailableSellUnitQuantity = (inventory, currentSucc, otherUnits, product, roundQty = true) => {
337
+ if (!!!currentSucc || !!!otherUnits)
338
+ return { value: '', unit: '' };
339
+ const saleUnit = otherUnits.find((u) => !!u.is_sale_unit);
340
+ const storeInv = inventory.inventories.find((i) => i.store_id === currentSucc);
341
+ if (!!(0, products_1.checkIfProductIsOfType)(product, 'vrac') && !!storeInv) {
342
+ const available = !!!storeInv.unavailable_in_store;
343
+ return { value: !!available ? 'Disponible' : 'Non-disponible', unit: '' };
344
+ }
345
+ else {
346
+ if (!!inventory.is_infinite_stock || !!product.is_service || !!!storeInv)
347
+ return { value: 'Disponible', unit: '' };
348
+ let invValue = storeInv.qty.available;
349
+ if (invValue < 0)
350
+ invValue = 0;
351
+ const sellUnitValue = (0, exports.getConvertedUnitQuantity)(otherUnits, invValue, 'sale_unit');
352
+ let convertedValue;
353
+ if (!!roundQty) {
354
+ convertedValue = sellUnitValue.toFixed(!!saleUnit && !!(0, products_1.productUnitSupportsDecimals)(saleUnit.unit_slug) ? 2 : 0);
355
+ }
356
+ else {
357
+ convertedValue = sellUnitValue.toString();
358
+ }
359
+ const unit = (0, products_1.getUnitLabelWithSlug)(!!saleUnit ? saleUnit.unit_slug : 'unite', 'fr', true, ['booking']);
360
+ return { value: convertedValue, unit };
361
+ }
362
+ };
363
+ exports.getAvailableSellUnitQuantity = getAvailableSellUnitQuantity;
364
+ const checkIfItemIsUnavailableForStore = (qte, product, otherUnits, inventoryItem, storeID) => {
365
+ if (!!!inventoryItem ||
366
+ !!inventoryItem.is_infinite_stock ||
367
+ !!product.is_service ||
368
+ !!product.is_sample ||
369
+ !!(0, products_1.checkIfProductIsOfType)(product, 'vrac'))
370
+ return false;
371
+ const availableSellUnitQty = (0, exports.getAvailableSellUnitQuantity)(inventoryItem, storeID, otherUnits, product, false).value;
372
+ if (!!isNaN(parseFloat(availableSellUnitQty)))
373
+ return false;
374
+ return qte > parseFloat(availableSellUnitQty);
375
+ };
376
+ exports.checkIfItemIsUnavailableForStore = checkIfItemIsUnavailableForStore;
377
+ const checkIfStoreHasInventory = (store) => {
378
+ return !store.no_inventory_for_store;
379
+ };
380
+ exports.checkIfStoreHasInventory = checkIfStoreHasInventory;
381
+ const getSpaceUnitsToUseForContext = (spaceData, context) => {
382
+ const spaceUnits = (0, object_1.recursiveCheckObject)(spaceData, 'transport_preferences.dimension_units') || [];
383
+ return spaceUnits
384
+ .filter((u) => context == 'transfers'
385
+ ? !!(0, object_1.recursiveCheckObject)(u, 'use_for.transfer_request_management')
386
+ : !!(0, object_1.recursiveCheckObject)(u, 'use_for.detailed_inventory_management'))
387
+ .map((u) => ({
388
+ slug: u.slug,
389
+ roundToOneQte: !!(0, object_1.recursiveCheckObject)(u, 'specifics.should_round_to_one_unit_in_calculations')
390
+ }));
391
+ };
392
+ exports.getSpaceUnitsToUseForContext = getSpaceUnitsToUseForContext;
393
393
  //# sourceMappingURL=inventories.js.map