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,792 +1,792 @@
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.createImage = exports.parseAllProducts = void 0;
7
- const console_1 = require("../../utils/console");
8
- const locale_1 = require("../../utils/locale");
9
- const forEach_1 = __importDefault(require("lodash/forEach"));
10
- const groupBy_1 = __importDefault(require("lodash/groupBy"));
11
- const map_1 = __importDefault(require("lodash/map"));
12
- const maxBy_1 = __importDefault(require("lodash/maxBy"));
13
- const toNumber_1 = __importDefault(require("lodash/toNumber"));
14
- const toString_1 = __importDefault(require("lodash/toString"));
15
- const isomorphic_unfetch_1 = __importDefault(require("isomorphic-unfetch"));
16
- const file_1 = require("../../utils/file");
17
- const string_1 = require("../../utils/string");
18
- const parseAllProducts = async (items, options, org, space, spaceObj) => {
19
- const itemsWithParent = (0, groupBy_1.default)(items.filter((i) => !!i.parent_slug), (g) => g.parent_slug);
20
- const parentItems = items.filter((i) => !!!i.parent_slug);
21
- return await createDeclinations(itemsWithParent, parentItems, options, org, space, spaceObj);
22
- };
23
- exports.parseAllProducts = parseAllProducts;
24
- const putToLang = (lang = ['fr', 'en'], value) => {
25
- return lang.map((l, lKey) => ({
26
- lang: l,
27
- value: Array.isArray(value) ? value[lKey] : value
28
- }));
29
- };
30
- const createParent = async (i, options, org, space, spaceObj, _children) => {
31
- return {
32
- id: i.id,
33
- draft: false,
34
- image_files: [
35
- ...(!!!i.parent_images
36
- ? []
37
- : await Promise.all(i.parent_images.split(',').map(async (img_path) => ({
38
- img_alt: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name),
39
- img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${i.parent_slug}`),
40
- img_title: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name)
41
- }))))
42
- ],
43
- name: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name),
44
- slug: (0, string_1.string_to_slug)(i.parent_slug),
45
- description: putToLang(['fr', 'en'], i.parent_description),
46
- category: getCategory(options, i, spaceObj),
47
- brand: '',
48
- classes: [],
49
- declinations: [],
50
- suppliers: [],
51
- product_attributes: getProductAttributes(options, i, spaceObj),
52
- seo_info: {
53
- seoDescription: putToLang(['fr', 'en'], i.seo_description || (!!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name)),
54
- seoTitle: putToLang(['fr', 'en'], i.seo_title || (!!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name))
55
- },
56
- is_multiple: (0, toString_1.default)(i.is_multiple).toUpperCase() === '1'
57
- };
58
- };
59
- const getProductAttributesForDeclination = (options, importProduct, spaceObj) => {
60
- if (!!!options.attribute)
61
- return [];
62
- if (!!!options.attribute.attributes.length)
63
- return [];
64
- if (!!!options.attribute.attribute_rules.length)
65
- return [];
66
- if ((Array.isArray(options.attribute.attribute_is_in) && !!!options.attribute.attribute_is_in.length) ||
67
- (typeof options.attribute.attribute_is_in === 'string' &&
68
- !!!importProduct[options.attribute.attribute_is_in]))
69
- return [];
70
- if (typeof options.attribute.attribute_is_in === 'string' &&
71
- importProduct[options.attribute.attribute_is_in] === options.attribute.attribute_rules[0])
72
- return [];
73
- if (typeof options.attribute.attribute_is_in === 'string')
74
- options.attribute.attribute_is_in = [options.attribute.attribute_is_in];
75
- let result = [];
76
- for (const toCheckAttribute of options.attribute.attribute_is_in) {
77
- try {
78
- let [attributeId, values] = importProduct[toCheckAttribute].split(options.attribute.attribute_rules[0]);
79
- values = values.split(',').filter((f) => !!f);
80
- if (!!!attributeId) {
81
- result = [
82
- ...result,
83
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
84
- ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
85
- : [])
86
- ];
87
- continue;
88
- }
89
- const attr = options.attribute.attributes.find((a) => a.id === attributeId);
90
- if (!!!attr) {
91
- result = [
92
- ...result,
93
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
94
- ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
95
- : [])
96
- ];
97
- continue;
98
- }
99
- result = [
100
- ...result,
101
- {
102
- attribute_id: attributeId,
103
- values: values.map((slug) => ({
104
- slug,
105
- value: (attr.values.find((a) => a.slug === slug) || { value: [] }).value
106
- }))
107
- },
108
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
109
- ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
110
- : [])
111
- ];
112
- }
113
- catch (error) {
114
- result = [
115
- ...result,
116
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
117
- ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
118
- : [])
119
- ];
120
- }
121
- }
122
- return result;
123
- };
124
- const getAttributeInName = (name, searchFor, attribute) => {
125
- try {
126
- if (!!!name)
127
- return [];
128
- if (!!!searchFor)
129
- return [];
130
- if (!!!attribute)
131
- return [];
132
- if (!!!name.toLowerCase().trim().includes(searchFor.toLowerCase().trim()))
133
- return [];
134
- return [
135
- {
136
- attribute_id: attribute.id,
137
- attribute_name: attribute.name,
138
- values: [],
139
- is_multiple: attribute.is_multiple
140
- }
141
- ];
142
- }
143
- catch (error) {
144
- return [];
145
- }
146
- };
147
- const getDeclinationAttributeInName = (name, searchFor, attribute, spaceObj) => {
148
- try {
149
- if (!!!name)
150
- return [];
151
- if (!!!searchFor)
152
- return [];
153
- if (!!!attribute)
154
- return [];
155
- if (!!!name.toLowerCase().trim().includes(searchFor.toLowerCase().trim()))
156
- return [];
157
- const [_, val] = name.toLowerCase().trim().split(searchFor.toLowerCase().trim());
158
- const value = val.split(')')[0];
159
- if (!!spaceObj) {
160
- return [
161
- {
162
- attribute_id: attribute.id,
163
- values: [
164
- {
165
- value: (0, locale_1.getLanguageDictFromString)(value, spaceObj.preferences.languages()),
166
- slug: value
167
- }
168
- ],
169
- slug: value
170
- }
171
- ];
172
- }
173
- return [];
174
- }
175
- catch (error) {
176
- return [];
177
- }
178
- };
179
- const getProductAttributes = (options, importProduct, _spaceObj) => {
180
- if (!!!options.attribute)
181
- return [];
182
- if (!!!options.attribute.attributes.length)
183
- return [];
184
- if (!!!options.attribute.attribute_rules.length)
185
- return [];
186
- if ((Array.isArray(options.attribute.attribute_is_in) && !!!options.attribute.attribute_is_in.length) ||
187
- (typeof options.attribute.attribute_is_in === 'string' &&
188
- !!!importProduct[options.attribute.attribute_is_in]))
189
- return [];
190
- if (typeof options.attribute.attribute_is_in === 'string' &&
191
- importProduct[options.attribute.attribute_is_in] === options.attribute.attribute_rules[0])
192
- return [];
193
- if (typeof options.attribute.attribute_is_in === 'string')
194
- options.attribute.attribute_is_in = [options.attribute.attribute_is_in];
195
- let result = [];
196
- for (const toCheckAttribute of options.attribute.attribute_is_in) {
197
- try {
198
- const [attributeId, _value] = importProduct[toCheckAttribute].split(options.attribute.attribute_rules[0]);
199
- if (!!!attributeId) {
200
- result = [
201
- ...result,
202
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
203
- ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
204
- : [])
205
- ];
206
- continue;
207
- }
208
- const attr = options.attribute.attributes.find((a) => a.id === attributeId);
209
- if (!!!attr) {
210
- result = [
211
- ...result,
212
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
213
- ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
214
- : [])
215
- ];
216
- continue;
217
- }
218
- const possibleAttributeSlug = _value.split(',').filter((d) => !!d);
219
- result = [
220
- ...result,
221
- {
222
- attribute_id: attributeId,
223
- attribute_name: attr.name,
224
- values: attr.values.filter((a) => possibleAttributeSlug.includes(a.slug)),
225
- is_multiple: !!attr.is_multiple,
226
- default_value: attr.values.filter((a) => possibleAttributeSlug.includes(a.slug))[0] || false
227
- },
228
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
229
- ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
230
- : [])
231
- ];
232
- }
233
- catch (error) {
234
- result = [
235
- ...result,
236
- ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
237
- ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
238
- : [])
239
- ];
240
- }
241
- }
242
- return result;
243
- };
244
- const getCategory = (options, importProduct, spaceObj) => {
245
- if (!!!options.category)
246
- return '';
247
- if (!!!options.category.categories.length)
248
- return '';
249
- if (!!!options.category.category_rules.length)
250
- return '';
251
- if (!!!importProduct[options.category.category_is_in])
252
- return '';
253
- try {
254
- const [, categoryNameToFindWithSuff] = !!options.category.category_rules[0]
255
- ? importProduct[options.category.category_is_in].split(options.category.category_rules[0])
256
- : ['', importProduct[options.category.category_is_in]];
257
- let categoryNameToFind = '';
258
- if (!!!options.category.category_rules[1]) {
259
- categoryNameToFind = categoryNameToFindWithSuff;
260
- }
261
- else {
262
- categoryNameToFind = categoryNameToFindWithSuff.split(options.category.category_rules[1])[0];
263
- }
264
- if (!!!categoryNameToFind)
265
- return '';
266
- let category = options.category.categories.find((cat) => (0, locale_1.getPrincipalWord)(cat.name, spaceObj).trim().toLowerCase() === categoryNameToFind.trim().toLowerCase() &&
267
- !!cat.parent);
268
- if (!!!category)
269
- category = options.category.categories.find((cat) => (0, locale_1.getPrincipalWord)(cat.name, spaceObj).trim().toLowerCase() === categoryNameToFind.trim().toLowerCase());
270
- if (!!!category)
271
- return '';
272
- if (!!!category.id)
273
- return '';
274
- return category.id;
275
- }
276
- catch (error) {
277
- (0, console_1.errorMessage)(`Error while parsing category: ${error} - ${JSON.stringify(error)}`);
278
- return '';
279
- }
280
- };
281
- const alterDeclinations = (declinations) => {
282
- const alteredDeclinations = [];
283
- const grouped = (0, groupBy_1.default)(declinations, (declination) => declination.attributes.map((_a) => _a.values.map((_v) => _v.slug).join('&&')).join('|'));
284
- (0, forEach_1.default)(grouped, (g) => {
285
- const maxPrice = (0, maxBy_1.default)(g, (_g) => _g.price.regular.amount);
286
- alteredDeclinations.push(Object.assign(Object.assign({}, g[0]), { price: !!maxPrice ? maxPrice.price : g[0].price }));
287
- });
288
- return alteredDeclinations;
289
- };
290
- const createDeclinations = async (children, parents, options, org, space, spaceObj) => {
291
- const fullParents = [
292
- ...parents.map((p) => async () => {
293
- const parent = await createParent(p, options, org, space, spaceObj);
294
- const isNeedle = false;
295
- const isOtherTier = false;
296
- const declinations = [
297
- {
298
- disabled: !!p.disabled && p.disabled.includes('1'),
299
- attributes: getProductAttributesForDeclination(options, p, spaceObj),
300
- discount_rules: !isNeedle && !isOtherTier
301
- ? []
302
- : isNeedle
303
- ? [
304
- {
305
- draft: false,
306
- appliesTo: {
307
- label: 'product',
308
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
309
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
310
- value: p.sku
311
- },
312
- id: `aiguile-1-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
313
- ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)}`,
314
- description: [],
315
- discountRule_type: 'tier-pricing',
316
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
317
- result: {
318
- action: 'amount',
319
- action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
320
- ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)
321
- },
322
- rules: [
323
- {
324
- field: 'slug',
325
- ruleDetails: [
326
- {
327
- operator: '==',
328
- value: [p.sku],
329
- condition: 'AND'
330
- }
331
- ],
332
- condition: 'AND'
333
- },
334
- {
335
- condition: 'AND',
336
- field: 'quantity',
337
- ruleDetails: [
338
- {
339
- condition: 'AND',
340
- operator: 'between',
341
- value: [5000, 9999]
342
- }
343
- ]
344
- }
345
- ],
346
- noExtraRules: false,
347
- is_stackable: true
348
- },
349
- {
350
- draft: false,
351
- appliesTo: {
352
- label: 'product',
353
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
354
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
355
- value: p.sku
356
- },
357
- id: `aiguile-2-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
358
- ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)}`,
359
- description: [],
360
- discountRule_type: 'tier-pricing',
361
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
362
- result: {
363
- action: 'amount',
364
- action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
365
- ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)
366
- },
367
- rules: [
368
- {
369
- field: 'slug',
370
- ruleDetails: [
371
- {
372
- operator: '==',
373
- value: [p.sku],
374
- condition: 'AND'
375
- }
376
- ],
377
- condition: 'AND'
378
- },
379
- {
380
- condition: 'AND',
381
- field: 'quantity',
382
- ruleDetails: [
383
- {
384
- condition: 'AND',
385
- operator: 'between',
386
- value: [9999, 999999]
387
- }
388
- ]
389
- }
390
- ],
391
- noExtraRules: false,
392
- is_stackable: true
393
- }
394
- ]
395
- : [
396
- {
397
- draft: false,
398
- appliesTo: {
399
- label: 'product',
400
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
401
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
402
- value: p.sku
403
- },
404
- id: `other-1-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
405
- ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)}`,
406
- description: [],
407
- discountRule_type: 'tier-pricing',
408
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
409
- result: {
410
- action: 'amount',
411
- action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
412
- ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)
413
- },
414
- rules: [
415
- {
416
- field: 'slug',
417
- ruleDetails: [
418
- {
419
- operator: '==',
420
- value: [p.sku],
421
- condition: 'AND'
422
- }
423
- ],
424
- condition: 'AND'
425
- },
426
- {
427
- condition: 'AND',
428
- field: 'quantity',
429
- ruleDetails: [
430
- {
431
- condition: 'AND',
432
- operator: 'between',
433
- value: [6, 11]
434
- }
435
- ]
436
- }
437
- ],
438
- noExtraRules: false,
439
- is_stackable: true
440
- },
441
- {
442
- draft: false,
443
- appliesTo: {
444
- label: 'product',
445
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
446
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
447
- value: p.sku
448
- },
449
- id: `other-2-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
450
- ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)}`,
451
- description: [],
452
- discountRule_type: 'tier-pricing',
453
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
454
- result: {
455
- action: 'amount',
456
- action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
457
- ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)
458
- },
459
- rules: [
460
- {
461
- field: 'slug',
462
- ruleDetails: [
463
- {
464
- operator: '==',
465
- value: [p.sku],
466
- condition: 'AND'
467
- }
468
- ],
469
- condition: 'AND'
470
- },
471
- {
472
- condition: 'AND',
473
- field: 'quantity',
474
- ruleDetails: [
475
- {
476
- condition: 'AND',
477
- operator: 'between',
478
- value: [12, 999999]
479
- }
480
- ]
481
- }
482
- ],
483
- noExtraRules: false,
484
- is_stackable: true
485
- }
486
- ],
487
- image_files: !!!p.images || (Array.isArray(p.images) && !!!p.images.length) || !!!p.is_multiple
488
- ? !!!p.parent_images
489
- ? await Promise.all(p.parent_images
490
- .split(',')
491
- .slice(0, !!p.is_multiple ? 1 : undefined)
492
- .map(async (img_path) => ({
493
- img_alt: putToLang(['fr', 'en'], p.name),
494
- img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${p.parent_slug}`),
495
- img_title: putToLang(['fr', 'en'], p.name)
496
- })))
497
- : []
498
- : await Promise.all(p.images.split(',').map(async (img_path) => ({
499
- img_alt: putToLang(['fr', 'en'], p.name),
500
- img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${p.parent_slug}`),
501
- img_title: putToLang(['fr', 'en'], p.name)
502
- }))),
503
- name: putToLang(['fr', 'en'], p.name),
504
- price: {
505
- regular: {
506
- amount: (0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0
507
- },
508
- pdsf: {
509
- amount: (0, toNumber_1.default)(!!!p.pdsf ? 0 : p.pdsf.replace(/,/g, '.')) || 0
510
- },
511
- cost: {
512
- amount: (0, toNumber_1.default)(!!!p.cost ? 0 : p.cost.replace(/,/g, '.')) || 0
513
- }
514
- },
515
- shipping_info: {
516
- unit_measurments: 'centimeters',
517
- unit_weight: 'kilograms',
518
- height: (0, toNumber_1.default)(!!!p.height ? 0 : p.height.replace(/,/g, '.')) || 0,
519
- width: (0, toNumber_1.default)(!!!p.width ? 0 : p.width.replace(/,/g, '.')) || 0,
520
- length: (0, toNumber_1.default)(!!!p.length ? 0 : p.length.replace(/,/g, '.')) || 0,
521
- weight: (0, toNumber_1.default)(!!!p.weight ? 0 : p.weight.replace(/,/g, '.')) || 0
522
- },
523
- sku: p.sku,
524
- slug: p.sku,
525
- description: putToLang(['fr', 'en'], !!p.description ? p.description : !!p.parent_description ? p.parent_description : '')
526
- }
527
- ];
528
- return Object.assign(Object.assign({}, parent), { draft: !!p.draft && p.draft.includes('1'), declinations: (0, toString_1.default)(p.is_multiple).toUpperCase() === '1' ? declinations : alterDeclinations(declinations) });
529
- }),
530
- ...(0, map_1.default)(children, (p) => async () => {
531
- const parent = await createParent(p[0], options, org, space, spaceObj, p);
532
- const isNeedle = typeof p[0].sku === 'string' && p[0].sku.toLowerCase()[0] === 'a';
533
- const isOtherTier = !isNeedle &&
534
- !!(0, toNumber_1.default)(!!!p[0].web ? 0 : p[0].web.replace(/,/g, '.')) &&
535
- !!(0, toNumber_1.default)(!!!p[0].pref ? 0 : p[0].pref.replace(/,/g, '.'));
536
- const declinations = await Promise.all((0, map_1.default)(p, async (_p) => {
537
- return {
538
- attributes: getProductAttributesForDeclination(options, _p, spaceObj),
539
- disabled: !!_p.disabled && _p.disabled.includes('1'),
540
- discount_rules: !isNeedle && !isOtherTier
541
- ? []
542
- : isNeedle
543
- ? [
544
- {
545
- draft: false,
546
- appliesTo: {
547
- label: 'product',
548
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
549
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
550
- value: _p.sku
551
- },
552
- id: `aiguile-1-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
553
- ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)}`,
554
- description: [],
555
- discountRule_type: 'tier-pricing',
556
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
557
- result: {
558
- action: 'amount',
559
- action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
560
- ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)
561
- },
562
- rules: [
563
- {
564
- field: 'slug',
565
- ruleDetails: [
566
- {
567
- operator: '==',
568
- value: [_p.sku],
569
- condition: 'AND'
570
- }
571
- ],
572
- condition: 'AND'
573
- },
574
- {
575
- condition: 'AND',
576
- field: 'quantity',
577
- ruleDetails: [
578
- {
579
- condition: 'AND',
580
- operator: 'between',
581
- value: [5000, 9999]
582
- }
583
- ]
584
- }
585
- ],
586
- noExtraRules: false,
587
- is_stackable: true
588
- },
589
- {
590
- draft: false,
591
- appliesTo: {
592
- label: 'product',
593
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
594
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
595
- value: _p.sku
596
- },
597
- id: `aiguile-2-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
598
- ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)}`,
599
- description: [],
600
- discountRule_type: 'tier-pricing',
601
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
602
- result: {
603
- action: 'amount',
604
- action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
605
- ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)
606
- },
607
- rules: [
608
- {
609
- field: 'slug',
610
- ruleDetails: [
611
- {
612
- operator: '==',
613
- value: [_p.sku],
614
- condition: 'AND'
615
- }
616
- ],
617
- condition: 'AND'
618
- },
619
- {
620
- condition: 'AND',
621
- field: 'quantity',
622
- ruleDetails: [
623
- {
624
- condition: 'AND',
625
- operator: 'between',
626
- value: [9999, 999999]
627
- }
628
- ]
629
- }
630
- ],
631
- noExtraRules: false,
632
- is_stackable: true
633
- }
634
- ]
635
- : [
636
- {
637
- draft: false,
638
- appliesTo: {
639
- label: 'product',
640
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
641
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
642
- value: _p.sku
643
- },
644
- id: `other-1-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
645
- ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)}`,
646
- description: [],
647
- discountRule_type: 'tier-pricing',
648
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
649
- result: {
650
- action: 'amount',
651
- action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
652
- ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)
653
- },
654
- rules: [
655
- {
656
- field: 'slug',
657
- ruleDetails: [
658
- {
659
- operator: '==',
660
- value: [_p.sku],
661
- condition: 'AND'
662
- }
663
- ],
664
- condition: 'AND'
665
- },
666
- {
667
- condition: 'AND',
668
- field: 'quantity',
669
- ruleDetails: [
670
- {
671
- condition: 'AND',
672
- operator: 'between',
673
- value: [6, 11]
674
- }
675
- ]
676
- }
677
- ],
678
- noExtraRules: false,
679
- is_stackable: true
680
- },
681
- {
682
- draft: false,
683
- appliesTo: {
684
- label: 'product',
685
- check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
686
- check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
687
- value: _p.sku
688
- },
689
- id: `other-2-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
690
- ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)}`,
691
- description: [],
692
- discountRule_type: 'tier-pricing',
693
- name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
694
- result: {
695
- action: 'amount',
696
- action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
697
- ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)
698
- },
699
- rules: [
700
- {
701
- field: 'slug',
702
- ruleDetails: [
703
- {
704
- operator: '==',
705
- value: [_p.sku],
706
- condition: 'AND'
707
- }
708
- ],
709
- condition: 'AND'
710
- },
711
- {
712
- condition: 'AND',
713
- field: 'quantity',
714
- ruleDetails: [
715
- {
716
- condition: 'AND',
717
- operator: 'between',
718
- value: [12, 999999]
719
- }
720
- ]
721
- }
722
- ],
723
- noExtraRules: false,
724
- is_stackable: true
725
- }
726
- ],
727
- image_files: !!!_p.images || (Array.isArray(_p.images) && !!!_p.images.length) || !!!_p.is_multiple
728
- ? !!!_p.parent_images
729
- ? await Promise.all(_p.parent_images
730
- .split(',')
731
- .slice(0, !!_p.is_multiple ? 1 : undefined)
732
- .map(async (img_path) => ({
733
- img_alt: putToLang(['fr', 'en'], _p.name),
734
- img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${_p.parent_slug}`),
735
- img_title: putToLang(['fr', 'en'], _p.name)
736
- })))
737
- : []
738
- : await Promise.all(_p.images.split(',').map(async (img_path) => ({
739
- img_alt: putToLang(['fr', 'en'], _p.name),
740
- img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${_p.parent_slug}`),
741
- img_title: putToLang(['fr', 'en'], _p.name)
742
- }))),
743
- name: putToLang(['fr', 'en'], _p.name),
744
- price: {
745
- regular: {
746
- amount: (0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0
747
- },
748
- pdsf: {
749
- amount: (0, toNumber_1.default)(!!!_p.pdsf ? 0 : _p.pdsf.replace(/,/g, '.')) || 0
750
- },
751
- cost: {
752
- amount: (0, toNumber_1.default)(!!!_p.cost ? 0 : _p.cost.replace(/,/g, '.')) || 0
753
- }
754
- },
755
- shipping_info: {
756
- unit_measurments: 'centimeters',
757
- unit_weight: 'kilograms',
758
- height: (0, toNumber_1.default)(!!!_p.height ? 0 : _p.height.replace(/,/g, '.')) || 0,
759
- width: (0, toNumber_1.default)(!!!_p.width ? 0 : _p.width.replace(/,/g, '.')) || 0,
760
- length: (0, toNumber_1.default)(!!!_p.length ? 0 : _p.length.replace(/,/g, '.')) || 0,
761
- weight: (0, toNumber_1.default)(!!!_p.weight ? 0 : _p.weight.replace(/,/g, '.')) || 0
762
- },
763
- sku: _p.sku,
764
- slug: _p.sku,
765
- description: putToLang(['fr', 'en'], !!_p.description ? _p.description : !!_p.parent_description ? _p.parent_description : '')
766
- };
767
- }));
768
- return Object.assign(Object.assign({}, parent), { draft: !!!p.find((_p) => !!_p.draft && _p.draft.includes('0')), declinations: (0, toString_1.default)(p[0].is_multiple).toUpperCase() === '1' ? declinations : alterDeclinations(declinations) });
769
- })
770
- ];
771
- return fullParents;
772
- };
773
- const createImage = async (path, pathToStore) => {
774
- try {
775
- const imgCors = await (0, isomorphic_unfetch_1.default)('/api/services/cors', {
776
- headers: { 'content-type': 'application/json' },
777
- method: 'POST',
778
- body: JSON.stringify({
779
- props: { method: 'GET', body: {}, headers: { contentType: 'base64' } },
780
- url: path.replace(/ /gi, '').trim()
781
- })
782
- });
783
- const content = await imgCors.json();
784
- const data = content.data;
785
- return await (0, file_1.uploadStringToPath)(data, pathToStore, path.split('.')[path.split('.').length - 2].split('/')[path.split('.')[path.split('.').length - 2].split('/').length - 1], path.split('.')[path.split('.').length - 1]);
786
- }
787
- catch (error) {
788
- return path;
789
- }
790
- };
791
- exports.createImage = createImage;
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.createImage = exports.parseAllProducts = void 0;
7
+ const console_1 = require("../../utils/console");
8
+ const locale_1 = require("../../utils/locale");
9
+ const forEach_1 = __importDefault(require("lodash/forEach"));
10
+ const groupBy_1 = __importDefault(require("lodash/groupBy"));
11
+ const map_1 = __importDefault(require("lodash/map"));
12
+ const maxBy_1 = __importDefault(require("lodash/maxBy"));
13
+ const toNumber_1 = __importDefault(require("lodash/toNumber"));
14
+ const toString_1 = __importDefault(require("lodash/toString"));
15
+ const isomorphic_unfetch_1 = __importDefault(require("isomorphic-unfetch"));
16
+ const file_1 = require("../../utils/file");
17
+ const string_1 = require("../../utils/string");
18
+ const parseAllProducts = async (items, options, org, space, spaceObj) => {
19
+ const itemsWithParent = (0, groupBy_1.default)(items.filter((i) => !!i.parent_slug), (g) => g.parent_slug);
20
+ const parentItems = items.filter((i) => !!!i.parent_slug);
21
+ return await createDeclinations(itemsWithParent, parentItems, options, org, space, spaceObj);
22
+ };
23
+ exports.parseAllProducts = parseAllProducts;
24
+ const putToLang = (lang = ['fr', 'en'], value) => {
25
+ return lang.map((l, lKey) => ({
26
+ lang: l,
27
+ value: Array.isArray(value) ? value[lKey] : value
28
+ }));
29
+ };
30
+ const createParent = async (i, options, org, space, spaceObj, _children) => {
31
+ return {
32
+ id: i.id,
33
+ draft: false,
34
+ image_files: [
35
+ ...(!!!i.parent_images
36
+ ? []
37
+ : await Promise.all(i.parent_images.split(',').map(async (img_path) => ({
38
+ img_alt: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name),
39
+ img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${i.parent_slug}`),
40
+ img_title: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name)
41
+ }))))
42
+ ],
43
+ name: putToLang(['fr', 'en'], !!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name),
44
+ slug: (0, string_1.string_to_slug)(i.parent_slug),
45
+ description: putToLang(['fr', 'en'], i.parent_description),
46
+ category: getCategory(options, i, spaceObj),
47
+ brand: '',
48
+ classes: [],
49
+ declinations: [],
50
+ suppliers: [],
51
+ product_attributes: getProductAttributes(options, i, spaceObj),
52
+ seo_info: {
53
+ seoDescription: putToLang(['fr', 'en'], i.seo_description || (!!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name)),
54
+ seoTitle: putToLang(['fr', 'en'], i.seo_title || (!!i.parent_name_en ? [i.parent_name, i.parent_name_en] : i.parent_name))
55
+ },
56
+ is_multiple: (0, toString_1.default)(i.is_multiple).toUpperCase() === '1'
57
+ };
58
+ };
59
+ const getProductAttributesForDeclination = (options, importProduct, spaceObj) => {
60
+ if (!!!options.attribute)
61
+ return [];
62
+ if (!!!options.attribute.attributes.length)
63
+ return [];
64
+ if (!!!options.attribute.attribute_rules.length)
65
+ return [];
66
+ if ((Array.isArray(options.attribute.attribute_is_in) && !!!options.attribute.attribute_is_in.length) ||
67
+ (typeof options.attribute.attribute_is_in === 'string' &&
68
+ !!!importProduct[options.attribute.attribute_is_in]))
69
+ return [];
70
+ if (typeof options.attribute.attribute_is_in === 'string' &&
71
+ importProduct[options.attribute.attribute_is_in] === options.attribute.attribute_rules[0])
72
+ return [];
73
+ if (typeof options.attribute.attribute_is_in === 'string')
74
+ options.attribute.attribute_is_in = [options.attribute.attribute_is_in];
75
+ let result = [];
76
+ for (const toCheckAttribute of options.attribute.attribute_is_in) {
77
+ try {
78
+ let [attributeId, values] = importProduct[toCheckAttribute].split(options.attribute.attribute_rules[0]);
79
+ values = values.split(',').filter((f) => !!f);
80
+ if (!!!attributeId) {
81
+ result = [
82
+ ...result,
83
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
84
+ ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
85
+ : [])
86
+ ];
87
+ continue;
88
+ }
89
+ const attr = options.attribute.attributes.find((a) => a.id === attributeId);
90
+ if (!!!attr) {
91
+ result = [
92
+ ...result,
93
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
94
+ ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
95
+ : [])
96
+ ];
97
+ continue;
98
+ }
99
+ result = [
100
+ ...result,
101
+ {
102
+ attribute_id: attributeId,
103
+ values: values.map((slug) => ({
104
+ slug,
105
+ value: (attr.values.find((a) => a.slug === slug) || { value: [] }).value
106
+ }))
107
+ },
108
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
109
+ ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
110
+ : [])
111
+ ];
112
+ }
113
+ catch (error) {
114
+ result = [
115
+ ...result,
116
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
117
+ ? getDeclinationAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]), spaceObj)
118
+ : [])
119
+ ];
120
+ }
121
+ }
122
+ return result;
123
+ };
124
+ const getAttributeInName = (name, searchFor, attribute) => {
125
+ try {
126
+ if (!!!name)
127
+ return [];
128
+ if (!!!searchFor)
129
+ return [];
130
+ if (!!!attribute)
131
+ return [];
132
+ if (!!!name.toLowerCase().trim().includes(searchFor.toLowerCase().trim()))
133
+ return [];
134
+ return [
135
+ {
136
+ attribute_id: attribute.id,
137
+ attribute_name: attribute.name,
138
+ values: [],
139
+ is_multiple: attribute.is_multiple
140
+ }
141
+ ];
142
+ }
143
+ catch (error) {
144
+ return [];
145
+ }
146
+ };
147
+ const getDeclinationAttributeInName = (name, searchFor, attribute, spaceObj) => {
148
+ try {
149
+ if (!!!name)
150
+ return [];
151
+ if (!!!searchFor)
152
+ return [];
153
+ if (!!!attribute)
154
+ return [];
155
+ if (!!!name.toLowerCase().trim().includes(searchFor.toLowerCase().trim()))
156
+ return [];
157
+ const [_, val] = name.toLowerCase().trim().split(searchFor.toLowerCase().trim());
158
+ const value = val.split(')')[0];
159
+ if (!!spaceObj) {
160
+ return [
161
+ {
162
+ attribute_id: attribute.id,
163
+ values: [
164
+ {
165
+ value: (0, locale_1.getLanguageDictFromString)(value, spaceObj.preferences.languages()),
166
+ slug: value
167
+ }
168
+ ],
169
+ slug: value
170
+ }
171
+ ];
172
+ }
173
+ return [];
174
+ }
175
+ catch (error) {
176
+ return [];
177
+ }
178
+ };
179
+ const getProductAttributes = (options, importProduct, _spaceObj) => {
180
+ if (!!!options.attribute)
181
+ return [];
182
+ if (!!!options.attribute.attributes.length)
183
+ return [];
184
+ if (!!!options.attribute.attribute_rules.length)
185
+ return [];
186
+ if ((Array.isArray(options.attribute.attribute_is_in) && !!!options.attribute.attribute_is_in.length) ||
187
+ (typeof options.attribute.attribute_is_in === 'string' &&
188
+ !!!importProduct[options.attribute.attribute_is_in]))
189
+ return [];
190
+ if (typeof options.attribute.attribute_is_in === 'string' &&
191
+ importProduct[options.attribute.attribute_is_in] === options.attribute.attribute_rules[0])
192
+ return [];
193
+ if (typeof options.attribute.attribute_is_in === 'string')
194
+ options.attribute.attribute_is_in = [options.attribute.attribute_is_in];
195
+ let result = [];
196
+ for (const toCheckAttribute of options.attribute.attribute_is_in) {
197
+ try {
198
+ const [attributeId, _value] = importProduct[toCheckAttribute].split(options.attribute.attribute_rules[0]);
199
+ if (!!!attributeId) {
200
+ result = [
201
+ ...result,
202
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
203
+ ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
204
+ : [])
205
+ ];
206
+ continue;
207
+ }
208
+ const attr = options.attribute.attributes.find((a) => a.id === attributeId);
209
+ if (!!!attr) {
210
+ result = [
211
+ ...result,
212
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
213
+ ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
214
+ : [])
215
+ ];
216
+ continue;
217
+ }
218
+ const possibleAttributeSlug = _value.split(',').filter((d) => !!d);
219
+ result = [
220
+ ...result,
221
+ {
222
+ attribute_id: attributeId,
223
+ attribute_name: attr.name,
224
+ values: attr.values.filter((a) => possibleAttributeSlug.includes(a.slug)),
225
+ is_multiple: !!attr.is_multiple,
226
+ default_value: attr.values.filter((a) => possibleAttributeSlug.includes(a.slug))[0] || false
227
+ },
228
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
229
+ ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
230
+ : [])
231
+ ];
232
+ }
233
+ catch (error) {
234
+ result = [
235
+ ...result,
236
+ ...(!!options.attribute.attribute_rules[2] && !!importProduct.attributes_in_string
237
+ ? getAttributeInName(importProduct.attributes_in_string, options.attribute.attribute_rules[1], options.attribute.attributes.find((a) => a.id === options.attribute.attribute_rules[2]))
238
+ : [])
239
+ ];
240
+ }
241
+ }
242
+ return result;
243
+ };
244
+ const getCategory = (options, importProduct, spaceObj) => {
245
+ if (!!!options.category)
246
+ return '';
247
+ if (!!!options.category.categories.length)
248
+ return '';
249
+ if (!!!options.category.category_rules.length)
250
+ return '';
251
+ if (!!!importProduct[options.category.category_is_in])
252
+ return '';
253
+ try {
254
+ const [, categoryNameToFindWithSuff] = !!options.category.category_rules[0]
255
+ ? importProduct[options.category.category_is_in].split(options.category.category_rules[0])
256
+ : ['', importProduct[options.category.category_is_in]];
257
+ let categoryNameToFind = '';
258
+ if (!!!options.category.category_rules[1]) {
259
+ categoryNameToFind = categoryNameToFindWithSuff;
260
+ }
261
+ else {
262
+ categoryNameToFind = categoryNameToFindWithSuff.split(options.category.category_rules[1])[0];
263
+ }
264
+ if (!!!categoryNameToFind)
265
+ return '';
266
+ let category = options.category.categories.find((cat) => (0, locale_1.getPrincipalWord)(cat.name, spaceObj).trim().toLowerCase() === categoryNameToFind.trim().toLowerCase() &&
267
+ !!cat.parent);
268
+ if (!!!category)
269
+ category = options.category.categories.find((cat) => (0, locale_1.getPrincipalWord)(cat.name, spaceObj).trim().toLowerCase() === categoryNameToFind.trim().toLowerCase());
270
+ if (!!!category)
271
+ return '';
272
+ if (!!!category.id)
273
+ return '';
274
+ return category.id;
275
+ }
276
+ catch (error) {
277
+ (0, console_1.errorMessage)(`Error while parsing category: ${error} - ${JSON.stringify(error)}`);
278
+ return '';
279
+ }
280
+ };
281
+ const alterDeclinations = (declinations) => {
282
+ const alteredDeclinations = [];
283
+ const grouped = (0, groupBy_1.default)(declinations, (declination) => declination.attributes.map((_a) => _a.values.map((_v) => _v.slug).join('&&')).join('|'));
284
+ (0, forEach_1.default)(grouped, (g) => {
285
+ const maxPrice = (0, maxBy_1.default)(g, (_g) => _g.price.regular.amount);
286
+ alteredDeclinations.push(Object.assign(Object.assign({}, g[0]), { price: !!maxPrice ? maxPrice.price : g[0].price }));
287
+ });
288
+ return alteredDeclinations;
289
+ };
290
+ const createDeclinations = async (children, parents, options, org, space, spaceObj) => {
291
+ const fullParents = [
292
+ ...parents.map((p) => async () => {
293
+ const parent = await createParent(p, options, org, space, spaceObj);
294
+ const isNeedle = false;
295
+ const isOtherTier = false;
296
+ const declinations = [
297
+ {
298
+ disabled: !!p.disabled && p.disabled.includes('1'),
299
+ attributes: getProductAttributesForDeclination(options, p, spaceObj),
300
+ discount_rules: !isNeedle && !isOtherTier
301
+ ? []
302
+ : isNeedle
303
+ ? [
304
+ {
305
+ draft: false,
306
+ appliesTo: {
307
+ label: 'product',
308
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
309
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
310
+ value: p.sku
311
+ },
312
+ id: `aiguile-1-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
313
+ ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)}`,
314
+ description: [],
315
+ discountRule_type: 'tier-pricing',
316
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
317
+ result: {
318
+ action: 'amount',
319
+ action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
320
+ ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)
321
+ },
322
+ rules: [
323
+ {
324
+ field: 'slug',
325
+ ruleDetails: [
326
+ {
327
+ operator: '==',
328
+ value: [p.sku],
329
+ condition: 'AND'
330
+ }
331
+ ],
332
+ condition: 'AND'
333
+ },
334
+ {
335
+ condition: 'AND',
336
+ field: 'quantity',
337
+ ruleDetails: [
338
+ {
339
+ condition: 'AND',
340
+ operator: 'between',
341
+ value: [5000, 9999]
342
+ }
343
+ ]
344
+ }
345
+ ],
346
+ noExtraRules: false,
347
+ is_stackable: true
348
+ },
349
+ {
350
+ draft: false,
351
+ appliesTo: {
352
+ label: 'product',
353
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
354
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
355
+ value: p.sku
356
+ },
357
+ id: `aiguile-2-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
358
+ ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)}`,
359
+ description: [],
360
+ discountRule_type: 'tier-pricing',
361
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
362
+ result: {
363
+ action: 'amount',
364
+ action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
365
+ ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)
366
+ },
367
+ rules: [
368
+ {
369
+ field: 'slug',
370
+ ruleDetails: [
371
+ {
372
+ operator: '==',
373
+ value: [p.sku],
374
+ condition: 'AND'
375
+ }
376
+ ],
377
+ condition: 'AND'
378
+ },
379
+ {
380
+ condition: 'AND',
381
+ field: 'quantity',
382
+ ruleDetails: [
383
+ {
384
+ condition: 'AND',
385
+ operator: 'between',
386
+ value: [9999, 999999]
387
+ }
388
+ ]
389
+ }
390
+ ],
391
+ noExtraRules: false,
392
+ is_stackable: true
393
+ }
394
+ ]
395
+ : [
396
+ {
397
+ draft: false,
398
+ appliesTo: {
399
+ label: 'product',
400
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
401
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
402
+ value: p.sku
403
+ },
404
+ id: `other-1-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
405
+ ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)}`,
406
+ description: [],
407
+ discountRule_type: 'tier-pricing',
408
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
409
+ result: {
410
+ action: 'amount',
411
+ action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
412
+ ((0, toNumber_1.default)(!!!p.pref ? 0 : p.pref.replace(/,/g, '.')) || 0)
413
+ },
414
+ rules: [
415
+ {
416
+ field: 'slug',
417
+ ruleDetails: [
418
+ {
419
+ operator: '==',
420
+ value: [p.sku],
421
+ condition: 'AND'
422
+ }
423
+ ],
424
+ condition: 'AND'
425
+ },
426
+ {
427
+ condition: 'AND',
428
+ field: 'quantity',
429
+ ruleDetails: [
430
+ {
431
+ condition: 'AND',
432
+ operator: 'between',
433
+ value: [6, 11]
434
+ }
435
+ ]
436
+ }
437
+ ],
438
+ noExtraRules: false,
439
+ is_stackable: true
440
+ },
441
+ {
442
+ draft: false,
443
+ appliesTo: {
444
+ label: 'product',
445
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
446
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
447
+ value: p.sku
448
+ },
449
+ id: `other-2-${((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
450
+ ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)}`,
451
+ description: [],
452
+ discountRule_type: 'tier-pricing',
453
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
454
+ result: {
455
+ action: 'amount',
456
+ action_value: ((0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0) -
457
+ ((0, toNumber_1.default)(!!!p.web ? 0 : p.web.replace(/,/g, '.')) || 0)
458
+ },
459
+ rules: [
460
+ {
461
+ field: 'slug',
462
+ ruleDetails: [
463
+ {
464
+ operator: '==',
465
+ value: [p.sku],
466
+ condition: 'AND'
467
+ }
468
+ ],
469
+ condition: 'AND'
470
+ },
471
+ {
472
+ condition: 'AND',
473
+ field: 'quantity',
474
+ ruleDetails: [
475
+ {
476
+ condition: 'AND',
477
+ operator: 'between',
478
+ value: [12, 999999]
479
+ }
480
+ ]
481
+ }
482
+ ],
483
+ noExtraRules: false,
484
+ is_stackable: true
485
+ }
486
+ ],
487
+ image_files: !!!p.images || (Array.isArray(p.images) && !!!p.images.length) || !!!p.is_multiple
488
+ ? !!!p.parent_images
489
+ ? await Promise.all(p.parent_images
490
+ .split(',')
491
+ .slice(0, !!p.is_multiple ? 1 : undefined)
492
+ .map(async (img_path) => ({
493
+ img_alt: putToLang(['fr', 'en'], p.name),
494
+ img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${p.parent_slug}`),
495
+ img_title: putToLang(['fr', 'en'], p.name)
496
+ })))
497
+ : []
498
+ : await Promise.all(p.images.split(',').map(async (img_path) => ({
499
+ img_alt: putToLang(['fr', 'en'], p.name),
500
+ img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${p.parent_slug}`),
501
+ img_title: putToLang(['fr', 'en'], p.name)
502
+ }))),
503
+ name: putToLang(['fr', 'en'], p.name),
504
+ price: {
505
+ regular: {
506
+ amount: (0, toNumber_1.default)(!!!p.courant ? 0 : p.courant.replace(/,/g, '.')) || 0
507
+ },
508
+ pdsf: {
509
+ amount: (0, toNumber_1.default)(!!!p.pdsf ? 0 : p.pdsf.replace(/,/g, '.')) || 0
510
+ },
511
+ cost: {
512
+ amount: (0, toNumber_1.default)(!!!p.cost ? 0 : p.cost.replace(/,/g, '.')) || 0
513
+ }
514
+ },
515
+ shipping_info: {
516
+ unit_measurments: 'centimeters',
517
+ unit_weight: 'kilograms',
518
+ height: (0, toNumber_1.default)(!!!p.height ? 0 : p.height.replace(/,/g, '.')) || 0,
519
+ width: (0, toNumber_1.default)(!!!p.width ? 0 : p.width.replace(/,/g, '.')) || 0,
520
+ length: (0, toNumber_1.default)(!!!p.length ? 0 : p.length.replace(/,/g, '.')) || 0,
521
+ weight: (0, toNumber_1.default)(!!!p.weight ? 0 : p.weight.replace(/,/g, '.')) || 0
522
+ },
523
+ sku: p.sku,
524
+ slug: p.sku,
525
+ description: putToLang(['fr', 'en'], !!p.description ? p.description : !!p.parent_description ? p.parent_description : '')
526
+ }
527
+ ];
528
+ return Object.assign(Object.assign({}, parent), { draft: !!p.draft && p.draft.includes('1'), declinations: (0, toString_1.default)(p.is_multiple).toUpperCase() === '1' ? declinations : alterDeclinations(declinations) });
529
+ }),
530
+ ...(0, map_1.default)(children, (p) => async () => {
531
+ const parent = await createParent(p[0], options, org, space, spaceObj, p);
532
+ const isNeedle = typeof p[0].sku === 'string' && p[0].sku.toLowerCase()[0] === 'a';
533
+ const isOtherTier = !isNeedle &&
534
+ !!(0, toNumber_1.default)(!!!p[0].web ? 0 : p[0].web.replace(/,/g, '.')) &&
535
+ !!(0, toNumber_1.default)(!!!p[0].pref ? 0 : p[0].pref.replace(/,/g, '.'));
536
+ const declinations = await Promise.all((0, map_1.default)(p, async (_p) => {
537
+ return {
538
+ attributes: getProductAttributesForDeclination(options, _p, spaceObj),
539
+ disabled: !!_p.disabled && _p.disabled.includes('1'),
540
+ discount_rules: !isNeedle && !isOtherTier
541
+ ? []
542
+ : isNeedle
543
+ ? [
544
+ {
545
+ draft: false,
546
+ appliesTo: {
547
+ label: 'product',
548
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
549
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
550
+ value: _p.sku
551
+ },
552
+ id: `aiguile-1-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
553
+ ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)}`,
554
+ description: [],
555
+ discountRule_type: 'tier-pricing',
556
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
557
+ result: {
558
+ action: 'amount',
559
+ action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
560
+ ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)
561
+ },
562
+ rules: [
563
+ {
564
+ field: 'slug',
565
+ ruleDetails: [
566
+ {
567
+ operator: '==',
568
+ value: [_p.sku],
569
+ condition: 'AND'
570
+ }
571
+ ],
572
+ condition: 'AND'
573
+ },
574
+ {
575
+ condition: 'AND',
576
+ field: 'quantity',
577
+ ruleDetails: [
578
+ {
579
+ condition: 'AND',
580
+ operator: 'between',
581
+ value: [5000, 9999]
582
+ }
583
+ ]
584
+ }
585
+ ],
586
+ noExtraRules: false,
587
+ is_stackable: true
588
+ },
589
+ {
590
+ draft: false,
591
+ appliesTo: {
592
+ label: 'product',
593
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
594
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
595
+ value: _p.sku
596
+ },
597
+ id: `aiguile-2-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
598
+ ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)}`,
599
+ description: [],
600
+ discountRule_type: 'tier-pricing',
601
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
602
+ result: {
603
+ action: 'amount',
604
+ action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
605
+ ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)
606
+ },
607
+ rules: [
608
+ {
609
+ field: 'slug',
610
+ ruleDetails: [
611
+ {
612
+ operator: '==',
613
+ value: [_p.sku],
614
+ condition: 'AND'
615
+ }
616
+ ],
617
+ condition: 'AND'
618
+ },
619
+ {
620
+ condition: 'AND',
621
+ field: 'quantity',
622
+ ruleDetails: [
623
+ {
624
+ condition: 'AND',
625
+ operator: 'between',
626
+ value: [9999, 999999]
627
+ }
628
+ ]
629
+ }
630
+ ],
631
+ noExtraRules: false,
632
+ is_stackable: true
633
+ }
634
+ ]
635
+ : [
636
+ {
637
+ draft: false,
638
+ appliesTo: {
639
+ label: 'product',
640
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
641
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
642
+ value: _p.sku
643
+ },
644
+ id: `other-1-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
645
+ ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)}`,
646
+ description: [],
647
+ discountRule_type: 'tier-pricing',
648
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
649
+ result: {
650
+ action: 'amount',
651
+ action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
652
+ ((0, toNumber_1.default)(!!!_p.pref ? 0 : _p.pref.replace(/,/g, '.')) || 0)
653
+ },
654
+ rules: [
655
+ {
656
+ field: 'slug',
657
+ ruleDetails: [
658
+ {
659
+ operator: '==',
660
+ value: [_p.sku],
661
+ condition: 'AND'
662
+ }
663
+ ],
664
+ condition: 'AND'
665
+ },
666
+ {
667
+ condition: 'AND',
668
+ field: 'quantity',
669
+ ruleDetails: [
670
+ {
671
+ condition: 'AND',
672
+ operator: 'between',
673
+ value: [6, 11]
674
+ }
675
+ ]
676
+ }
677
+ ],
678
+ noExtraRules: false,
679
+ is_stackable: true
680
+ },
681
+ {
682
+ draft: false,
683
+ appliesTo: {
684
+ label: 'product',
685
+ check_attribute_value: '8OUv9qj0aDbiLOovd4dp',
686
+ check_other_items_category: 'hfx8p8hNekNvX6ExN9jR',
687
+ value: _p.sku
688
+ },
689
+ id: `other-2-${((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
690
+ ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)}`,
691
+ description: [],
692
+ discountRule_type: 'tier-pricing',
693
+ name: putToLang(['fr', 'en'], 'Tier-pricing automatique'),
694
+ result: {
695
+ action: 'amount',
696
+ action_value: ((0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0) -
697
+ ((0, toNumber_1.default)(!!!_p.web ? 0 : _p.web.replace(/,/g, '.')) || 0)
698
+ },
699
+ rules: [
700
+ {
701
+ field: 'slug',
702
+ ruleDetails: [
703
+ {
704
+ operator: '==',
705
+ value: [_p.sku],
706
+ condition: 'AND'
707
+ }
708
+ ],
709
+ condition: 'AND'
710
+ },
711
+ {
712
+ condition: 'AND',
713
+ field: 'quantity',
714
+ ruleDetails: [
715
+ {
716
+ condition: 'AND',
717
+ operator: 'between',
718
+ value: [12, 999999]
719
+ }
720
+ ]
721
+ }
722
+ ],
723
+ noExtraRules: false,
724
+ is_stackable: true
725
+ }
726
+ ],
727
+ image_files: !!!_p.images || (Array.isArray(_p.images) && !!!_p.images.length) || !!!_p.is_multiple
728
+ ? !!!_p.parent_images
729
+ ? await Promise.all(_p.parent_images
730
+ .split(',')
731
+ .slice(0, !!_p.is_multiple ? 1 : undefined)
732
+ .map(async (img_path) => ({
733
+ img_alt: putToLang(['fr', 'en'], _p.name),
734
+ img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${_p.parent_slug}`),
735
+ img_title: putToLang(['fr', 'en'], _p.name)
736
+ })))
737
+ : []
738
+ : await Promise.all(_p.images.split(',').map(async (img_path) => ({
739
+ img_alt: putToLang(['fr', 'en'], _p.name),
740
+ img_path: await (0, exports.createImage)(img_path, `/the_beast/1.0.0/orgs/${org}/spaces/${space}/products/${_p.parent_slug}`),
741
+ img_title: putToLang(['fr', 'en'], _p.name)
742
+ }))),
743
+ name: putToLang(['fr', 'en'], _p.name),
744
+ price: {
745
+ regular: {
746
+ amount: (0, toNumber_1.default)(!!!_p.courant ? 0 : _p.courant.replace(/,/g, '.')) || 0
747
+ },
748
+ pdsf: {
749
+ amount: (0, toNumber_1.default)(!!!_p.pdsf ? 0 : _p.pdsf.replace(/,/g, '.')) || 0
750
+ },
751
+ cost: {
752
+ amount: (0, toNumber_1.default)(!!!_p.cost ? 0 : _p.cost.replace(/,/g, '.')) || 0
753
+ }
754
+ },
755
+ shipping_info: {
756
+ unit_measurments: 'centimeters',
757
+ unit_weight: 'kilograms',
758
+ height: (0, toNumber_1.default)(!!!_p.height ? 0 : _p.height.replace(/,/g, '.')) || 0,
759
+ width: (0, toNumber_1.default)(!!!_p.width ? 0 : _p.width.replace(/,/g, '.')) || 0,
760
+ length: (0, toNumber_1.default)(!!!_p.length ? 0 : _p.length.replace(/,/g, '.')) || 0,
761
+ weight: (0, toNumber_1.default)(!!!_p.weight ? 0 : _p.weight.replace(/,/g, '.')) || 0
762
+ },
763
+ sku: _p.sku,
764
+ slug: _p.sku,
765
+ description: putToLang(['fr', 'en'], !!_p.description ? _p.description : !!_p.parent_description ? _p.parent_description : '')
766
+ };
767
+ }));
768
+ return Object.assign(Object.assign({}, parent), { draft: !!!p.find((_p) => !!_p.draft && _p.draft.includes('0')), declinations: (0, toString_1.default)(p[0].is_multiple).toUpperCase() === '1' ? declinations : alterDeclinations(declinations) });
769
+ })
770
+ ];
771
+ return fullParents;
772
+ };
773
+ const createImage = async (path, pathToStore) => {
774
+ try {
775
+ const imgCors = await (0, isomorphic_unfetch_1.default)('/api/services/cors', {
776
+ headers: { 'content-type': 'application/json' },
777
+ method: 'POST',
778
+ body: JSON.stringify({
779
+ props: { method: 'GET', body: {}, headers: { contentType: 'base64' } },
780
+ url: path.replace(/ /gi, '').trim()
781
+ })
782
+ });
783
+ const content = await imgCors.json();
784
+ const data = content.data;
785
+ return await (0, file_1.uploadStringToPath)(data, pathToStore, path.split('.')[path.split('.').length - 2].split('/')[path.split('.')[path.split('.').length - 2].split('/').length - 1], path.split('.')[path.split('.').length - 1]);
786
+ }
787
+ catch (error) {
788
+ return path;
789
+ }
790
+ };
791
+ exports.createImage = createImage;
792
792
  //# sourceMappingURL=IImportProduct.js.map