addio-admin-sdk 1.7.166 → 1.7.167

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 (579) hide show
  1. package/.babelrc +17 -17
  2. package/.env.dev +14 -14
  3. package/.github/workflows/run_unit_test.yaml +48 -48
  4. package/addio-sdk-doc.md +1473 -1473
  5. package/changelog.md +573 -573
  6. package/dist/Interfaces/Address/index.d.ts +21 -21
  7. package/dist/Interfaces/Address/index.js +16 -16
  8. package/dist/Interfaces/Algolia/index.d.ts +180 -180
  9. package/dist/Interfaces/Algolia/index.js +2 -2
  10. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  11. package/dist/Interfaces/Attachement/index.js +2 -2
  12. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  13. package/dist/Interfaces/Attribute/index.js +10 -10
  14. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  15. package/dist/Interfaces/BGJob/index.js +25 -25
  16. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  17. package/dist/Interfaces/BaseClass/index.js +2 -2
  18. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  19. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  20. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  21. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  22. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  23. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  24. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  25. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  26. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  27. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  28. package/dist/Interfaces/Booking/index.d.ts +74 -74
  29. package/dist/Interfaces/Booking/index.js +17 -17
  30. package/dist/Interfaces/Brand/index.d.ts +15 -15
  31. package/dist/Interfaces/Brand/index.js +2 -2
  32. package/dist/Interfaces/CMS/index.d.ts +28 -28
  33. package/dist/Interfaces/CMS/index.js +5 -5
  34. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  35. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  36. package/dist/Interfaces/Cart/IMarketPayload.d.ts +12 -12
  37. package/dist/Interfaces/Cart/IMarketPayload.js +2 -2
  38. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  39. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  40. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  41. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  42. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  43. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  44. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  45. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  46. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  47. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  48. package/dist/Interfaces/Cart/index.d.ts +451 -451
  49. package/dist/Interfaces/Cart/index.js +216 -216
  50. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  51. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  52. package/dist/Interfaces/CashDrawers/index.d.ts +38 -38
  53. package/dist/Interfaces/CashDrawers/index.js +19 -19
  54. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  55. package/dist/Interfaces/Catalogue/index.js +37 -37
  56. package/dist/Interfaces/Category/index.d.ts +33 -33
  57. package/dist/Interfaces/Category/index.js +2 -2
  58. package/dist/Interfaces/Chart/index.d.ts +11 -11
  59. package/dist/Interfaces/Chart/index.js +2 -2
  60. package/dist/Interfaces/Class/index.d.ts +8 -8
  61. package/dist/Interfaces/Class/index.js +2 -2
  62. package/dist/Interfaces/Consent/index.d.ts +6 -6
  63. package/dist/Interfaces/Consent/index.js +2 -2
  64. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  65. package/dist/Interfaces/Context/IContextProps.js +2 -2
  66. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  67. package/dist/Interfaces/Context/IContextState.js +2 -2
  68. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  69. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  70. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  71. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  72. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  73. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  74. package/dist/Interfaces/Customer/index.d.ts +104 -104
  75. package/dist/Interfaces/Customer/index.js +148 -148
  76. package/dist/Interfaces/Declination/index.d.ts +117 -117
  77. package/dist/Interfaces/Declination/index.js +66 -66
  78. package/dist/Interfaces/Document/index.d.ts +8 -8
  79. package/dist/Interfaces/Document/index.js +2 -2
  80. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  81. package/dist/Interfaces/Elastic/index.js +2 -2
  82. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  83. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  84. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  85. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  86. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  87. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  88. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  89. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  90. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  91. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  92. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  93. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  94. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  95. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  96. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  97. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  98. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  99. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  100. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  101. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  102. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  103. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  104. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  105. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  106. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  107. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  108. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  109. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  110. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  111. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  112. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  113. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  114. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  115. package/dist/Interfaces/Email/IEmail.js +60 -60
  116. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  117. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  118. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  119. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  120. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  121. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  122. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  123. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  124. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  125. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  126. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  127. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  128. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  129. package/dist/Interfaces/ExportSchema/index.js +2 -2
  130. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  131. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  132. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  133. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  134. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  135. package/dist/Interfaces/ExternalService/index.js +2 -2
  136. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  137. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  138. package/dist/Interfaces/G2/index.d.ts +556 -556
  139. package/dist/Interfaces/G2/index.js +38 -38
  140. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  141. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  142. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  143. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  144. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  145. package/dist/Interfaces/Inventory/index.js +8 -8
  146. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  147. package/dist/Interfaces/Invoice/index.js +2 -2
  148. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  149. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  150. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  151. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  152. package/dist/Interfaces/Menu/index.d.ts +40 -40
  153. package/dist/Interfaces/Menu/index.js +16 -16
  154. package/dist/Interfaces/Note/index.d.ts +10 -10
  155. package/dist/Interfaces/Note/index.js +7 -7
  156. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  157. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  158. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  159. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  160. package/dist/Interfaces/Order/index.d.ts +4 -4
  161. package/dist/Interfaces/Order/index.js +2 -2
  162. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  163. package/dist/Interfaces/Org/IRelUser.js +2 -2
  164. package/dist/Interfaces/Org/index.d.ts +29 -29
  165. package/dist/Interfaces/Org/index.js +12 -12
  166. package/dist/Interfaces/Payment/index.d.ts +26 -26
  167. package/dist/Interfaces/Payment/index.js +14 -14
  168. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  169. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  170. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  171. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  172. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  173. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  174. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  175. package/dist/Interfaces/Product/IPricing.js +180 -180
  176. package/dist/Interfaces/Product/index.d.ts +137 -137
  177. package/dist/Interfaces/Product/index.js +64 -64
  178. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  179. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  180. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  181. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  182. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  183. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  184. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  185. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  186. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  187. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  188. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  189. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  190. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  191. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  192. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  193. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  194. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  195. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  196. package/dist/Interfaces/Quote/index.d.ts +5 -5
  197. package/dist/Interfaces/Quote/index.js +2 -2
  198. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  199. package/dist/Interfaces/Refunds/index.js +2 -2
  200. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  201. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  202. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  203. package/dist/Interfaces/Schedule/index.js +2 -2
  204. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  205. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  206. package/dist/Interfaces/Services/IService.d.ts +16 -16
  207. package/dist/Interfaces/Services/IService.js +2 -2
  208. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  209. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  210. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  211. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  212. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  213. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  214. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  215. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  216. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  217. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  218. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  219. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  220. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  221. package/dist/Interfaces/Slider/GR.js +271 -271
  222. package/dist/Interfaces/Slider/index.d.ts +30 -30
  223. package/dist/Interfaces/Slider/index.js +2 -2
  224. package/dist/Interfaces/Space/IExternalService.d.ts +54 -53
  225. package/dist/Interfaces/Space/IExternalService.js +45 -44
  226. package/dist/Interfaces/Space/IExternalService.js.map +1 -1
  227. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  228. package/dist/Interfaces/Space/IMember.js +9 -9
  229. package/dist/Interfaces/Space/index.d.ts +413 -412
  230. package/dist/Interfaces/Space/index.js +175 -175
  231. package/dist/Interfaces/Space/index.js.map +1 -1
  232. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  233. package/dist/Interfaces/Specials/gr.js +2 -2
  234. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  235. package/dist/Interfaces/StockNotification/index.js +2 -2
  236. package/dist/Interfaces/Store/index.d.ts +63 -63
  237. package/dist/Interfaces/Store/index.js +27 -27
  238. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  239. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  240. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  241. package/dist/Interfaces/Supplier/index.js +24 -24
  242. package/dist/Interfaces/TCG/index.d.ts +194 -194
  243. package/dist/Interfaces/TCG/index.js +60 -60
  244. package/dist/Interfaces/Tag/index.d.ts +18 -18
  245. package/dist/Interfaces/Tag/index.js +2 -2
  246. package/dist/Interfaces/Tax/index.d.ts +13 -13
  247. package/dist/Interfaces/Tax/index.js +2 -2
  248. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  249. package/dist/Interfaces/TransferRequest/index.js +46 -46
  250. package/dist/Interfaces/Translation/index.d.ts +8 -8
  251. package/dist/Interfaces/Translation/index.js +5 -5
  252. package/dist/Interfaces/Update/index.d.ts +10 -10
  253. package/dist/Interfaces/Update/index.js +2 -2
  254. package/dist/Interfaces/User/IUser.d.ts +65 -65
  255. package/dist/Interfaces/User/IUser.js +8 -8
  256. package/dist/Interfaces/Version/index.d.ts +11 -11
  257. package/dist/Interfaces/Version/index.js +2 -2
  258. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  259. package/dist/Interfaces/Wishlist/index.js +2 -2
  260. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  261. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  262. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  263. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  264. package/dist/constants/enums.d.ts +6 -6
  265. package/dist/constants/enums.js +10 -10
  266. package/dist/constants/services.d.ts +2 -2
  267. package/dist/constants/services.js +122 -117
  268. package/dist/constants/services.js.map +1 -1
  269. package/dist/constants/version.d.ts +2 -2
  270. package/dist/constants/version.js +5 -5
  271. package/dist/index.d.ts +50 -50
  272. package/dist/index.js +266 -266
  273. package/dist/lib/Attribute/index.d.ts +14 -14
  274. package/dist/lib/Attribute/index.js +186 -186
  275. package/dist/lib/BGJob/index.d.ts +9 -9
  276. package/dist/lib/BGJob/index.js +216 -216
  277. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  278. package/dist/lib/BackgroundWorker/index.js +59 -59
  279. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  280. package/dist/lib/Blog/BlogArticle.js +10 -10
  281. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  282. package/dist/lib/Blog/BlogAuthor.js +10 -10
  283. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  284. package/dist/lib/Blog/BlogCategory.js +10 -10
  285. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  286. package/dist/lib/Blog/BlogKeyword.js +10 -10
  287. package/dist/lib/Booking/index.d.ts +85 -85
  288. package/dist/lib/Booking/index.js +596 -596
  289. package/dist/lib/Brand/index.d.ts +26 -26
  290. package/dist/lib/Brand/index.js +131 -131
  291. package/dist/lib/Cart/index.d.ts +354 -335
  292. package/dist/lib/Cart/index.js +4031 -3981
  293. package/dist/lib/Cart/index.js.map +1 -1
  294. package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
  295. package/dist/lib/CartReservedQuantities/index.js +159 -159
  296. package/dist/lib/CashDrawerShift/index.d.ts +84 -84
  297. package/dist/lib/CashDrawerShift/index.js +206 -206
  298. package/dist/lib/Catalogue/index.d.ts +15 -15
  299. package/dist/lib/Catalogue/index.js +78 -78
  300. package/dist/lib/Category/index.d.ts +34 -34
  301. package/dist/lib/Category/index.js +230 -230
  302. package/dist/lib/Class/index.d.ts +16 -16
  303. package/dist/lib/Class/index.js +66 -66
  304. package/dist/lib/Consent/index.d.ts +4 -4
  305. package/dist/lib/Consent/index.js +29 -29
  306. package/dist/lib/Customer/index.d.ts +30 -30
  307. package/dist/lib/Customer/index.js +92 -92
  308. package/dist/lib/Declination/index.d.ts +9 -9
  309. package/dist/lib/Declination/index.js +26 -26
  310. package/dist/lib/Discount/index.d.ts +27 -27
  311. package/dist/lib/Discount/index.js +493 -493
  312. package/dist/lib/ElasticSearch/index.d.ts +13 -13
  313. package/dist/lib/ElasticSearch/index.js +50 -50
  314. package/dist/lib/Elavon/index.d.ts +18 -18
  315. package/dist/lib/Elavon/index.js +135 -135
  316. package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
  317. package/dist/lib/Email/AbandonedCartEmail.js +24 -24
  318. package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
  319. package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
  320. package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
  321. package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
  322. package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
  323. package/dist/lib/Email/ApplicationEmail.js +24 -24
  324. package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
  325. package/dist/lib/Email/BackInStockEmail.js +24 -24
  326. package/dist/lib/Email/ContactEmail.d.ts +16 -16
  327. package/dist/lib/Email/ContactEmail.js +24 -24
  328. package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
  329. package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
  330. package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
  331. package/dist/lib/Email/CustomerBookingEmail.js +24 -24
  332. package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
  333. package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
  334. package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
  335. package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
  336. package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
  337. package/dist/lib/Email/OrderSampleEmail.js +24 -24
  338. package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
  339. package/dist/lib/Email/OtherTypeEmails.js +27 -27
  340. package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
  341. package/dist/lib/Email/PasswordResetEmail.js +24 -24
  342. package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
  343. package/dist/lib/Email/PhotoShootEmail.js +24 -24
  344. package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
  345. package/dist/lib/Email/PickUpConfirmation.js +24 -24
  346. package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
  347. package/dist/lib/Email/ShippingConfirmation.js +24 -24
  348. package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
  349. package/dist/lib/Email/WelcomeEmail.js +24 -24
  350. package/dist/lib/Email/index.d.ts +16 -16
  351. package/dist/lib/Email/index.js +31 -31
  352. package/dist/lib/ExternalService/Ebay.d.ts +74 -74
  353. package/dist/lib/ExternalService/Ebay.js +124 -124
  354. package/dist/lib/ExternalService/index.d.ts +5 -5
  355. package/dist/lib/ExternalService/index.js +10 -10
  356. package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
  357. package/dist/lib/FirstOrderTracking/index.js +10 -10
  358. package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
  359. package/dist/lib/Indexed/IndexedCart.js +91 -91
  360. package/dist/lib/Indexed/Product.d.ts +17 -17
  361. package/dist/lib/Indexed/Product.js +98 -98
  362. package/dist/lib/Inventory/index.d.ts +112 -112
  363. package/dist/lib/Inventory/index.js +492 -492
  364. package/dist/lib/Invoice/index.d.ts +16 -16
  365. package/dist/lib/Invoice/index.js +21 -21
  366. package/dist/lib/MarketplacePublication/index.d.ts +9 -9
  367. package/dist/lib/MarketplacePublication/index.js +426 -426
  368. package/dist/lib/Menu/index.d.ts +11 -11
  369. package/dist/lib/Menu/index.js +107 -107
  370. package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
  371. package/dist/lib/MongoDB/BaseAPI.js +200 -200
  372. package/dist/lib/Note/index.d.ts +4 -4
  373. package/dist/lib/Note/index.js +6 -6
  374. package/dist/lib/Order/index.d.ts +27 -27
  375. package/dist/lib/Order/index.js +56 -56
  376. package/dist/lib/Org/index.d.ts +68 -68
  377. package/dist/lib/Org/index.js +216 -216
  378. package/dist/lib/PandaPay/index.d.ts +16 -16
  379. package/dist/lib/PandaPay/index.js +176 -176
  380. package/dist/lib/Paysafe/index.d.ts +11 -11
  381. package/dist/lib/Paysafe/index.js +41 -41
  382. package/dist/lib/Product/index.d.ts +182 -182
  383. package/dist/lib/Product/index.js +847 -847
  384. package/dist/lib/ProductAttribute/index.d.ts +15 -15
  385. package/dist/lib/ProductAttribute/index.js +45 -45
  386. package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
  387. package/dist/lib/PromiseToPurchase/index.js +343 -343
  388. package/dist/lib/PurchaseOrder/index.d.ts +20 -20
  389. package/dist/lib/PurchaseOrder/index.js +28 -28
  390. package/dist/lib/Queue/index.d.ts +40 -40
  391. package/dist/lib/Queue/index.js +254 -254
  392. package/dist/lib/Schedule/index.d.ts +5 -5
  393. package/dist/lib/Schedule/index.js +12 -12
  394. package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
  395. package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
  396. package/dist/lib/Service/index.d.ts +13 -13
  397. package/dist/lib/Service/index.js +21 -21
  398. package/dist/lib/Shipment/index.d.ts +28 -28
  399. package/dist/lib/Shipment/index.js +370 -370
  400. package/dist/lib/Slider/index.d.ts +22 -22
  401. package/dist/lib/Slider/index.js +119 -119
  402. package/dist/lib/Space/index.d.ts +1181 -1181
  403. package/dist/lib/Space/index.js +5841 -5841
  404. package/dist/lib/StockNotification/index.d.ts +4 -4
  405. package/dist/lib/StockNotification/index.js +6 -6
  406. package/dist/lib/Store/index.d.ts +5 -5
  407. package/dist/lib/Store/index.js +12 -12
  408. package/dist/lib/Supplier/Command.d.ts +5 -5
  409. package/dist/lib/Supplier/Command.js +10 -10
  410. package/dist/lib/Supplier/index.d.ts +25 -25
  411. package/dist/lib/Supplier/index.js +27 -27
  412. package/dist/lib/Tags/index.d.ts +6 -6
  413. package/dist/lib/Tags/index.js +26 -26
  414. package/dist/lib/Tax/index.d.ts +8 -8
  415. package/dist/lib/Tax/index.js +54 -54
  416. package/dist/lib/TransferRequest/index.d.ts +290 -290
  417. package/dist/lib/TransferRequest/index.js +1026 -1026
  418. package/dist/lib/Update/index.d.ts +10 -10
  419. package/dist/lib/Update/index.js +22 -22
  420. package/dist/lib/User/index.d.ts +89 -89
  421. package/dist/lib/User/index.js +328 -328
  422. package/dist/lib/Wishlist/index.d.ts +5 -5
  423. package/dist/lib/Wishlist/index.js +10 -10
  424. package/dist/lib/base.d.ts +14 -14
  425. package/dist/lib/base.js +62 -62
  426. package/dist/lib/baseService.d.ts +17 -17
  427. package/dist/lib/baseService.js +69 -69
  428. package/dist/rules/ADD/utils/buyback.d.ts +4 -4
  429. package/dist/rules/ADD/utils/buyback.js +135 -135
  430. package/dist/rules/GR/constants/data.d.ts +26 -26
  431. package/dist/rules/GR/constants/data.js +81 -81
  432. package/dist/rules/GR/constants/expedition.d.ts +4 -4
  433. package/dist/rules/GR/constants/expedition.js +9 -9
  434. package/dist/rules/GR/constants/products.d.ts +22 -22
  435. package/dist/rules/GR/constants/products.js +263 -263
  436. package/dist/rules/GR/interfaces/cart.d.ts +84 -84
  437. package/dist/rules/GR/interfaces/cart.js +41 -41
  438. package/dist/rules/GR/interfaces/data.d.ts +101 -101
  439. package/dist/rules/GR/interfaces/data.js +114 -114
  440. package/dist/rules/GR/interfaces/products.d.ts +61 -61
  441. package/dist/rules/GR/interfaces/products.js +10 -10
  442. package/dist/rules/GR/utils/cart.d.ts +95 -95
  443. package/dist/rules/GR/utils/cart.js +839 -839
  444. package/dist/rules/GR/utils/data.d.ts +3 -3
  445. package/dist/rules/GR/utils/data.js +28 -28
  446. package/dist/rules/GR/utils/expedition.d.ts +140 -140
  447. package/dist/rules/GR/utils/expedition.js +2016 -2016
  448. package/dist/rules/GR/utils/g2.d.ts +209 -209
  449. package/dist/rules/GR/utils/g2.js +1002 -1002
  450. package/dist/rules/GR/utils/invoices.d.ts +51 -51
  451. package/dist/rules/GR/utils/invoices.js +215 -215
  452. package/dist/rules/GR/utils/products.d.ts +277 -277
  453. package/dist/rules/GR/utils/products.js +1350 -1350
  454. package/dist/rules/GR/utils/upsells.d.ts +111 -111
  455. package/dist/rules/GR/utils/upsells.js +215 -215
  456. package/dist/services/database/BaseProvider.d.ts +29 -29
  457. package/dist/services/database/BaseProvider.js +28 -28
  458. package/dist/services/database/BatchUtils.d.ts +14 -14
  459. package/dist/services/database/BatchUtils.js +43 -43
  460. package/dist/services/database/Config.d.ts +2 -2
  461. package/dist/services/database/Config.js +5 -5
  462. package/dist/services/database/DatabaseService.d.ts +125 -125
  463. package/dist/services/database/DatabaseService.js +237 -237
  464. package/dist/services/database/FirebaseProvider.d.ts +17 -17
  465. package/dist/services/database/FirebaseProvider.js +235 -235
  466. package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
  467. package/dist/services/database/NotFirebaseProvider.js +262 -262
  468. package/dist/services/g2/G2OrderSlip.d.ts +49 -49
  469. package/dist/services/g2/G2OrderSlip.js +228 -228
  470. package/dist/services/g2/utils.d.ts +19 -19
  471. package/dist/services/g2/utils.js +967 -967
  472. package/dist/services/logs/index.d.ts +23 -23
  473. package/dist/services/logs/index.js +66 -66
  474. package/dist/services/marketplace/BaseMarketServiceClass.d.ts +69 -69
  475. package/dist/services/marketplace/BaseMarketServiceClass.js +133 -133
  476. package/dist/services/marketplace/CardtraderServiceClass.d.ts +33 -33
  477. package/dist/services/marketplace/CardtraderServiceClass.js +215 -215
  478. package/dist/services/marketplace/utils.d.ts +17 -17
  479. package/dist/services/marketplace/utils.js +32 -32
  480. package/dist/services/products/BaseClass.d.ts +50 -50
  481. package/dist/services/products/BaseClass.js +66 -66
  482. package/dist/services/products/TCGService.d.ts +32 -32
  483. package/dist/services/products/TCGService.js +555 -555
  484. package/dist/services/products/utils.d.ts +31 -31
  485. package/dist/services/products/utils.js +144 -144
  486. package/dist/utils/algolia.d.ts +46 -46
  487. package/dist/utils/algolia.js +21 -21
  488. package/dist/utils/anonymisation.d.ts +54 -54
  489. package/dist/utils/anonymisation.js +280 -280
  490. package/dist/utils/array.d.ts +5 -5
  491. package/dist/utils/array.js +14 -14
  492. package/dist/utils/aws.d.ts +36 -36
  493. package/dist/utils/aws.js +154 -154
  494. package/dist/utils/booking.d.ts +30 -30
  495. package/dist/utils/booking.js +127 -127
  496. package/dist/utils/cart.d.ts +272 -272
  497. package/dist/utils/cart.js +1169 -1169
  498. package/dist/utils/categories.d.ts +2 -2
  499. package/dist/utils/categories.js +54 -54
  500. package/dist/utils/cmv.d.ts +10 -10
  501. package/dist/utils/cmv.js +107 -107
  502. package/dist/utils/console.d.ts +6 -6
  503. package/dist/utils/console.js +59 -59
  504. package/dist/utils/context.d.ts +20 -20
  505. package/dist/utils/context.js +61 -61
  506. package/dist/utils/currency.d.ts +6 -6
  507. package/dist/utils/currency.js +91 -91
  508. package/dist/utils/data.d.ts +31 -31
  509. package/dist/utils/data.js +296 -296
  510. package/dist/utils/date.d.ts +1 -1
  511. package/dist/utils/date.js +16 -16
  512. package/dist/utils/dimensions.d.ts +3 -3
  513. package/dist/utils/dimensions.js +16 -16
  514. package/dist/utils/discount.d.ts +174 -174
  515. package/dist/utils/discount.js +1118 -1118
  516. package/dist/utils/errors.d.ts +118 -118
  517. package/dist/utils/errors.js +123 -123
  518. package/dist/utils/file-admin.d.ts +8 -8
  519. package/dist/utils/file-admin.js +39 -39
  520. package/dist/utils/file.d.ts +39 -39
  521. package/dist/utils/file.js +208 -208
  522. package/dist/utils/firebase-admin.d.ts +11 -11
  523. package/dist/utils/firebase-admin.js +73 -73
  524. package/dist/utils/firebase.d.ts +58 -58
  525. package/dist/utils/firebase.js +148 -148
  526. package/dist/utils/import.d.ts +1 -1
  527. package/dist/utils/import.js +21 -21
  528. package/dist/utils/inventories.d.ts +101 -101
  529. package/dist/utils/inventories.js +467 -467
  530. package/dist/utils/locale.d.ts +24 -24
  531. package/dist/utils/locale.js +91 -91
  532. package/dist/utils/mailchimp.d.ts +58 -58
  533. package/dist/utils/mailchimp.js +531 -531
  534. package/dist/utils/mathUtils.d.ts +17 -17
  535. package/dist/utils/mathUtils.js +324 -324
  536. package/dist/utils/mongodb.d.ts +1 -1
  537. package/dist/utils/mongodb.js +22 -22
  538. package/dist/utils/object.d.ts +32 -32
  539. package/dist/utils/object.js +133 -133
  540. package/dist/utils/payment.d.ts +10 -10
  541. package/dist/utils/payment.js +23 -23
  542. package/dist/utils/products.d.ts +39 -39
  543. package/dist/utils/products.js +195 -195
  544. package/dist/utils/promiseToPurchase.d.ts +88 -88
  545. package/dist/utils/promiseToPurchase.js +229 -229
  546. package/dist/utils/prosprsearch.d.ts +42 -42
  547. package/dist/utils/prosprsearch.js +216 -216
  548. package/dist/utils/refunds.d.ts +2 -2
  549. package/dist/utils/refunds.js +21 -21
  550. package/dist/utils/sdc.d.ts +10 -10
  551. package/dist/utils/sdc.js +1309 -1309
  552. package/dist/utils/searchIndexes.d.ts +58 -58
  553. package/dist/utils/searchIndexes.js +247 -247
  554. package/dist/utils/services.d.ts +42 -42
  555. package/dist/utils/services.js +409 -409
  556. package/dist/utils/shipment.d.ts +110 -110
  557. package/dist/utils/shipment.js +345 -345
  558. package/dist/utils/simpletexting.d.ts +2 -2
  559. package/dist/utils/simpletexting.js +45 -45
  560. package/dist/utils/sliders.d.ts +4 -4
  561. package/dist/utils/sliders.js +24 -24
  562. package/dist/utils/string.d.ts +16 -16
  563. package/dist/utils/string.js +192 -192
  564. package/dist/utils/tcgService.d.ts +88 -88
  565. package/dist/utils/tcgService.js +408 -408
  566. package/dist/utils/tools.d.ts +5 -5
  567. package/dist/utils/tools.js +13 -13
  568. package/dist/utils/transferRequests.d.ts +43 -43
  569. package/dist/utils/transferRequests.js +67 -67
  570. package/dist/utils/update.d.ts +7 -7
  571. package/dist/utils/update.js +137 -137
  572. package/dist/utils/weight.d.ts +3 -3
  573. package/dist/utils/weight.js +16 -16
  574. package/dist/utils/zones.d.ts +11 -11
  575. package/dist/utils/zones.js +218 -218
  576. package/package.json +107 -107
  577. package/publish.sh +143 -143
  578. package/readme.md +182 -182
  579. package/.env +0 -15
