addio-admin-sdk 1.7.171 → 1.7.173

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 (580) hide show
  1. package/.babelrc +17 -17
  2. package/.env +15 -0
  3. package/.env.dev +14 -14
  4. package/.github/workflows/run_unit_test.yaml +48 -48
  5. package/addio-sdk-doc.md +1473 -1473
  6. package/changelog.md +573 -573
  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 +182 -182
  10. package/dist/Interfaces/Algolia/index.js +2 -2
  11. package/dist/Interfaces/Attachement/index.d.ts +5 -5
  12. package/dist/Interfaces/Attachement/index.js +2 -2
  13. package/dist/Interfaces/Attribute/index.d.ts +53 -53
  14. package/dist/Interfaces/Attribute/index.js +10 -10
  15. package/dist/Interfaces/BGJob/index.d.ts +56 -56
  16. package/dist/Interfaces/BGJob/index.js +25 -25
  17. package/dist/Interfaces/BaseClass/index.d.ts +8 -8
  18. package/dist/Interfaces/BaseClass/index.js +2 -2
  19. package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
  20. package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
  21. package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
  22. package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
  23. package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
  24. package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
  25. package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
  26. package/dist/Interfaces/Blog/IBlogComment.js +2 -2
  27. package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
  28. package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
  29. package/dist/Interfaces/Booking/index.d.ts +74 -74
  30. package/dist/Interfaces/Booking/index.js +17 -17
  31. package/dist/Interfaces/Brand/index.d.ts +15 -15
  32. package/dist/Interfaces/Brand/index.js +2 -2
  33. package/dist/Interfaces/Buylist/index.d.ts +17 -17
  34. package/dist/Interfaces/Buylist/index.js +2 -2
  35. package/dist/Interfaces/CMS/index.d.ts +28 -28
  36. package/dist/Interfaces/CMS/index.js +5 -5
  37. package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
  38. package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
  39. package/dist/Interfaces/Cart/IMarketPayload.d.ts +12 -12
  40. package/dist/Interfaces/Cart/IMarketPayload.js +2 -2
  41. package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
  42. package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
  43. package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
  44. package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
  45. package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
  46. package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
  47. package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
  48. package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
  49. package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
  50. package/dist/Interfaces/Cart/IStripePayload.js +2 -2
  51. package/dist/Interfaces/Cart/index.d.ts +451 -451
  52. package/dist/Interfaces/Cart/index.js +216 -216
  53. package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
  54. package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
  55. package/dist/Interfaces/CashDrawers/index.d.ts +38 -38
  56. package/dist/Interfaces/CashDrawers/index.js +19 -19
  57. package/dist/Interfaces/Catalogue/index.d.ts +68 -68
  58. package/dist/Interfaces/Catalogue/index.js +37 -37
  59. package/dist/Interfaces/Category/index.d.ts +33 -33
  60. package/dist/Interfaces/Category/index.js +2 -2
  61. package/dist/Interfaces/Chart/index.d.ts +11 -11
  62. package/dist/Interfaces/Chart/index.js +2 -2
  63. package/dist/Interfaces/Class/index.d.ts +8 -8
  64. package/dist/Interfaces/Class/index.js +2 -2
  65. package/dist/Interfaces/Consent/index.d.ts +6 -6
  66. package/dist/Interfaces/Consent/index.js +2 -2
  67. package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
  68. package/dist/Interfaces/Context/IContextProps.js +2 -2
  69. package/dist/Interfaces/Context/IContextState.d.ts +15 -15
  70. package/dist/Interfaces/Context/IContextState.js +2 -2
  71. package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
  72. package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
  73. package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
  74. package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
  75. package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
  76. package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
  77. package/dist/Interfaces/Customer/index.d.ts +104 -104
  78. package/dist/Interfaces/Customer/index.js +148 -148
  79. package/dist/Interfaces/Declination/index.d.ts +117 -117
  80. package/dist/Interfaces/Declination/index.js +66 -66
  81. package/dist/Interfaces/Document/index.d.ts +8 -8
  82. package/dist/Interfaces/Document/index.js +2 -2
  83. package/dist/Interfaces/Elastic/index.d.ts +89 -89
  84. package/dist/Interfaces/Elastic/index.js +2 -2
  85. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
  86. package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
  87. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
  88. package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
  89. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
  90. package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
  91. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
  92. package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
  93. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
  94. package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
  95. package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
  96. package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
  97. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
  98. package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
  99. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
  100. package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
  101. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
  102. package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
  103. package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
  104. package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
  105. package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
  106. package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
  107. package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
  108. package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
  109. package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
  110. package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
  111. package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
  112. package/dist/Interfaces/Email/IContactEmail.js +2 -2
  113. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
  114. package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
  115. package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
  116. package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
  117. package/dist/Interfaces/Email/IEmail.d.ts +20 -20
  118. package/dist/Interfaces/Email/IEmail.js +60 -60
  119. package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
  120. package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
  121. package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
  122. package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
  123. package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
  124. package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
  125. package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
  126. package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
  127. package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
  128. package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
  129. package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
  130. package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
  131. package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
  132. package/dist/Interfaces/ExportSchema/index.js +2 -2
  133. package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
  134. package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
  135. package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
  136. package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
  137. package/dist/Interfaces/ExternalService/index.d.ts +9 -9
  138. package/dist/Interfaces/ExternalService/index.js +2 -2
  139. package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
  140. package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
  141. package/dist/Interfaces/G2/index.d.ts +556 -556
  142. package/dist/Interfaces/G2/index.js +38 -38
  143. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
  144. package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
  145. package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
  146. package/dist/Interfaces/Indexed/Product/index.js +253 -253
  147. package/dist/Interfaces/Inventory/index.d.ts +19 -19
  148. package/dist/Interfaces/Inventory/index.js +8 -8
  149. package/dist/Interfaces/Invoice/index.d.ts +4 -4
  150. package/dist/Interfaces/Invoice/index.js +2 -2
  151. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
  152. package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
  153. package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
  154. package/dist/Interfaces/MarketplacePublication/index.js +22 -22
  155. package/dist/Interfaces/Menu/index.d.ts +40 -40
  156. package/dist/Interfaces/Menu/index.js +16 -16
  157. package/dist/Interfaces/Note/index.d.ts +10 -10
  158. package/dist/Interfaces/Note/index.js +7 -7
  159. package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
  160. package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
  161. package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
  162. package/dist/Interfaces/Operations/IUpdate.js +2 -2
  163. package/dist/Interfaces/Order/index.d.ts +4 -4
  164. package/dist/Interfaces/Order/index.js +2 -2
  165. package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
  166. package/dist/Interfaces/Org/IRelUser.js +2 -2
  167. package/dist/Interfaces/Org/index.d.ts +29 -29
  168. package/dist/Interfaces/Org/index.js +12 -12
  169. package/dist/Interfaces/Payment/index.d.ts +26 -26
  170. package/dist/Interfaces/Payment/index.js +14 -14
  171. package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
  172. package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
  173. package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
  174. package/dist/Interfaces/Product/IImportProduct.js +882 -882
  175. package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
  176. package/dist/Interfaces/Product/IInventoryItem.js +38 -38
  177. package/dist/Interfaces/Product/IPricing.d.ts +177 -177
  178. package/dist/Interfaces/Product/IPricing.js +180 -180
  179. package/dist/Interfaces/Product/index.d.ts +137 -137
  180. package/dist/Interfaces/Product/index.js +64 -64
  181. package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
  182. package/dist/Interfaces/ProductAttribute/index.js +2 -2
  183. package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
  184. package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
  185. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
  186. package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
  187. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
  188. package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
  189. package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
  190. package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
  191. package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
  192. package/dist/Interfaces/PurchaseOrder/index.js +2 -2
  193. package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
  194. package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
  195. package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
  196. package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
  197. package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
  198. package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
  199. package/dist/Interfaces/Quote/index.d.ts +5 -5
  200. package/dist/Interfaces/Quote/index.js +2 -2
  201. package/dist/Interfaces/Refunds/index.d.ts +106 -106
  202. package/dist/Interfaces/Refunds/index.js +2 -2
  203. package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
  204. package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
  205. package/dist/Interfaces/Schedule/index.d.ts +48 -48
  206. package/dist/Interfaces/Schedule/index.js +2 -2
  207. package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
  208. package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
  209. package/dist/Interfaces/Services/IService.d.ts +16 -16
  210. package/dist/Interfaces/Services/IService.js +2 -2
  211. package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
  212. package/dist/Interfaces/Services/IServiceSecret.js +2 -2
  213. package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
  214. package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
  215. package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
  216. package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
  217. package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
  218. package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
  219. package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
  220. package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
  221. package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
  222. package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
  223. package/dist/Interfaces/Slider/GR.d.ts +114 -114
  224. package/dist/Interfaces/Slider/GR.js +271 -271
  225. package/dist/Interfaces/Slider/index.d.ts +30 -30
  226. package/dist/Interfaces/Slider/index.js +2 -2
  227. package/dist/Interfaces/Space/IExternalService.d.ts +54 -54
  228. package/dist/Interfaces/Space/IExternalService.js +45 -45
  229. package/dist/Interfaces/Space/IMember.d.ts +16 -16
  230. package/dist/Interfaces/Space/IMember.js +9 -9
  231. package/dist/Interfaces/Space/index.d.ts +414 -414
  232. package/dist/Interfaces/Space/index.js +176 -176
  233. package/dist/Interfaces/Specials/gr.d.ts +61 -61
  234. package/dist/Interfaces/Specials/gr.js +2 -2
  235. package/dist/Interfaces/StockNotification/index.d.ts +7 -7
  236. package/dist/Interfaces/StockNotification/index.js +2 -2
  237. package/dist/Interfaces/Store/index.d.ts +63 -63
  238. package/dist/Interfaces/Store/index.js +27 -27
  239. package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
  240. package/dist/Interfaces/Supplier/ICommand.js +2 -2
  241. package/dist/Interfaces/Supplier/index.d.ts +36 -36
  242. package/dist/Interfaces/Supplier/index.js +24 -24
  243. package/dist/Interfaces/TCG/index.d.ts +200 -194
  244. package/dist/Interfaces/TCG/index.js +59 -60
  245. package/dist/Interfaces/TCG/index.js.map +1 -1
  246. package/dist/Interfaces/Tag/index.d.ts +18 -18
  247. package/dist/Interfaces/Tag/index.js +2 -2
  248. package/dist/Interfaces/Tax/index.d.ts +13 -13
  249. package/dist/Interfaces/Tax/index.js +2 -2
  250. package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
  251. package/dist/Interfaces/TransferRequest/index.js +46 -46
  252. package/dist/Interfaces/Translation/index.d.ts +8 -8
  253. package/dist/Interfaces/Translation/index.js +5 -5
  254. package/dist/Interfaces/Update/index.d.ts +10 -10
  255. package/dist/Interfaces/Update/index.js +2 -2
  256. package/dist/Interfaces/User/IUser.d.ts +65 -65
  257. package/dist/Interfaces/User/IUser.js +8 -8
  258. package/dist/Interfaces/Version/index.d.ts +11 -11
  259. package/dist/Interfaces/Version/index.js +2 -2
  260. package/dist/Interfaces/Wishlist/index.d.ts +7 -7
  261. package/dist/Interfaces/Wishlist/index.js +2 -2
  262. package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
  263. package/dist/constants/Interfaces/IBaseApi.js +2 -2
  264. package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
  265. package/dist/constants/Interfaces/IEndpointResult.js +2 -2
  266. package/dist/constants/enums.d.ts +6 -6
  267. package/dist/constants/enums.js +10 -10
  268. package/dist/constants/services.d.ts +2 -2
  269. package/dist/constants/services.js +122 -122
  270. package/dist/constants/version.d.ts +2 -2
  271. package/dist/constants/version.js +5 -5
  272. package/dist/index.d.ts +50 -50
  273. package/dist/index.js +266 -266
  274. package/dist/lib/Attribute/index.d.ts +14 -14
  275. package/dist/lib/Attribute/index.js +186 -186
  276. package/dist/lib/BGJob/index.d.ts +9 -9
  277. package/dist/lib/BGJob/index.js +216 -216
  278. package/dist/lib/BackgroundWorker/index.d.ts +34 -34
  279. package/dist/lib/BackgroundWorker/index.js +59 -59
  280. package/dist/lib/Blog/BlogArticle.d.ts +5 -5
  281. package/dist/lib/Blog/BlogArticle.js +10 -10
  282. package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
  283. package/dist/lib/Blog/BlogAuthor.js +10 -10
  284. package/dist/lib/Blog/BlogCategory.d.ts +5 -5
  285. package/dist/lib/Blog/BlogCategory.js +10 -10
  286. package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
  287. package/dist/lib/Blog/BlogKeyword.js +10 -10
  288. package/dist/lib/Booking/index.d.ts +85 -85
  289. package/dist/lib/Booking/index.js +596 -596
  290. package/dist/lib/Brand/index.d.ts +26 -26
  291. package/dist/lib/Brand/index.js +131 -131
  292. package/dist/lib/Cart/index.d.ts +354 -354
  293. package/dist/lib/Cart/index.js +4055 -4055
  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 +78 -74
  475. package/dist/services/marketplace/BaseMarketServiceClass.js +141 -140
  476. package/dist/services/marketplace/BaseMarketServiceClass.js.map +1 -1
  477. package/dist/services/marketplace/CardtraderServiceClass.d.ts +38 -38
  478. package/dist/services/marketplace/CardtraderServiceClass.js +226 -223
  479. package/dist/services/marketplace/CardtraderServiceClass.js.map +1 -1
  480. package/dist/services/marketplace/utils.d.ts +17 -17
  481. package/dist/services/marketplace/utils.js +32 -32
  482. package/dist/services/products/BaseClass.d.ts +79 -79
  483. package/dist/services/products/BaseClass.js +144 -144
  484. package/dist/services/products/TCGService.d.ts +29 -29
  485. package/dist/services/products/TCGService.js +503 -503
  486. package/dist/services/products/utils.d.ts +31 -31
  487. package/dist/services/products/utils.js +144 -144
  488. package/dist/utils/algolia.d.ts +46 -46
  489. package/dist/utils/algolia.js +21 -21
  490. package/dist/utils/anonymisation.d.ts +54 -54
  491. package/dist/utils/anonymisation.js +280 -280
  492. package/dist/utils/array.d.ts +5 -5
  493. package/dist/utils/array.js +14 -14
  494. package/dist/utils/aws.d.ts +36 -36
  495. package/dist/utils/aws.js +154 -154
  496. package/dist/utils/booking.d.ts +30 -30
  497. package/dist/utils/booking.js +127 -127
  498. package/dist/utils/cart.d.ts +272 -272
  499. package/dist/utils/cart.js +1169 -1169
  500. package/dist/utils/categories.d.ts +2 -2
  501. package/dist/utils/categories.js +54 -54
  502. package/dist/utils/cmv.d.ts +10 -10
  503. package/dist/utils/cmv.js +107 -107
  504. package/dist/utils/console.d.ts +6 -6
  505. package/dist/utils/console.js +59 -59
  506. package/dist/utils/context.d.ts +20 -20
  507. package/dist/utils/context.js +61 -61
  508. package/dist/utils/currency.d.ts +6 -6
  509. package/dist/utils/currency.js +91 -91
  510. package/dist/utils/data.d.ts +31 -31
  511. package/dist/utils/data.js +296 -296
  512. package/dist/utils/date.d.ts +1 -1
  513. package/dist/utils/date.js +16 -16
  514. package/dist/utils/dimensions.d.ts +3 -3
  515. package/dist/utils/dimensions.js +16 -16
  516. package/dist/utils/discount.d.ts +174 -174
  517. package/dist/utils/discount.js +1118 -1118
  518. package/dist/utils/errors.d.ts +118 -118
  519. package/dist/utils/errors.js +123 -123
  520. package/dist/utils/file-admin.d.ts +8 -8
  521. package/dist/utils/file-admin.js +39 -39
  522. package/dist/utils/file.d.ts +39 -39
  523. package/dist/utils/file.js +208 -208
  524. package/dist/utils/firebase-admin.d.ts +11 -11
  525. package/dist/utils/firebase-admin.js +73 -73
  526. package/dist/utils/firebase.d.ts +58 -58
  527. package/dist/utils/firebase.js +148 -148
  528. package/dist/utils/import.d.ts +1 -1
  529. package/dist/utils/import.js +21 -21
  530. package/dist/utils/inventories.d.ts +101 -101
  531. package/dist/utils/inventories.js +467 -467
  532. package/dist/utils/locale.d.ts +24 -24
  533. package/dist/utils/locale.js +91 -91
  534. package/dist/utils/mailchimp.d.ts +58 -58
  535. package/dist/utils/mailchimp.js +531 -531
  536. package/dist/utils/mathUtils.d.ts +17 -17
  537. package/dist/utils/mathUtils.js +324 -324
  538. package/dist/utils/mongodb.d.ts +1 -1
  539. package/dist/utils/mongodb.js +22 -22
  540. package/dist/utils/object.d.ts +32 -32
  541. package/dist/utils/object.js +133 -133
  542. package/dist/utils/payment.d.ts +10 -10
  543. package/dist/utils/payment.js +23 -23
  544. package/dist/utils/products.d.ts +39 -39
  545. package/dist/utils/products.js +195 -195
  546. package/dist/utils/promiseToPurchase.d.ts +88 -88
  547. package/dist/utils/promiseToPurchase.js +229 -229
  548. package/dist/utils/prosprsearch.d.ts +42 -42
  549. package/dist/utils/prosprsearch.js +216 -216
  550. package/dist/utils/refunds.d.ts +2 -2
  551. package/dist/utils/refunds.js +21 -21
  552. package/dist/utils/sdc.d.ts +10 -10
  553. package/dist/utils/sdc.js +1309 -1309
  554. package/dist/utils/searchIndexes.d.ts +58 -58
  555. package/dist/utils/searchIndexes.js +247 -247
  556. package/dist/utils/services.d.ts +42 -42
  557. package/dist/utils/services.js +409 -409
  558. package/dist/utils/shipment.d.ts +110 -110
  559. package/dist/utils/shipment.js +345 -345
  560. package/dist/utils/simpletexting.d.ts +2 -2
  561. package/dist/utils/simpletexting.js +45 -45
  562. package/dist/utils/sliders.d.ts +4 -4
  563. package/dist/utils/sliders.js +24 -24
  564. package/dist/utils/string.d.ts +16 -16
  565. package/dist/utils/string.js +192 -192
  566. package/dist/utils/tcgService.d.ts +88 -88
  567. package/dist/utils/tcgService.js +408 -408
  568. package/dist/utils/tools.d.ts +5 -5
  569. package/dist/utils/tools.js +13 -13
  570. package/dist/utils/transferRequests.d.ts +43 -43
  571. package/dist/utils/transferRequests.js +67 -67
  572. package/dist/utils/update.d.ts +7 -7
  573. package/dist/utils/update.js +137 -137
  574. package/dist/utils/weight.d.ts +3 -3
  575. package/dist/utils/weight.js +16 -16
  576. package/dist/utils/zones.d.ts +11 -11
  577. package/dist/utils/zones.js +218 -218
  578. package/package.json +107 -107
  579. package/publish.sh +143 -143
  580. package/readme.md +182 -182
@@ -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