@@ -1,409 +1,409 @@
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.getBuybackPricesForTcgCards = exports.getTcgAttributesToShow = exports.constructTcgAttributeLabels = exports.getProductNameToUse = exports.getAvailableInventoryForCurrentStore = exports.findCorrespondingDecliByAttributes = exports.getProductSetLabel = exports.constructAllFinishOptions = exports.constructAllLangOptions = exports.filterAndOrderDeclinations = exports.getGradientForFinish = exports.getTcgFinishAttrOrder = exports.getDefaultTcgExternalServiceParams = void 0;
7
- const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
8
- const orderBy_1 = __importDefault(require("lodash/orderBy"));
9
- const round_1 = __importDefault(require("lodash/round"));
10
- const TCG_1 = require("../Interfaces/TCG");
11
- const TCG_2 = require("../Interfaces/TCG");
12
- const object_1 = require("../utils/object");
13
- const locale_1 = require("../utils/locale");
14
- const getDefaultTcgExternalServiceParams = () => ({
15
- cardgame_slugs: [],
16
- default_parent_category: null
17
- });
18
- exports.getDefaultTcgExternalServiceParams = getDefaultTcgExternalServiceParams;
19
- /**
20
- * Get show order for a given value
21
- * @param finishAttrValue
22
- */
23
- const getTcgFinishAttrOrder = (finishAttrValue = TCG_2.TCGCardFinishEnum.NORMAL) => {
24
- const expectedFinishOrder = [
25
- TCG_2.TCGCardFinishEnum.NORMAL,
26
- TCG_2.TCGCardFinishEnum.FOIL,
27
- TCG_2.TCGCardFinishEnum.HOLO,
28
- TCG_2.TCGCardFinishEnum.HOLOFOIL,
29
- TCG_2.TCGCardFinishEnum.RAINBOW_FOIL,
30
- TCG_2.TCGCardFinishEnum.COLDFOIL,
31
- TCG_2.TCGCardFinishEnum.REVERSE_HOLOFOIL,
32
- TCG_2.TCGCardFinishEnum.ETCHED,
33
- TCG_2.TCGCardFinishEnum.UNLIMITED,
34
- TCG_2.TCGCardFinishEnum.UNLIMITED_NORMAL,
35
- TCG_2.TCGCardFinishEnum.UNLIMITED_HOLOFOIL,
36
- TCG_2.TCGCardFinishEnum.UNLIMITED_RAINBOWFOIL,
37
- TCG_2.TCGCardFinishEnum.FIRST_EDITION,
38
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL,
39
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL,
40
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL,
41
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL
42
- ];
43
- return expectedFinishOrder.indexOf(finishAttrValue) + 1;
44
- };
45
- exports.getTcgFinishAttrOrder = getTcgFinishAttrOrder;
46
- const getGradientForFinish = (finish) => {
47
- switch (finish) {
48
- case TCG_2.TCGCardFinishEnum.NORMAL:
49
- return 'normal';
50
- case TCG_2.TCGCardFinishEnum.REVERSE_HOLOFOIL:
51
- case TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL:
52
- case TCG_2.TCGCardFinishEnum.UNLIMITED_HOLOFOIL:
53
- case TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL:
54
- case TCG_2.TCGCardFinishEnum.RAINBOW_FOIL:
55
- case TCG_2.TCGCardFinishEnum.UNLIMITED_RAINBOWFOIL:
56
- return 'multi';
57
- case TCG_2.TCGCardFinishEnum.COLDFOIL:
58
- case TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL:
59
- return 'cold';
60
- case TCG_2.TCGCardFinishEnum.UNLIMITED:
61
- case TCG_2.TCGCardFinishEnum.UNLIMITED_NORMAL:
62
- case TCG_2.TCGCardFinishEnum.ETCHED:
63
- case TCG_2.TCGCardFinishEnum.FIRST_EDITION:
64
- case TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL:
65
- return 'other';
66
- case TCG_2.TCGCardFinishEnum.FOIL:
67
- case TCG_2.TCGCardFinishEnum.HOLO:
68
- case TCG_2.TCGCardFinishEnum.HOLOFOIL:
69
- default:
70
- return 'gold';
71
- }
72
- };
73
- exports.getGradientForFinish = getGradientForFinish;
74
- /**
75
- * Get currently available declinations, ordered by finish attribute (TCG), and by current POS space lang (language attribute TCG)
76
- * @param declinationData - Array of data used to order entries + full entry to return
77
- * @param locale
78
- * @param allInventories
79
- */
80
- const filterAndOrderDeclinations = (declinationData = [],
81
- // declinations: IIndexedDeclinationAlgolia[] | IIndexedDeclination[] | undefined,
82
- locale, allInventories) => {
83
- if (!declinationData.length)
84
- return [];
85
- // A. Filter out any unavailable declinations from possible options
86
- const removedUnavailableDeclis = declinationData.filter((d) => {
87
- return allInventories.some((i) => i.sku == d.sku);
88
- });
89
- // B. Order by finish attribute first, then by lang
90
- const orderedValues = (0, orderBy_1.default)(removedUnavailableDeclis, (d) => {
91
- let startNb = 2;
92
- const finishAttr = (0, object_1.recursiveCheckObject)(d, 'attributes.tcg_finish');
93
- if (finishAttr) {
94
- // Multiply start number by finish attr order
95
- startNb *= (0, exports.getTcgFinishAttrOrder)(finishAttr[0]);
96
- }
97
- // If lang attr same as current lang for POS, remove 1 to bring higher up in array
98
- const langAttr = (0, object_1.recursiveCheckObject)(d, 'attributes.tcg_language');
99
- if (locale && langAttr && langAttr[0] == `tcg_lang_${locale}`) {
100
- startNb -= 1;
101
- }
102
- return startNb;
103
- });
104
- return orderedValues.map((o) => o.fullDecli);
105
- };
106
- exports.filterAndOrderDeclinations = filterAndOrderDeclinations;
107
- const _getDefaultLangOption = (defaultLangToReturn, allTcgAttrLabels, locale) => {
108
- if (!allTcgAttrLabels || !defaultLangToReturn)
109
- return [];
110
- const sameInAllLabels = allTcgAttrLabels.tcg_language[defaultLangToReturn];
111
- if (sameInAllLabels) {
112
- return [
113
- {
114
- slug: defaultLangToReturn,
115
- label: sameInAllLabels.tag || defaultLangToReturn,
116
- fullLabel: (0, locale_1.getLocaleOfDictionnary)(sameInAllLabels.value, locale)
117
- }
118
- ];
119
- }
120
- return [];
121
- };
122
- /**
123
- * Construct all options for Language attribute (TCG), based on available declinations
124
- * @param declinations
125
- * @param allTcgAttrLabels All constructed labels based on expected TCG attributes
126
- * @param locale Current POS locale
127
- * @param defaultLangToReturn Optionnal. If a default value should be returned, even if declination array is empty. Corresponds to the value for the specific language attribute (ex. tcg_lang_en)
128
- */
129
- const constructAllLangOptions = (declinations, allTcgAttrLabels, locale, defaultLangToReturn) => {
130
- if (!declinations.length) {
131
- // Check to return default value
132
- return _getDefaultLangOption(defaultLangToReturn, allTcgAttrLabels, locale);
133
- }
134
- const allOptions = [];
135
- for (let variation of declinations) {
136
- const tcgLangAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${TCG_2.TCGVariationAttributesEnum.LANG}`);
137
- if (!tcgLangAttr) {
138
- // Check to return default value
139
- const defaultOpt = _getDefaultLangOption(defaultLangToReturn, allTcgAttrLabels, locale);
140
- if (!!defaultOpt.length)
141
- allOptions.push(defaultOpt[0]);
142
- continue;
143
- }
144
- const langSlug = tcgLangAttr[0];
145
- if (langSlug && !allOptions.some((o) => o.slug == langSlug)) {
146
- const sameLabel = !!allTcgAttrLabels ? allTcgAttrLabels.tcg_language[langSlug] : undefined;
147
- allOptions.push({
148
- slug: langSlug,
149
- label: sameLabel && sameLabel.tag ? sameLabel.tag : tcgLangAttr[0],
150
- fullLabel: sameLabel ? (0, locale_1.getLocaleOfDictionnary)(sameLabel.value, locale) : tcgLangAttr[0]
151
- });
152
- }
153
- }
154
- return allOptions;
155
- };
156
- exports.constructAllLangOptions = constructAllLangOptions;
157
- /**
158
- * Construct all unique finish and condition attribute combinations (TCG), based on available declinations
159
- * @param declinations
160
- * @param allTcgAttrLabels
161
- */
162
- const constructAllFinishOptions = (declinations, allTcgAttrLabels, locale) => {
163
- if (!allTcgAttrLabels)
164
- return [];
165
- if (!declinations.length)
166
- return [];
167
- // a. Create combinations based on variations
168
- // Only keep combos where condition attr is set
169
- const allCombinaitions = declinations
170
- .map((variation) => {
171
- const tcgFinishAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${TCG_2.TCGVariationAttributesEnum.FINISH}`);
172
- const tcgConditionAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${[TCG_2.TCGVariationAttributesEnum.CONDITION]}`);
173
- return {
174
- [TCG_2.TCGVariationAttributesEnum.CONDITION]: !tcgConditionAttr || !tcgConditionAttr.length
175
- ? TCG_2.defaultValuesForTcgAttributes[TCG_2.TCGVariationAttributesEnum.CONDITION]
176
- : tcgConditionAttr[0],
177
- [TCG_2.TCGVariationAttributesEnum.FINISH]: !tcgFinishAttr || !tcgFinishAttr.length
178
- ? TCG_2.defaultValuesForTcgAttributes[TCG_2.TCGVariationAttributesEnum.FINISH]
179
- : tcgFinishAttr[0]
180
- };
181
- })
182
- .filter((v) => v.tcg_condition);
183
- // b. Filter out duplicates
184
- const removedDuplicates = (0, uniqBy_1.default)(allCombinaitions, (v) => `${v.tcg_condition}${v.tcg_finish ? '_' + v.tcg_finish : ''}`);
185
- // c. Return constructed options object array
186
- return removedDuplicates.map((combAttr) => {
187
- const condLabel = (0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.CONDITION}.${combAttr.tcg_condition}.value`);
188
- const finishLabel = (0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.FINISH}.${combAttr.tcg_finish}.value`);
189
- let fullLabelArray = [];
190
- if (finishLabel)
191
- fullLabelArray.push((0, locale_1.getLocaleOfDictionnary)(finishLabel, locale));
192
- if (condLabel)
193
- fullLabelArray.push((0, locale_1.getLocaleOfDictionnary)(condLabel, locale));
194
- return {
195
- label: `${(0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.CONDITION}.${combAttr.tcg_condition}.tag`) || combAttr.tcg_condition}`,
196
- variant: combAttr.tcg_finish,
197
- value: combAttr,
198
- fullLabel: fullLabelArray.join(' - '),
199
- extraLabel: [
200
- TCG_2.TCGCardFinishEnum.FIRST_EDITION,
201
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL,
202
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL,
203
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL,
204
- TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL
205
- ].includes(combAttr.tcg_finish)
206
- ? ' 1st'
207
- : ''
208
- };
209
- });
210
- };
211
- exports.constructAllFinishOptions = constructAllFinishOptions;
212
- /**
213
- * Get set label for a given card attributes in specified locale
214
- * @param prodAttributes
215
- * @param allAttributes
216
- * @param locale
217
- */
218
- const getProductSetLabel = (prodAttributes, allAttributes, locale) => {
219
- if (!prodAttributes)
220
- return '';
221
- const tcgSetAttr = prodAttributes[TCG_1.TCGAttributesEnum.SET];
222
- if (!tcgSetAttr)
223
- return '';
224
- if (!allAttributes.length)
225
- return tcgSetAttr[0];
226
- const sameAttr = allAttributes.find((a) => a.slug == TCG_1.TCGAttributesEnum.SET);
227
- if (!sameAttr)
228
- return tcgSetAttr[0];
229
- const sameValue = sameAttr.values.find((v) => v.slug == tcgSetAttr[0]);
230
- return sameValue ? (0, locale_1.getLocaleOfDictionnary)(sameValue.value, locale) : tcgSetAttr[0];
231
- };
232
- exports.getProductSetLabel = getProductSetLabel;
233
- /**
234
- * Get first found declination from list where passed attribute values found in decli
235
- * @param decliList
236
- * @param attributesToCheck Values of chosen TCG attributes to check for in decli.
237
- */
238
- const findCorrespondingDecliByAttributes = (decliList, attributesToCheck) => {
239
- if (Object.values(attributesToCheck).every((attr) => attr == undefined))
240
- return;
241
- const decliWithSameValues = decliList.find((d) => {
242
- let foundSameCount = 0;
243
- const arrayToCheck = Object.entries(attributesToCheck);
244
- for (let [attrSlug, value] of arrayToCheck) {
245
- const attrValueToCheck = (0, object_1.recursiveCheckObject)(d, `attributes.${attrSlug}.0`) ||
246
- (0, object_1.recursiveCheckObject)(TCG_2.defaultValuesForTcgAttributes, attrSlug);
247
- if (attrValueToCheck == value) {
248
- foundSameCount += 1;
249
- }
250
- }
251
- return foundSameCount == arrayToCheck.length;
252
- });
253
- return decliWithSameValues;
254
- };
255
- exports.findCorrespondingDecliByAttributes = findCorrespondingDecliByAttributes;
256
- /**
257
- * Get the available inventory for the currently selected store (found in local storage)
258
- * @param inventoryItem
259
- */
260
- const getAvailableInventoryForCurrentStore = (inventoryItem) => {
261
- const currentStore = localStorage.getItem('branch') || '';
262
- const sameStoreInv = inventoryItem.inventories.find((i) => i.store_id == currentStore);
263
- if (!sameStoreInv)
264
- return 0;
265
- return sameStoreInv.qty.available;
266
- };
267
- exports.getAvailableInventoryForCurrentStore = getAvailableInventoryForCurrentStore;
268
- /**
269
- * Construct product or decli name to show (mostly for cart item retroactions)
270
- * @param item - The cart item
271
- * @param locale
272
- * @param type - Which name(s) to use (either parent name, decli name, or both)
273
- */
274
- const getProductNameToUse = (item, locale, type) => {
275
- const productName = !!item.parent_name ? (0, locale_1.getLocaleOfDictionnary)(item.parent_name, locale) : '';
276
- const decliName = !!item.name ? (0, locale_1.getLocaleOfDictionnary)(item.name, locale) : '';
277
- let bothNames = [];
278
- if (!!productName)
279
- bothNames.push(productName);
280
- if (!!decliName)
281
- bothNames.push(decliName);
282
- const nameStr = type === TCG_1.ItemNameVariantEnum.BOTH
283
- ? bothNames.join(' | ')
284
- : type === TCG_1.ItemNameVariantEnum.PARENT
285
- ? productName
286
- : decliName;
287
- return nameStr;
288
- };
289
- exports.getProductNameToUse = getProductNameToUse;
290
- /**
291
- * Construct labels for TCG Service attributes from full array of space attributes
292
- * @param allAttributes
293
- */
294
- const constructTcgAttributeLabels = (allAttributes) => {
295
- let allValues = { tcg_finish: {}, tcg_condition: {}, tcg_language: {} };
296
- if (!!!allAttributes.length)
297
- return allValues;
298
- const fullFinishAttr = allAttributes.find((a) => a.slug == 'tcg_finish');
299
- const fullConditionAttr = allAttributes.find((a) => a.slug == 'tcg_condition');
300
- const fullLangAttr = allAttributes.find((a) => a.slug == 'tcg_language');
301
- // a. FINISH VALUES
302
- if (fullFinishAttr && fullFinishAttr.values.length) {
303
- for (let value of fullFinishAttr.values) {
304
- if (value.default_tag) {
305
- allValues.tcg_finish[value.slug] = Object.assign({ tag: value.default_tag, value: value.value }, (value.default_tag == 'nor' ? { shortLabel: value.value } : {}));
306
- }
307
- }
308
- }
309
- // b. CONDITION VALUES
310
- if (fullConditionAttr && fullConditionAttr.values.length) {
311
- for (let value of fullConditionAttr.values) {
312
- if (value.default_tag) {
313
- allValues.tcg_condition[value.slug] = { tag: value.default_tag, value: value.value };
314
- }
315
- }
316
- }
317
- // c. LANG VALUES
318
- if (fullLangAttr && fullLangAttr.values.length) {
319
- for (let value of fullLangAttr.values) {
320
- if (value.default_tag) {
321
- allValues.tcg_language[value.slug] = { tag: value.default_tag, value: value.value };
322
- }
323
- }
324
- }
325
- return allValues;
326
- };
327
- exports.constructTcgAttributeLabels = constructTcgAttributeLabels;
328
- /**
329
- * Construct and return attribute string for cart item based on TCG attribute values
330
- * @param itemAttributes Current item attributes
331
- * @param allTcgAttributes All potential TCG attribute values
332
- * @returns {string} Pertinent attribute values seperated by '-'. Attributes options returned are : FINISH - CONDITION - LANG
333
- */
334
- const getTcgAttributesToShow = (itemAttributes, allTcgAttributes) => {
335
- if (!allTcgAttributes)
336
- return '';
337
- const attrStr = [];
338
- for (let [id, values] of Object.entries(allTcgAttributes)) {
339
- const sameAttr = itemAttributes[id];
340
- if (!sameAttr)
341
- continue;
342
- const sameValue = values[sameAttr[0]];
343
- if (!sameValue)
344
- continue;
345
- const strToUse = sameValue.shortLabel
346
- ? (0, locale_1.getLocaleOfDictionnary)(sameValue.shortLabel, 'en')
347
- : id == TCG_1.TCGAttributesEnum.FINISH
348
- ? (0, locale_1.getLocaleOfDictionnary)(sameValue.value, 'en')
349
- : sameValue.tag || '';
350
- attrStr.push(id != TCG_1.TCGAttributesEnum.FINISH ? strToUse.toUpperCase() : strToUse);
351
- }
352
- return attrStr.join(' - ');
353
- };
354
- exports.getTcgAttributesToShow = getTcgAttributesToShow;
355
- // -------------------------------------------------------------------------------------------
356
- // #region BUYBACK PRICES
357
- const _checkIfPriceInTier = (priceToCheck, operator, values) => {
358
- if (typeof values[0] != 'number')
359
- return false;
360
- switch (operator) {
361
- case '<':
362
- return typeof values[0] == 'number' && priceToCheck < values[0];
363
- case '<=':
364
- return typeof values[0] == 'number' && priceToCheck <= values[0];
365
- case '>':
366
- return typeof values[0] == 'number' && priceToCheck > values[0];
367
- case '>=':
368
- return typeof values[0] == 'number' && priceToCheck >= values[0];
369
- case 'between':
370
- return (typeof values[0] == 'number' &&
371
- typeof values[1] == 'number' &&
372
- priceToCheck >= values[0] &&
373
- priceToCheck <= values[1]);
374
- }
375
- };
376
- /**
377
- * Calculate buyback price for a specified regular price and category slug
378
- * @param logicReferenceObj The logic reference object ot check. Defined and provided by space.
379
- * @param price The price to check
380
- * @param category The TCG category slug from supported list. Defined and provided by space.
381
- */
382
- function _calculateBuyBackPrice(logicReferenceObj, price, category, finish) {
383
- const sameCatLogic = logicReferenceObj[category];
384
- let foundPrice = { buyback: false, regTcgPrice: price, finish };
385
- for (let tier of sameCatLogic) {
386
- if (_checkIfPriceInTier(price, tier.operator, tier.regPrice)) {
387
- foundPrice.buyback = tier.buyback;
388
- if (tier.buyback && tier.buyBackPercent) {
389
- foundPrice.calculatedPrice = (0, round_1.default)((price * tier.buyBackPercent) / 100, 2);
390
- }
391
- break;
392
- }
393
- }
394
- return foundPrice;
395
- }
396
- /**
397
- * Calculate buyback prices for a list of tcg card price data
398
- * @param cards The tcg card prices to check
399
- */
400
- function getBuybackPricesForTcgCards(logicReferenceObj, cards) {
401
- let buybackPrices = {};
402
- for (let [slug, values] of Object.entries(cards)) {
403
- buybackPrices[slug] = values.map((v) => _calculateBuyBackPrice(logicReferenceObj, v.price, v.category, v.subType));
404
- }
405
- return buybackPrices;
406
- }
407
- exports.getBuybackPricesForTcgCards = getBuybackPricesForTcgCards;
408
- // #endregion
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.getBuybackPricesForTcgCards = exports.getTcgAttributesToShow = exports.constructTcgAttributeLabels = exports.getProductNameToUse = exports.getAvailableInventoryForCurrentStore = exports.findCorrespondingDecliByAttributes = exports.getProductSetLabel = exports.constructAllFinishOptions = exports.constructAllLangOptions = exports.filterAndOrderDeclinations = exports.getGradientForFinish = exports.getTcgFinishAttrOrder = exports.getDefaultTcgExternalServiceParams = void 0;
7
+ const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
8
+ const orderBy_1 = __importDefault(require("lodash/orderBy"));
9
+ const round_1 = __importDefault(require("lodash/round"));
10
+ const TCG_1 = require("../Interfaces/TCG");
11
+ const TCG_2 = require("../Interfaces/TCG");
12
+ const object_1 = require("../utils/object");
13
+ const locale_1 = require("../utils/locale");
14
+ const getDefaultTcgExternalServiceParams = () => ({
15
+ cardgame_slugs: [],
16
+ default_parent_category: null
17
+ });
18
+ exports.getDefaultTcgExternalServiceParams = getDefaultTcgExternalServiceParams;
19
+ /**
20
+ * Get show order for a given value
21
+ * @param finishAttrValue
22
+ */
23
+ const getTcgFinishAttrOrder = (finishAttrValue = TCG_2.TCGCardFinishEnum.NORMAL) => {
24
+ const expectedFinishOrder = [
25
+ TCG_2.TCGCardFinishEnum.NORMAL,
26
+ TCG_2.TCGCardFinishEnum.FOIL,
27
+ TCG_2.TCGCardFinishEnum.HOLO,
28
+ TCG_2.TCGCardFinishEnum.HOLOFOIL,
29
+ TCG_2.TCGCardFinishEnum.RAINBOW_FOIL,
30
+ TCG_2.TCGCardFinishEnum.COLDFOIL,
31
+ TCG_2.TCGCardFinishEnum.REVERSE_HOLOFOIL,
32
+ TCG_2.TCGCardFinishEnum.ETCHED,
33
+ TCG_2.TCGCardFinishEnum.UNLIMITED,
34
+ TCG_2.TCGCardFinishEnum.UNLIMITED_NORMAL,
35
+ TCG_2.TCGCardFinishEnum.UNLIMITED_HOLOFOIL,
36
+ TCG_2.TCGCardFinishEnum.UNLIMITED_RAINBOWFOIL,
37
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION,
38
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL,
39
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL,
40
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL,
41
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL
42
+ ];
43
+ return expectedFinishOrder.indexOf(finishAttrValue) + 1;
44
+ };
45
+ exports.getTcgFinishAttrOrder = getTcgFinishAttrOrder;
46
+ const getGradientForFinish = (finish) => {
47
+ switch (finish) {
48
+ case TCG_2.TCGCardFinishEnum.NORMAL:
49
+ return 'normal';
50
+ case TCG_2.TCGCardFinishEnum.REVERSE_HOLOFOIL:
51
+ case TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL:
52
+ case TCG_2.TCGCardFinishEnum.UNLIMITED_HOLOFOIL:
53
+ case TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL:
54
+ case TCG_2.TCGCardFinishEnum.RAINBOW_FOIL:
55
+ case TCG_2.TCGCardFinishEnum.UNLIMITED_RAINBOWFOIL:
56
+ return 'multi';
57
+ case TCG_2.TCGCardFinishEnum.COLDFOIL:
58
+ case TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL:
59
+ return 'cold';
60
+ case TCG_2.TCGCardFinishEnum.UNLIMITED:
61
+ case TCG_2.TCGCardFinishEnum.UNLIMITED_NORMAL:
62
+ case TCG_2.TCGCardFinishEnum.ETCHED:
63
+ case TCG_2.TCGCardFinishEnum.FIRST_EDITION:
64
+ case TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL:
65
+ return 'other';
66
+ case TCG_2.TCGCardFinishEnum.FOIL:
67
+ case TCG_2.TCGCardFinishEnum.HOLO:
68
+ case TCG_2.TCGCardFinishEnum.HOLOFOIL:
69
+ default:
70
+ return 'gold';
71
+ }
72
+ };
73
+ exports.getGradientForFinish = getGradientForFinish;
74
+ /**
75
+ * Get currently available declinations, ordered by finish attribute (TCG), and by current POS space lang (language attribute TCG)
76
+ * @param declinationData - Array of data used to order entries + full entry to return
77
+ * @param locale
78
+ * @param allInventories
79
+ */
80
+ const filterAndOrderDeclinations = (declinationData = [],
81
+ // declinations: IIndexedDeclinationAlgolia[] | IIndexedDeclination[] | undefined,
82
+ locale, allInventories) => {
83
+ if (!declinationData.length)
84
+ return [];
85
+ // A. Filter out any unavailable declinations from possible options
86
+ const removedUnavailableDeclis = declinationData.filter((d) => {
87
+ return allInventories.some((i) => i.sku == d.sku);
88
+ });
89
+ // B. Order by finish attribute first, then by lang
90
+ const orderedValues = (0, orderBy_1.default)(removedUnavailableDeclis, (d) => {
91
+ let startNb = 2;
92
+ const finishAttr = (0, object_1.recursiveCheckObject)(d, 'attributes.tcg_finish');
93
+ if (finishAttr) {
94
+ // Multiply start number by finish attr order
95
+ startNb *= (0, exports.getTcgFinishAttrOrder)(finishAttr[0]);
96
+ }
97
+ // If lang attr same as current lang for POS, remove 1 to bring higher up in array
98
+ const langAttr = (0, object_1.recursiveCheckObject)(d, 'attributes.tcg_language');
99
+ if (locale && langAttr && langAttr[0] == `tcg_lang_${locale}`) {
100
+ startNb -= 1;
101
+ }
102
+ return startNb;
103
+ });
104
+ return orderedValues.map((o) => o.fullDecli);
105
+ };
106
+ exports.filterAndOrderDeclinations = filterAndOrderDeclinations;
107
+ const _getDefaultLangOption = (defaultLangToReturn, allTcgAttrLabels, locale) => {
108
+ if (!allTcgAttrLabels || !defaultLangToReturn)
109
+ return [];
110
+ const sameInAllLabels = allTcgAttrLabels.tcg_language[defaultLangToReturn];
111
+ if (sameInAllLabels) {
112
+ return [
113
+ {
114
+ slug: defaultLangToReturn,
115
+ label: sameInAllLabels.tag || defaultLangToReturn,
116
+ fullLabel: (0, locale_1.getLocaleOfDictionnary)(sameInAllLabels.value, locale)
117
+ }
118
+ ];
119
+ }
120
+ return [];
121
+ };
122
+ /**
123
+ * Construct all options for Language attribute (TCG), based on available declinations
124
+ * @param declinations
125
+ * @param allTcgAttrLabels All constructed labels based on expected TCG attributes
126
+ * @param locale Current POS locale
127
+ * @param defaultLangToReturn Optionnal. If a default value should be returned, even if declination array is empty. Corresponds to the value for the specific language attribute (ex. tcg_lang_en)
128
+ */
129
+ const constructAllLangOptions = (declinations, allTcgAttrLabels, locale, defaultLangToReturn) => {
130
+ if (!declinations.length) {
131
+ // Check to return default value
132
+ return _getDefaultLangOption(defaultLangToReturn, allTcgAttrLabels, locale);
133
+ }
134
+ const allOptions = [];
135
+ for (let variation of declinations) {
136
+ const tcgLangAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${TCG_2.TCGVariationAttributesEnum.LANG}`);
137
+ if (!tcgLangAttr) {
138
+ // Check to return default value
139
+ const defaultOpt = _getDefaultLangOption(defaultLangToReturn, allTcgAttrLabels, locale);
140
+ if (!!defaultOpt.length)
141
+ allOptions.push(defaultOpt[0]);
142
+ continue;
143
+ }
144
+ const langSlug = tcgLangAttr[0];
145
+ if (langSlug && !allOptions.some((o) => o.slug == langSlug)) {
146
+ const sameLabel = !!allTcgAttrLabels ? allTcgAttrLabels.tcg_language[langSlug] : undefined;
147
+ allOptions.push({
148
+ slug: langSlug,
149
+ label: sameLabel && sameLabel.tag ? sameLabel.tag : tcgLangAttr[0],
150
+ fullLabel: sameLabel ? (0, locale_1.getLocaleOfDictionnary)(sameLabel.value, locale) : tcgLangAttr[0]
151
+ });
152
+ }
153
+ }
154
+ return allOptions;
155
+ };
156
+ exports.constructAllLangOptions = constructAllLangOptions;
157
+ /**
158
+ * Construct all unique finish and condition attribute combinations (TCG), based on available declinations
159
+ * @param declinations
160
+ * @param allTcgAttrLabels
161
+ */
162
+ const constructAllFinishOptions = (declinations, allTcgAttrLabels, locale) => {
163
+ if (!allTcgAttrLabels)
164
+ return [];
165
+ if (!declinations.length)
166
+ return [];
167
+ // a. Create combinations based on variations
168
+ // Only keep combos where condition attr is set
169
+ const allCombinaitions = declinations
170
+ .map((variation) => {
171
+ const tcgFinishAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${TCG_2.TCGVariationAttributesEnum.FINISH}`);
172
+ const tcgConditionAttr = (0, object_1.recursiveCheckObject)(variation, `attributes.${[TCG_2.TCGVariationAttributesEnum.CONDITION]}`);
173
+ return {
174
+ [TCG_2.TCGVariationAttributesEnum.CONDITION]: !tcgConditionAttr || !tcgConditionAttr.length
175
+ ? TCG_2.defaultValuesForTcgAttributes[TCG_2.TCGVariationAttributesEnum.CONDITION]
176
+ : tcgConditionAttr[0],
177
+ [TCG_2.TCGVariationAttributesEnum.FINISH]: !tcgFinishAttr || !tcgFinishAttr.length
178
+ ? TCG_2.defaultValuesForTcgAttributes[TCG_2.TCGVariationAttributesEnum.FINISH]
179
+ : tcgFinishAttr[0]
180
+ };
181
+ })
182
+ .filter((v) => v.tcg_condition);
183
+ // b. Filter out duplicates
184
+ const removedDuplicates = (0, uniqBy_1.default)(allCombinaitions, (v) => `${v.tcg_condition}${v.tcg_finish ? '_' + v.tcg_finish : ''}`);
185
+ // c. Return constructed options object array
186
+ return removedDuplicates.map((combAttr) => {
187
+ const condLabel = (0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.CONDITION}.${combAttr.tcg_condition}.value`);
188
+ const finishLabel = (0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.FINISH}.${combAttr.tcg_finish}.value`);
189
+ let fullLabelArray = [];
190
+ if (finishLabel)
191
+ fullLabelArray.push((0, locale_1.getLocaleOfDictionnary)(finishLabel, locale));
192
+ if (condLabel)
193
+ fullLabelArray.push((0, locale_1.getLocaleOfDictionnary)(condLabel, locale));
194
+ return {
195
+ label: `${(0, object_1.recursiveCheckObject)(allTcgAttrLabels, `${TCG_2.TCGVariationAttributesEnum.CONDITION}.${combAttr.tcg_condition}.tag`) || combAttr.tcg_condition}`,
196
+ variant: combAttr.tcg_finish,
197
+ value: combAttr,
198
+ fullLabel: fullLabelArray.join(' - '),
199
+ extraLabel: [
200
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION,
201
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_HOLOFOIL,
202
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_COLDFOIL,
203
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_NORMAL,
204
+ TCG_2.TCGCardFinishEnum.FIRST_EDITION_RAINBOWFOIL
205
+ ].includes(combAttr.tcg_finish)
206
+ ? ' 1st'
207
+ : ''
208
+ };
209
+ });
210
+ };
211
+ exports.constructAllFinishOptions = constructAllFinishOptions;
212
+ /**
213
+ * Get set label for a given card attributes in specified locale
214
+ * @param prodAttributes
215
+ * @param allAttributes
216
+ * @param locale
217
+ */
218
+ const getProductSetLabel = (prodAttributes, allAttributes, locale) => {
219
+ if (!prodAttributes)
220
+ return '';
221
+ const tcgSetAttr = prodAttributes[TCG_1.TCGAttributesEnum.SET];
222
+ if (!tcgSetAttr)
223
+ return '';
224
+ if (!allAttributes.length)
225
+ return tcgSetAttr[0];
226
+ const sameAttr = allAttributes.find((a) => a.slug == TCG_1.TCGAttributesEnum.SET);
227
+ if (!sameAttr)
228
+ return tcgSetAttr[0];
229
+ const sameValue = sameAttr.values.find((v) => v.slug == tcgSetAttr[0]);
230
+ return sameValue ? (0, locale_1.getLocaleOfDictionnary)(sameValue.value, locale) : tcgSetAttr[0];
231
+ };
232
+ exports.getProductSetLabel = getProductSetLabel;
233
+ /**
234
+ * Get first found declination from list where passed attribute values found in decli
235
+ * @param decliList
236
+ * @param attributesToCheck Values of chosen TCG attributes to check for in decli.
237
+ */
238
+ const findCorrespondingDecliByAttributes = (decliList, attributesToCheck) => {
239
+ if (Object.values(attributesToCheck).every((attr) => attr == undefined))
240
+ return;
241
+ const decliWithSameValues = decliList.find((d) => {
242
+ let foundSameCount = 0;
243
+ const arrayToCheck = Object.entries(attributesToCheck);
244
+ for (let [attrSlug, value] of arrayToCheck) {
245
+ const attrValueToCheck = (0, object_1.recursiveCheckObject)(d, `attributes.${attrSlug}.0`) ||
246
+ (0, object_1.recursiveCheckObject)(TCG_2.defaultValuesForTcgAttributes, attrSlug);
247
+ if (attrValueToCheck == value) {
248
+ foundSameCount += 1;
249
+ }
250
+ }
251
+ return foundSameCount == arrayToCheck.length;
252
+ });
253
+ return decliWithSameValues;
254
+ };
255
+ exports.findCorrespondingDecliByAttributes = findCorrespondingDecliByAttributes;
256
+ /**
257
+ * Get the available inventory for the currently selected store (found in local storage)
258
+ * @param inventoryItem
259
+ */
260
+ const getAvailableInventoryForCurrentStore = (inventoryItem) => {
261
+ const currentStore = localStorage.getItem('branch') || '';
262
+ const sameStoreInv = inventoryItem.inventories.find((i) => i.store_id == currentStore);
263
+ if (!sameStoreInv)
264
+ return 0;
265
+ return sameStoreInv.qty.available;
266
+ };
267
+ exports.getAvailableInventoryForCurrentStore = getAvailableInventoryForCurrentStore;
268
+ /**
269
+ * Construct product or decli name to show (mostly for cart item retroactions)
270
+ * @param item - The cart item
271
+ * @param locale
272
+ * @param type - Which name(s) to use (either parent name, decli name, or both)
273
+ */
274
+ const getProductNameToUse = (item, locale, type) => {
275
+ const productName = !!item.parent_name ? (0, locale_1.getLocaleOfDictionnary)(item.parent_name, locale) : '';
276
+ const decliName = !!item.name ? (0, locale_1.getLocaleOfDictionnary)(item.name, locale) : '';
277
+ let bothNames = [];
278
+ if (!!productName)
279
+ bothNames.push(productName);
280
+ if (!!decliName)
281
+ bothNames.push(decliName);
282
+ const nameStr = type === TCG_1.ItemNameVariantEnum.BOTH
283
+ ? bothNames.join(' | ')
284
+ : type === TCG_1.ItemNameVariantEnum.PARENT
285
+ ? productName
286
+ : decliName;
287
+ return nameStr;
288
+ };
289
+ exports.getProductNameToUse = getProductNameToUse;
290
+ /**
291
+ * Construct labels for TCG Service attributes from full array of space attributes
292
+ * @param allAttributes
293
+ */
294
+ const constructTcgAttributeLabels = (allAttributes) => {
295
+ let allValues = { tcg_finish: {}, tcg_condition: {}, tcg_language: {} };
296
+ if (!!!allAttributes.length)
297
+ return allValues;
298
+ const fullFinishAttr = allAttributes.find((a) => a.slug == 'tcg_finish');
299
+ const fullConditionAttr = allAttributes.find((a) => a.slug == 'tcg_condition');
300
+ const fullLangAttr = allAttributes.find((a) => a.slug == 'tcg_language');
301
+ // a. FINISH VALUES
302
+ if (fullFinishAttr && fullFinishAttr.values.length) {
303
+ for (let value of fullFinishAttr.values) {
304
+ if (value.default_tag) {
305
+ allValues.tcg_finish[value.slug] = Object.assign({ tag: value.default_tag, value: value.value }, (value.default_tag == 'nor' ? { shortLabel: value.value } : {}));
306
+ }
307
+ }
308
+ }
309
+ // b. CONDITION VALUES
310
+ if (fullConditionAttr && fullConditionAttr.values.length) {
311
+ for (let value of fullConditionAttr.values) {
312
+ if (value.default_tag) {
313
+ allValues.tcg_condition[value.slug] = { tag: value.default_tag, value: value.value };
314
+ }
315
+ }
316
+ }
317
+ // c. LANG VALUES
318
+ if (fullLangAttr && fullLangAttr.values.length) {
319
+ for (let value of fullLangAttr.values) {
320
+ if (value.default_tag) {
321
+ allValues.tcg_language[value.slug] = { tag: value.default_tag, value: value.value };
322
+ }
323
+ }
324
+ }
325
+ return allValues;
326
+ };
327
+ exports.constructTcgAttributeLabels = constructTcgAttributeLabels;
328
+ /**
329
+ * Construct and return attribute string for cart item based on TCG attribute values
330
+ * @param itemAttributes Current item attributes
331
+ * @param allTcgAttributes All potential TCG attribute values
332
+ * @returns {string} Pertinent attribute values seperated by '-'. Attributes options returned are : FINISH - CONDITION - LANG
333
+ */
334
+ const getTcgAttributesToShow = (itemAttributes, allTcgAttributes) => {
335
+ if (!allTcgAttributes)
336
+ return '';
337
+ const attrStr = [];
338
+ for (let [id, values] of Object.entries(allTcgAttributes)) {
339
+ const sameAttr = itemAttributes[id];
340
+ if (!sameAttr)
341
+ continue;
342
+ const sameValue = values[sameAttr[0]];
343
+ if (!sameValue)
344
+ continue;
345
+ const strToUse = sameValue.shortLabel
346
+ ? (0, locale_1.getLocaleOfDictionnary)(sameValue.shortLabel, 'en')
347
+ : id == TCG_1.TCGAttributesEnum.FINISH
348
+ ? (0, locale_1.getLocaleOfDictionnary)(sameValue.value, 'en')
349
+ : sameValue.tag || '';
350
+ attrStr.push(id != TCG_1.TCGAttributesEnum.FINISH ? strToUse.toUpperCase() : strToUse);
351
+ }
352
+ return attrStr.join(' - ');
353
+ };
354
+ exports.getTcgAttributesToShow = getTcgAttributesToShow;
355
+ // -------------------------------------------------------------------------------------------
356
+ // #region BUYBACK PRICES
357
+ const _checkIfPriceInTier = (priceToCheck, operator, values) => {
358
+ if (typeof values[0] != 'number')
359
+ return false;
360
+ switch (operator) {
361
+ case '<':
362
+ return typeof values[0] == 'number' && priceToCheck < values[0];
363
+ case '<=':
364
+ return typeof values[0] == 'number' && priceToCheck <= values[0];
365
+ case '>':
366
+ return typeof values[0] == 'number' && priceToCheck > values[0];
367
+ case '>=':
368
+ return typeof values[0] == 'number' && priceToCheck >= values[0];
369
+ case 'between':
370
+ return (typeof values[0] == 'number' &&
371
+ typeof values[1] == 'number' &&
372
+ priceToCheck >= values[0] &&
373
+ priceToCheck <= values[1]);
374
+ }
375
+ };
376
+ /**
377
+ * Calculate buyback price for a specified regular price and category slug
378
+ * @param logicReferenceObj The logic reference object ot check. Defined and provided by space.
379
+ * @param price The price to check
380
+ * @param category The TCG category slug from supported list. Defined and provided by space.
381
+ */
382
+ function _calculateBuyBackPrice(logicReferenceObj, price, category, finish) {
383
+ const sameCatLogic = logicReferenceObj[category];
384
+ let foundPrice = { buyback: false, regTcgPrice: price, finish };
385
+ for (let tier of sameCatLogic) {
386
+ if (_checkIfPriceInTier(price, tier.operator, tier.regPrice)) {
387
+ foundPrice.buyback = tier.buyback;
388
+ if (tier.buyback && tier.buyBackPercent) {
389
+ foundPrice.calculatedPrice = (0, round_1.default)((price * tier.buyBackPercent) / 100, 2);
390
+ }
391
+ break;
392
+ }
393
+ }
394
+ return foundPrice;
395
+ }
396
+ /**
397
+ * Calculate buyback prices for a list of tcg card price data
398
+ * @param cards The tcg card prices to check
399
+ */
400
+ function getBuybackPricesForTcgCards(logicReferenceObj, cards) {
401
+ let buybackPrices = {};
402
+ for (let [slug, values] of Object.entries(cards)) {
403
+ buybackPrices[slug] = values.map((v) => _calculateBuyBackPrice(logicReferenceObj, v.price, v.category, v.subType));
404
+ }
405
+ return buybackPrices;
406
+ }
407
+ exports.getBuybackPricesForTcgCards = getBuybackPricesForTcgCards;
408
+ // #endregion
409
409
  //# sourceMappingURL=tcgService.js.map