addio-admin-sdk 1.7.144 → 1.7.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +17 -17
- package/.env +15 -0
- package/.env.dev +14 -14
- package/.github/workflows/run_unit_test.yaml +48 -48
- package/addio-sdk-doc.md +1473 -1473
- package/changelog.md +564 -564
- package/dist/Interfaces/Address/index.d.ts +21 -21
- package/dist/Interfaces/Address/index.js +16 -16
- package/dist/Interfaces/Algolia/index.d.ts +177 -177
- package/dist/Interfaces/Algolia/index.js +2 -2
- package/dist/Interfaces/Attachement/index.d.ts +5 -5
- package/dist/Interfaces/Attachement/index.js +2 -2
- package/dist/Interfaces/Attribute/index.d.ts +53 -53
- package/dist/Interfaces/Attribute/index.js +10 -10
- package/dist/Interfaces/BGJob/index.d.ts +56 -56
- package/dist/Interfaces/BGJob/index.js +25 -25
- package/dist/Interfaces/BaseClass/index.d.ts +8 -8
- package/dist/Interfaces/BaseClass/index.js +2 -2
- package/dist/Interfaces/Blog/IBlogArticle.d.ts +18 -18
- package/dist/Interfaces/Blog/IBlogArticle.js +2 -2
- package/dist/Interfaces/Blog/IBlogAuthor.d.ts +7 -7
- package/dist/Interfaces/Blog/IBlogAuthor.js +2 -2
- package/dist/Interfaces/Blog/IBlogCategory.d.ts +9 -9
- package/dist/Interfaces/Blog/IBlogCategory.js +2 -2
- package/dist/Interfaces/Blog/IBlogComment.d.ts +13 -13
- package/dist/Interfaces/Blog/IBlogComment.js +2 -2
- package/dist/Interfaces/Blog/IBlogKeywords.d.ts +9 -9
- package/dist/Interfaces/Blog/IBlogKeywords.js +2 -2
- package/dist/Interfaces/Booking/index.d.ts +74 -74
- package/dist/Interfaces/Booking/index.js +17 -17
- package/dist/Interfaces/Brand/index.d.ts +15 -15
- package/dist/Interfaces/Brand/index.js +2 -2
- package/dist/Interfaces/CMS/index.d.ts +28 -28
- package/dist/Interfaces/CMS/index.js +5 -5
- package/dist/Interfaces/Cart/IElavonPayload.d.ts +93 -93
- package/dist/Interfaces/Cart/IElavonPayload.js +17 -17
- package/dist/Interfaces/Cart/IPandaPayload.d.ts +64 -64
- package/dist/Interfaces/Cart/IPandaPayload.js +18 -18
- package/dist/Interfaces/Cart/IPaymentCard.d.ts +22 -22
- package/dist/Interfaces/Cart/IPaymentCard.js +44 -44
- package/dist/Interfaces/Cart/IPaypalPayload.d.ts +9 -9
- package/dist/Interfaces/Cart/IPaypalPayload.js +2 -2
- package/dist/Interfaces/Cart/IPaysafePayload.d.ts +72 -72
- package/dist/Interfaces/Cart/IPaysafePayload.js +2 -2
- package/dist/Interfaces/Cart/IStripePayload.d.ts +66 -66
- package/dist/Interfaces/Cart/IStripePayload.js +2 -2
- package/dist/Interfaces/Cart/index.d.ts +444 -444
- package/dist/Interfaces/Cart/index.js +197 -197
- package/dist/Interfaces/CartReservedQuantities/index.d.ts +10 -10
- package/dist/Interfaces/CartReservedQuantities/index.js +2 -2
- package/dist/Interfaces/CashDrawers/index.d.ts +37 -37
- package/dist/Interfaces/CashDrawers/index.js +19 -19
- package/dist/Interfaces/Catalogue/index.d.ts +68 -68
- package/dist/Interfaces/Catalogue/index.js +37 -37
- package/dist/Interfaces/Category/index.d.ts +33 -33
- package/dist/Interfaces/Category/index.js +2 -2
- package/dist/Interfaces/Chart/index.d.ts +11 -11
- package/dist/Interfaces/Chart/index.js +2 -2
- package/dist/Interfaces/Class/index.d.ts +8 -8
- package/dist/Interfaces/Class/index.js +2 -2
- package/dist/Interfaces/Consent/index.d.ts +6 -6
- package/dist/Interfaces/Consent/index.js +2 -2
- package/dist/Interfaces/Context/IContextProps.d.ts +4 -4
- package/dist/Interfaces/Context/IContextProps.js +2 -2
- package/dist/Interfaces/Context/IContextState.d.ts +15 -15
- package/dist/Interfaces/Context/IContextState.js +2 -2
- package/dist/Interfaces/Customer/ICustomerBadge.d.ts +2 -2
- package/dist/Interfaces/Customer/ICustomerBadge.js +2 -2
- package/dist/Interfaces/Customer/ICustomerRating.d.ts +10 -10
- package/dist/Interfaces/Customer/ICustomerRating.js +2 -2
- package/dist/Interfaces/Customer/IStoreCredit.d.ts +13 -13
- package/dist/Interfaces/Customer/IStoreCredit.js +2 -2
- package/dist/Interfaces/Customer/index.d.ts +104 -104
- package/dist/Interfaces/Customer/index.js +148 -148
- package/dist/Interfaces/Declination/index.d.ts +117 -117
- package/dist/Interfaces/Declination/index.js +66 -66
- package/dist/Interfaces/Document/index.d.ts +8 -8
- package/dist/Interfaces/Document/index.js +2 -2
- package/dist/Interfaces/Elastic/index.d.ts +89 -89
- package/dist/Interfaces/Elastic/index.js +2 -2
- package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.d.ts +11 -11
- package/dist/Interfaces/Email/CustomGR/I3DPrintEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.d.ts +15 -15
- package/dist/Interfaces/Email/CustomGR/IBorrowToolsEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.d.ts +12 -12
- package/dist/Interfaces/Email/CustomGR/IPickupMaterialsEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.d.ts +36 -36
- package/dist/Interfaces/Email/CustomGR/IPreMeetingFormEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.d.ts +12 -12
- package/dist/Interfaces/Email/CustomGR/ISponsorRequestEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/ITransportEmail.d.ts +12 -12
- package/dist/Interfaces/Email/CustomGR/ITransportEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.d.ts +12 -12
- package/dist/Interfaces/Email/CustomGR/ITransportQuoteEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.d.ts +16 -16
- package/dist/Interfaces/Email/CustomGR/IVegetalsEmail.js +2 -2
- package/dist/Interfaces/Email/CustomGR/IWishlistEmail.d.ts +15 -15
- package/dist/Interfaces/Email/CustomGR/IWishlistEmail.js +2 -2
- package/dist/Interfaces/Email/IAbandonnedCartEmail.d.ts +29 -29
- package/dist/Interfaces/Email/IAbandonnedCartEmail.js +2 -2
- package/dist/Interfaces/Email/IAccountConfirmationEmail.d.ts +22 -22
- package/dist/Interfaces/Email/IAccountConfirmationEmail.js +2 -2
- package/dist/Interfaces/Email/IApplicationEmail.d.ts +19 -19
- package/dist/Interfaces/Email/IApplicationEmail.js +2 -2
- package/dist/Interfaces/Email/IBackInStockEmail.d.ts +21 -21
- package/dist/Interfaces/Email/IBackInStockEmail.js +2 -2
- package/dist/Interfaces/Email/IContactEmail.d.ts +20 -20
- package/dist/Interfaces/Email/IContactEmail.js +2 -2
- package/dist/Interfaces/Email/ICustomerBookingAdminEmail.d.ts +15 -15
- package/dist/Interfaces/Email/ICustomerBookingAdminEmail.js +2 -2
- package/dist/Interfaces/Email/ICustomerBookingEmail.d.ts +14 -14
- package/dist/Interfaces/Email/ICustomerBookingEmail.js +2 -2
- package/dist/Interfaces/Email/IEmail.d.ts +20 -20
- package/dist/Interfaces/Email/IEmail.js +60 -60
- package/dist/Interfaces/Email/IOrderConfirmationEmail.d.ts +47 -47
- package/dist/Interfaces/Email/IOrderConfirmationEmail.js +2 -2
- package/dist/Interfaces/Email/IPasswordResetEmail.d.ts +17 -17
- package/dist/Interfaces/Email/IPasswordResetEmail.js +2 -2
- package/dist/Interfaces/Email/IPhotoShootEmail.d.ts +14 -14
- package/dist/Interfaces/Email/IPhotoShootEmail.js +2 -2
- package/dist/Interfaces/Email/IPickupConfirmation.d.ts +23 -23
- package/dist/Interfaces/Email/IPickupConfirmation.js +2 -2
- package/dist/Interfaces/Email/IShippingConfirmation.d.ts +23 -23
- package/dist/Interfaces/Email/IShippingConfirmation.js +2 -2
- package/dist/Interfaces/Email/IWelcomeEmail.d.ts +19 -19
- package/dist/Interfaces/Email/IWelcomeEmail.js +2 -2
- package/dist/Interfaces/ExportSchema/index.d.ts +7 -7
- package/dist/Interfaces/ExportSchema/index.js +2 -2
- package/dist/Interfaces/ExternalService/BaseExternalService.d.ts +12 -12
- package/dist/Interfaces/ExternalService/BaseExternalService.js +2 -2
- package/dist/Interfaces/ExternalService/ExternalProductsService.d.ts +4 -4
- package/dist/Interfaces/ExternalService/ExternalProductsService.js +2 -2
- package/dist/Interfaces/ExternalService/index.d.ts +9 -9
- package/dist/Interfaces/ExternalService/index.js +2 -2
- package/dist/Interfaces/FirstOrderTracking/index.d.ts +5 -5
- package/dist/Interfaces/FirstOrderTracking/index.js +2 -2
- package/dist/Interfaces/G2/index.d.ts +556 -556
- package/dist/Interfaces/G2/index.js +38 -38
- package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.d.ts +20 -20
- package/dist/Interfaces/Indexed/Product/IIndexedLastSavedProduct.js +2 -2
- package/dist/Interfaces/Indexed/Product/index.d.ts +105 -105
- package/dist/Interfaces/Indexed/Product/index.js +253 -253
- package/dist/Interfaces/Inventory/index.d.ts +19 -19
- package/dist/Interfaces/Inventory/index.js +8 -8
- package/dist/Interfaces/Invoice/index.d.ts +4 -4
- package/dist/Interfaces/Invoice/index.js +2 -2
- package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.d.ts +3 -3
- package/dist/Interfaces/MarketplacePublication/MarketplaceOrderData.js +2 -2
- package/dist/Interfaces/MarketplacePublication/index.d.ts +23 -23
- package/dist/Interfaces/MarketplacePublication/index.js +22 -22
- package/dist/Interfaces/Menu/index.d.ts +40 -40
- package/dist/Interfaces/Menu/index.js +16 -16
- package/dist/Interfaces/Note/index.d.ts +10 -10
- package/dist/Interfaces/Note/index.js +7 -7
- package/dist/Interfaces/Operations/ICreatedBy.d.ts +6 -6
- package/dist/Interfaces/Operations/ICreatedBy.js +2 -2
- package/dist/Interfaces/Operations/IUpdate.d.ts +5 -5
- package/dist/Interfaces/Operations/IUpdate.js +2 -2
- package/dist/Interfaces/Order/index.d.ts +4 -4
- package/dist/Interfaces/Order/index.js +2 -2
- package/dist/Interfaces/Org/IRelUser.d.ts +9 -9
- package/dist/Interfaces/Org/IRelUser.js +2 -2
- package/dist/Interfaces/Org/index.d.ts +29 -29
- package/dist/Interfaces/Org/index.js +12 -12
- package/dist/Interfaces/Payment/index.d.ts +26 -26
- package/dist/Interfaces/Payment/index.js +14 -14
- package/dist/Interfaces/Product/IAttributeFamily.d.ts +6 -6
- package/dist/Interfaces/Product/IAttributeFamily.js +2 -2
- package/dist/Interfaces/Product/IImportProduct.d.ts +42 -42
- package/dist/Interfaces/Product/IImportProduct.js +882 -882
- package/dist/Interfaces/Product/IInventoryItem.d.ts +74 -74
- package/dist/Interfaces/Product/IInventoryItem.js +38 -38
- package/dist/Interfaces/Product/IPricing.d.ts +177 -177
- package/dist/Interfaces/Product/IPricing.js +180 -180
- package/dist/Interfaces/Product/index.d.ts +138 -138
- package/dist/Interfaces/Product/index.js +64 -64
- package/dist/Interfaces/ProductAttribute/index.d.ts +11 -11
- package/dist/Interfaces/ProductAttribute/index.js +2 -2
- package/dist/Interfaces/PromiseToPurchase/BankType.d.ts +41 -41
- package/dist/Interfaces/PromiseToPurchase/BankType.js +41 -41
- package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.d.ts +33 -33
- package/dist/Interfaces/PromiseToPurchase/IIndexedBankUsed.js +15 -15
- package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.d.ts +19 -19
- package/dist/Interfaces/PromiseToPurchase/IIndexedCustomerPromiseToPurchase.js +2 -2
- package/dist/Interfaces/PromiseToPurchase/index.d.ts +50 -50
- package/dist/Interfaces/PromiseToPurchase/index.js +13 -13
- package/dist/Interfaces/PurchaseOrder/index.d.ts +17 -17
- package/dist/Interfaces/PurchaseOrder/index.js +2 -2
- package/dist/Interfaces/Query/IBrandQueryOptions.d.ts +11 -11
- package/dist/Interfaces/Query/IBrandQueryOptions.js +2 -2
- package/dist/Interfaces/Query/ICategoryQueryOptions.d.ts +11 -11
- package/dist/Interfaces/Query/ICategoryQueryOptions.js +2 -2
- package/dist/Interfaces/Query/IProductQueryOptions.d.ts +16 -16
- package/dist/Interfaces/Query/IProductQueryOptions.js +2 -2
- package/dist/Interfaces/Quote/index.d.ts +5 -5
- package/dist/Interfaces/Quote/index.js +2 -2
- package/dist/Interfaces/Refunds/index.d.ts +106 -106
- package/dist/Interfaces/Refunds/index.js +2 -2
- package/dist/Interfaces/Rules/IDiscountRule.d.ts +155 -155
- package/dist/Interfaces/Rules/IDiscountRule.js +114 -114
- package/dist/Interfaces/Schedule/index.d.ts +48 -48
- package/dist/Interfaces/Schedule/index.js +2 -2
- package/dist/Interfaces/Services/IAddServiceResponse.d.ts +4 -4
- package/dist/Interfaces/Services/IAddServiceResponse.js +2 -2
- package/dist/Interfaces/Services/IService.d.ts +16 -16
- package/dist/Interfaces/Services/IService.js +2 -2
- package/dist/Interfaces/Services/IServiceSecret.d.ts +8 -8
- package/dist/Interfaces/Services/IServiceSecret.js +2 -2
- package/dist/Interfaces/Shipping/Shipstation/carriers.d.ts +10 -10
- package/dist/Interfaces/Shipping/Shipstation/carriers.js +2 -2
- package/dist/Interfaces/Shipping/Shipstation/order.d.ts +227 -227
- package/dist/Interfaces/Shipping/Shipstation/order.js +2 -2
- package/dist/Interfaces/Shipping/Shipstation/quote.d.ts +31 -31
- package/dist/Interfaces/Shipping/Shipstation/quote.js +2 -2
- package/dist/Interfaces/Shipping/Shiptime/order.d.ts +54 -54
- package/dist/Interfaces/Shipping/Shiptime/order.js +71 -71
- package/dist/Interfaces/Shipping/Shiptime/quote.d.ts +111 -111
- package/dist/Interfaces/Shipping/Shiptime/quote.js +2 -2
- package/dist/Interfaces/Slider/GR.d.ts +114 -114
- package/dist/Interfaces/Slider/GR.js +271 -271
- package/dist/Interfaces/Slider/index.d.ts +30 -30
- package/dist/Interfaces/Slider/index.js +2 -2
- package/dist/Interfaces/Space/IExternalService.d.ts +53 -53
- package/dist/Interfaces/Space/IExternalService.js +44 -44
- package/dist/Interfaces/Space/IMember.d.ts +16 -16
- package/dist/Interfaces/Space/IMember.js +9 -9
- package/dist/Interfaces/Space/index.d.ts +407 -405
- package/dist/Interfaces/Space/index.js +174 -174
- package/dist/Interfaces/Space/index.js.map +1 -1
- package/dist/Interfaces/Specials/gr.d.ts +61 -61
- package/dist/Interfaces/Specials/gr.js +2 -2
- package/dist/Interfaces/StockNotification/index.d.ts +7 -7
- package/dist/Interfaces/StockNotification/index.js +2 -2
- package/dist/Interfaces/Store/index.d.ts +63 -63
- package/dist/Interfaces/Store/index.js +27 -27
- package/dist/Interfaces/Supplier/ICommand.d.ts +11 -11
- package/dist/Interfaces/Supplier/ICommand.js +2 -2
- package/dist/Interfaces/Supplier/index.d.ts +36 -36
- package/dist/Interfaces/Supplier/index.js +24 -24
- package/dist/Interfaces/TCG/index.d.ts +161 -161
- package/dist/Interfaces/TCG/index.js +54 -54
- package/dist/Interfaces/Tag/index.d.ts +18 -18
- package/dist/Interfaces/Tag/index.js +2 -2
- package/dist/Interfaces/Tax/index.d.ts +13 -13
- package/dist/Interfaces/Tax/index.js +2 -2
- package/dist/Interfaces/TransferRequest/index.d.ts +103 -103
- package/dist/Interfaces/TransferRequest/index.js +46 -46
- package/dist/Interfaces/Translation/index.d.ts +8 -8
- package/dist/Interfaces/Translation/index.js +5 -5
- package/dist/Interfaces/Update/index.d.ts +10 -10
- package/dist/Interfaces/Update/index.js +2 -2
- package/dist/Interfaces/User/IUser.d.ts +65 -65
- package/dist/Interfaces/User/IUser.js +8 -8
- package/dist/Interfaces/Version/index.d.ts +11 -11
- package/dist/Interfaces/Version/index.js +2 -2
- package/dist/Interfaces/Wishlist/index.d.ts +7 -7
- package/dist/Interfaces/Wishlist/index.js +2 -2
- package/dist/constants/Interfaces/IBaseApi.d.ts +15 -15
- package/dist/constants/Interfaces/IBaseApi.js +2 -2
- package/dist/constants/Interfaces/IEndpointResult.d.ts +9 -9
- package/dist/constants/Interfaces/IEndpointResult.js +2 -2
- package/dist/constants/enums.d.ts +6 -6
- package/dist/constants/enums.js +10 -10
- package/dist/constants/services.d.ts +2 -2
- package/dist/constants/services.js +117 -117
- package/dist/constants/version.d.ts +2 -2
- package/dist/constants/version.js +5 -5
- package/dist/index.d.ts +50 -50
- package/dist/index.js +266 -266
- package/dist/lib/Attribute/index.d.ts +14 -14
- package/dist/lib/Attribute/index.js +186 -186
- package/dist/lib/BGJob/index.d.ts +9 -9
- package/dist/lib/BGJob/index.js +216 -216
- package/dist/lib/BackgroundWorker/index.d.ts +34 -34
- package/dist/lib/BackgroundWorker/index.js +59 -59
- package/dist/lib/Blog/BlogArticle.d.ts +5 -5
- package/dist/lib/Blog/BlogArticle.js +10 -10
- package/dist/lib/Blog/BlogAuthor.d.ts +5 -5
- package/dist/lib/Blog/BlogAuthor.js +10 -10
- package/dist/lib/Blog/BlogCategory.d.ts +5 -5
- package/dist/lib/Blog/BlogCategory.js +10 -10
- package/dist/lib/Blog/BlogKeyword.d.ts +5 -5
- package/dist/lib/Blog/BlogKeyword.js +10 -10
- package/dist/lib/Booking/index.d.ts +85 -85
- package/dist/lib/Booking/index.js +596 -596
- package/dist/lib/Brand/index.d.ts +26 -26
- package/dist/lib/Brand/index.js +131 -131
- package/dist/lib/Cart/index.d.ts +335 -335
- package/dist/lib/Cart/index.js +3981 -3977
- package/dist/lib/Cart/index.js.map +1 -1
- package/dist/lib/CartReservedQuantities/index.d.ts +49 -49
- package/dist/lib/CartReservedQuantities/index.js +159 -159
- package/dist/lib/CashDrawerShift/index.d.ts +83 -83
- package/dist/lib/CashDrawerShift/index.js +205 -205
- package/dist/lib/Catalogue/index.d.ts +15 -15
- package/dist/lib/Catalogue/index.js +78 -78
- package/dist/lib/Category/index.d.ts +34 -34
- package/dist/lib/Category/index.js +230 -230
- package/dist/lib/Class/index.d.ts +16 -16
- package/dist/lib/Class/index.js +66 -66
- package/dist/lib/Consent/index.d.ts +4 -4
- package/dist/lib/Consent/index.js +29 -29
- package/dist/lib/Customer/index.d.ts +30 -30
- package/dist/lib/Customer/index.js +92 -92
- package/dist/lib/Declination/index.d.ts +9 -9
- package/dist/lib/Declination/index.js +26 -26
- package/dist/lib/Discount/index.d.ts +27 -27
- package/dist/lib/Discount/index.js +493 -493
- package/dist/lib/ElasticSearch/index.d.ts +13 -13
- package/dist/lib/ElasticSearch/index.js +50 -50
- package/dist/lib/Elavon/index.d.ts +18 -18
- package/dist/lib/Elavon/index.js +135 -135
- package/dist/lib/Email/AbandonedCartEmail.d.ts +16 -16
- package/dist/lib/Email/AbandonedCartEmail.js +24 -24
- package/dist/lib/Email/AccountConfirmationEmail.d.ts +19 -19
- package/dist/lib/Email/AccountConfirmationEmail.js +30 -30
- package/dist/lib/Email/AdminOrderConfirmationEmail.d.ts +16 -16
- package/dist/lib/Email/AdminOrderConfirmationEmail.js +24 -24
- package/dist/lib/Email/ApplicationEmail.d.ts +16 -16
- package/dist/lib/Email/ApplicationEmail.js +24 -24
- package/dist/lib/Email/BackInStockEmail.d.ts +16 -16
- package/dist/lib/Email/BackInStockEmail.js +24 -24
- package/dist/lib/Email/ContactEmail.d.ts +16 -16
- package/dist/lib/Email/ContactEmail.js +24 -24
- package/dist/lib/Email/CustomerBookingAdminEmail.d.ts +16 -16
- package/dist/lib/Email/CustomerBookingAdminEmail.js +24 -24
- package/dist/lib/Email/CustomerBookingEmail.d.ts +16 -16
- package/dist/lib/Email/CustomerBookingEmail.js +24 -24
- package/dist/lib/Email/OrderConfirmationEmail.d.ts +16 -16
- package/dist/lib/Email/OrderConfirmationEmail.js +24 -24
- package/dist/lib/Email/OrderDenounciationEmail.d.ts +16 -16
- package/dist/lib/Email/OrderDenounciationEmail.js +24 -24
- package/dist/lib/Email/OrderSampleEmail.d.ts +16 -16
- package/dist/lib/Email/OrderSampleEmail.js +24 -24
- package/dist/lib/Email/OtherTypeEmails.d.ts +16 -16
- package/dist/lib/Email/OtherTypeEmails.js +27 -27
- package/dist/lib/Email/PasswordResetEmail.d.ts +16 -16
- package/dist/lib/Email/PasswordResetEmail.js +24 -24
- package/dist/lib/Email/PhotoShootEmail.d.ts +16 -16
- package/dist/lib/Email/PhotoShootEmail.js +24 -24
- package/dist/lib/Email/PickUpConfirmation.d.ts +16 -16
- package/dist/lib/Email/PickUpConfirmation.js +24 -24
- package/dist/lib/Email/ShippingConfirmation.d.ts +16 -16
- package/dist/lib/Email/ShippingConfirmation.js +24 -24
- package/dist/lib/Email/WelcomeEmail.d.ts +16 -16
- package/dist/lib/Email/WelcomeEmail.js +24 -24
- package/dist/lib/Email/index.d.ts +16 -16
- package/dist/lib/Email/index.js +31 -31
- package/dist/lib/ExternalService/Ebay.d.ts +74 -74
- package/dist/lib/ExternalService/Ebay.js +124 -124
- package/dist/lib/ExternalService/index.d.ts +5 -5
- package/dist/lib/ExternalService/index.js +10 -10
- package/dist/lib/FirstOrderTracking/index.d.ts +5 -5
- package/dist/lib/FirstOrderTracking/index.js +10 -10
- package/dist/lib/Indexed/IndexedCart.d.ts +13 -13
- package/dist/lib/Indexed/IndexedCart.js +91 -91
- package/dist/lib/Indexed/Product.d.ts +17 -17
- package/dist/lib/Indexed/Product.js +98 -98
- package/dist/lib/Inventory/index.d.ts +112 -112
- package/dist/lib/Inventory/index.js +492 -492
- package/dist/lib/Invoice/index.d.ts +16 -16
- package/dist/lib/Invoice/index.js +21 -21
- package/dist/lib/MarketplacePublication/index.d.ts +9 -9
- package/dist/lib/MarketplacePublication/index.js +426 -426
- package/dist/lib/Menu/index.d.ts +11 -11
- package/dist/lib/Menu/index.js +107 -107
- package/dist/lib/MongoDB/BaseAPI.d.ts +18 -18
- package/dist/lib/MongoDB/BaseAPI.js +200 -200
- package/dist/lib/Note/index.d.ts +4 -4
- package/dist/lib/Note/index.js +6 -6
- package/dist/lib/Order/index.d.ts +27 -27
- package/dist/lib/Order/index.js +56 -56
- package/dist/lib/Org/index.d.ts +68 -68
- package/dist/lib/Org/index.js +216 -216
- package/dist/lib/PandaPay/index.d.ts +16 -16
- package/dist/lib/PandaPay/index.js +176 -176
- package/dist/lib/Paysafe/index.d.ts +11 -11
- package/dist/lib/Paysafe/index.js +41 -41
- package/dist/lib/Product/index.d.ts +182 -182
- package/dist/lib/Product/index.js +847 -847
- package/dist/lib/ProductAttribute/index.d.ts +15 -15
- package/dist/lib/ProductAttribute/index.js +45 -45
- package/dist/lib/PromiseToPurchase/index.d.ts +109 -109
- package/dist/lib/PromiseToPurchase/index.js +343 -343
- package/dist/lib/PurchaseOrder/index.d.ts +20 -20
- package/dist/lib/PurchaseOrder/index.js +28 -28
- package/dist/lib/Queue/index.d.ts +40 -40
- package/dist/lib/Queue/index.js +254 -254
- package/dist/lib/Schedule/index.d.ts +5 -5
- package/dist/lib/Schedule/index.js +12 -12
- package/dist/lib/Service/Enum/ServiceEnum.d.ts +3 -3
- package/dist/lib/Service/Enum/ServiceEnum.js +7 -7
- package/dist/lib/Service/index.d.ts +13 -13
- package/dist/lib/Service/index.js +21 -21
- package/dist/lib/Shipment/index.d.ts +28 -28
- package/dist/lib/Shipment/index.js +370 -370
- package/dist/lib/Slider/index.d.ts +22 -22
- package/dist/lib/Slider/index.js +119 -119
- package/dist/lib/Space/index.d.ts +1150 -1150
- package/dist/lib/Space/index.js +5792 -5792
- package/dist/lib/StockNotification/index.d.ts +4 -4
- package/dist/lib/StockNotification/index.js +6 -6
- package/dist/lib/Store/index.d.ts +5 -5
- package/dist/lib/Store/index.js +12 -12
- package/dist/lib/Supplier/Command.d.ts +5 -5
- package/dist/lib/Supplier/Command.js +10 -10
- package/dist/lib/Supplier/index.d.ts +25 -25
- package/dist/lib/Supplier/index.js +27 -27
- package/dist/lib/Tags/index.d.ts +6 -6
- package/dist/lib/Tags/index.js +26 -26
- package/dist/lib/Tax/index.d.ts +8 -8
- package/dist/lib/Tax/index.js +54 -54
- package/dist/lib/TransferRequest/index.d.ts +290 -290
- package/dist/lib/TransferRequest/index.js +1026 -1026
- package/dist/lib/Update/index.d.ts +10 -10
- package/dist/lib/Update/index.js +22 -22
- package/dist/lib/User/index.d.ts +89 -89
- package/dist/lib/User/index.js +328 -328
- package/dist/lib/Wishlist/index.d.ts +5 -5
- package/dist/lib/Wishlist/index.js +10 -10
- package/dist/lib/base.d.ts +14 -14
- package/dist/lib/base.js +62 -62
- package/dist/lib/baseService.d.ts +17 -17
- package/dist/lib/baseService.js +69 -69
- package/dist/rules/GR/constants/data.d.ts +26 -26
- package/dist/rules/GR/constants/data.js +81 -81
- package/dist/rules/GR/constants/expedition.d.ts +4 -4
- package/dist/rules/GR/constants/expedition.js +9 -9
- package/dist/rules/GR/constants/products.d.ts +22 -22
- package/dist/rules/GR/constants/products.js +263 -263
- package/dist/rules/GR/interfaces/cart.d.ts +84 -84
- package/dist/rules/GR/interfaces/cart.js +41 -41
- package/dist/rules/GR/interfaces/data.d.ts +101 -101
- package/dist/rules/GR/interfaces/data.js +114 -114
- package/dist/rules/GR/interfaces/products.d.ts +61 -61
- package/dist/rules/GR/interfaces/products.js +10 -10
- package/dist/rules/GR/utils/cart.d.ts +95 -95
- package/dist/rules/GR/utils/cart.js +839 -836
- package/dist/rules/GR/utils/cart.js.map +1 -1
- package/dist/rules/GR/utils/data.d.ts +3 -3
- package/dist/rules/GR/utils/data.js +28 -28
- package/dist/rules/GR/utils/expedition.d.ts +140 -140
- package/dist/rules/GR/utils/expedition.js +2016 -2016
- package/dist/rules/GR/utils/g2.d.ts +209 -209
- package/dist/rules/GR/utils/g2.js +999 -999
- package/dist/rules/GR/utils/invoices.d.ts +51 -51
- package/dist/rules/GR/utils/invoices.js +215 -215
- package/dist/rules/GR/utils/products.d.ts +277 -277
- package/dist/rules/GR/utils/products.js +1350 -1350
- package/dist/rules/GR/utils/upsells.d.ts +111 -111
- package/dist/rules/GR/utils/upsells.js +215 -215
- package/dist/services/database/BaseProvider.d.ts +29 -29
- package/dist/services/database/BaseProvider.js +28 -28
- package/dist/services/database/BatchUtils.d.ts +14 -14
- package/dist/services/database/BatchUtils.js +43 -43
- package/dist/services/database/Config.d.ts +2 -2
- package/dist/services/database/Config.js +5 -5
- package/dist/services/database/DatabaseService.d.ts +125 -125
- package/dist/services/database/DatabaseService.js +237 -237
- package/dist/services/database/FirebaseProvider.d.ts +17 -17
- package/dist/services/database/FirebaseProvider.js +235 -235
- package/dist/services/database/NotFirebaseProvider.d.ts +49 -49
- package/dist/services/database/NotFirebaseProvider.js +262 -262
- package/dist/services/g2/G2OrderSlip.d.ts +49 -49
- package/dist/services/g2/G2OrderSlip.js +228 -228
- package/dist/services/g2/utils.d.ts +19 -19
- package/dist/services/g2/utils.js +953 -953
- package/dist/services/logs/index.d.ts +23 -23
- package/dist/services/logs/index.js +66 -66
- package/dist/services/marketplace/BaseMarketServiceClass.d.ts +52 -52
- package/dist/services/marketplace/BaseMarketServiceClass.js +111 -111
- package/dist/services/marketplace/CardtraderServiceClass.d.ts +17 -17
- package/dist/services/marketplace/CardtraderServiceClass.js +139 -139
- package/dist/services/marketplace/utils.d.ts +14 -14
- package/dist/services/marketplace/utils.js +29 -29
- package/dist/services/products/BaseClass.d.ts +50 -50
- package/dist/services/products/BaseClass.js +66 -66
- package/dist/services/products/TCGService.d.ts +32 -32
- package/dist/services/products/TCGService.js +555 -555
- package/dist/services/products/utils.d.ts +31 -31
- package/dist/services/products/utils.js +144 -144
- package/dist/utils/algolia.d.ts +46 -46
- package/dist/utils/algolia.js +21 -21
- package/dist/utils/anonymisation.d.ts +54 -54
- package/dist/utils/anonymisation.js +280 -280
- package/dist/utils/array.d.ts +5 -5
- package/dist/utils/array.js +14 -14
- package/dist/utils/aws.d.ts +36 -36
- package/dist/utils/aws.js +154 -154
- package/dist/utils/booking.d.ts +30 -30
- package/dist/utils/booking.js +127 -127
- package/dist/utils/cart.d.ts +259 -259
- package/dist/utils/cart.js +1145 -1145
- package/dist/utils/categories.d.ts +2 -2
- package/dist/utils/categories.js +54 -54
- package/dist/utils/cmv.d.ts +10 -10
- package/dist/utils/cmv.js +107 -107
- package/dist/utils/console.d.ts +6 -6
- package/dist/utils/console.js +59 -59
- package/dist/utils/context.d.ts +20 -20
- package/dist/utils/context.js +61 -61
- package/dist/utils/currency.d.ts +6 -6
- package/dist/utils/currency.js +91 -91
- package/dist/utils/data.d.ts +31 -31
- package/dist/utils/data.js +296 -296
- package/dist/utils/date.d.ts +1 -1
- package/dist/utils/date.js +16 -16
- package/dist/utils/dimensions.d.ts +3 -3
- package/dist/utils/dimensions.js +16 -16
- package/dist/utils/discount.d.ts +164 -164
- package/dist/utils/discount.js +1111 -1111
- package/dist/utils/errors.d.ts +113 -113
- package/dist/utils/errors.js +113 -113
- package/dist/utils/file-admin.d.ts +8 -8
- package/dist/utils/file-admin.js +39 -39
- package/dist/utils/file.d.ts +39 -39
- package/dist/utils/file.js +208 -208
- package/dist/utils/firebase-admin.d.ts +11 -11
- package/dist/utils/firebase-admin.js +73 -73
- package/dist/utils/firebase.d.ts +58 -58
- package/dist/utils/firebase.js +148 -148
- package/dist/utils/import.d.ts +1 -1
- package/dist/utils/import.js +21 -21
- package/dist/utils/inventories.d.ts +101 -101
- package/dist/utils/inventories.js +467 -467
- package/dist/utils/locale.d.ts +24 -24
- package/dist/utils/locale.js +89 -89
- package/dist/utils/mailchimp.d.ts +58 -58
- package/dist/utils/mailchimp.js +531 -531
- package/dist/utils/mathUtils.d.ts +17 -17
- package/dist/utils/mathUtils.js +324 -324
- package/dist/utils/mongodb.d.ts +1 -1
- package/dist/utils/mongodb.js +22 -22
- package/dist/utils/object.d.ts +32 -32
- package/dist/utils/object.js +133 -133
- package/dist/utils/payment.d.ts +10 -10
- package/dist/utils/payment.js +23 -23
- package/dist/utils/products.d.ts +39 -39
- package/dist/utils/products.js +195 -195
- package/dist/utils/promiseToPurchase.d.ts +88 -88
- package/dist/utils/promiseToPurchase.js +229 -229
- package/dist/utils/prosprsearch.d.ts +42 -42
- package/dist/utils/prosprsearch.js +216 -216
- package/dist/utils/refunds.d.ts +2 -2
- package/dist/utils/refunds.js +21 -21
- package/dist/utils/sdc.d.ts +10 -10
- package/dist/utils/sdc.js +1309 -1309
- package/dist/utils/searchIndexes.d.ts +58 -58
- package/dist/utils/searchIndexes.js +247 -247
- package/dist/utils/services.d.ts +42 -42
- package/dist/utils/services.js +409 -409
- package/dist/utils/shipment.d.ts +110 -110
- package/dist/utils/shipment.js +345 -345
- package/dist/utils/simpletexting.d.ts +2 -2
- package/dist/utils/simpletexting.js +45 -45
- package/dist/utils/sliders.d.ts +4 -4
- package/dist/utils/sliders.js +24 -24
- package/dist/utils/string.d.ts +16 -16
- package/dist/utils/string.js +192 -192
- package/dist/utils/tcgService.d.ts +74 -74
- package/dist/utils/tcgService.js +308 -308
- package/dist/utils/tools.d.ts +5 -5
- package/dist/utils/tools.js +13 -13
- package/dist/utils/transferRequests.d.ts +43 -43
- package/dist/utils/transferRequests.js +67 -67
- package/dist/utils/update.d.ts +7 -7
- package/dist/utils/update.js +137 -137
- package/dist/utils/weight.d.ts +3 -3
- package/dist/utils/weight.js +16 -16
- package/dist/utils/zones.d.ts +11 -11
- package/dist/utils/zones.js +218 -218
- package/package.json +107 -107
- package/publish.sh +143 -143
- package/readme.md +182 -182
|
@@ -1,427 +1,427 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
var _a;
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const console_1 = require("../../utils/console");
|
|
8
|
-
const toNumber_1 = __importDefault(require("lodash/toNumber"));
|
|
9
|
-
const baseService_1 = require("../baseService");
|
|
10
|
-
const DatabaseService_1 = __importDefault(require("../../services/database/DatabaseService"));
|
|
11
|
-
class MarketplacePublication extends baseService_1.BaseServiceClass {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
/* private _createEbayInventoryLocation = async (ebay: eBayApi) => {
|
|
15
|
-
console.log('_createEbayInventoryLocation')
|
|
16
|
-
try {
|
|
17
|
-
await ebay.sell.inventory.createInventoryLocation('merchantLocationKey', {
|
|
18
|
-
location: {
|
|
19
|
-
address: {
|
|
20
|
-
addressLine1: '123 rue principale',
|
|
21
|
-
city: 'Québec',
|
|
22
|
-
country: CountryCode.CA,
|
|
23
|
-
postalCode: 'H3C2A3'
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
})
|
|
27
|
-
} catch (error) {
|
|
28
|
-
errorMessage(`Error while creating ebay location`)
|
|
29
|
-
return false
|
|
30
|
-
}
|
|
31
|
-
} */
|
|
32
|
-
/* public updateEbayInventoryLocation = async (space: Space) => {
|
|
33
|
-
try {
|
|
34
|
-
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
35
|
-
await ebay.sell.inventory.updateInventoryLocation('merchantLocationKey', {})
|
|
36
|
-
} catch (error) {
|
|
37
|
-
errorMessage(`Error while deleting ebay location`)
|
|
38
|
-
return false
|
|
39
|
-
}
|
|
40
|
-
} */
|
|
41
|
-
/* public deleteEbayInventoryLocation = async (space: Space) => {
|
|
42
|
-
try {
|
|
43
|
-
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
44
|
-
await ebay.sell.inventory.deleteInventoryLocation('merchantLocationKey')
|
|
45
|
-
} catch (error) {
|
|
46
|
-
errorMessage(`Error while deleting ebay location`)
|
|
47
|
-
return false
|
|
48
|
-
}
|
|
49
|
-
} */
|
|
50
|
-
this.createEbayPublication = async (space) => {
|
|
51
|
-
try {
|
|
52
|
-
const service = space
|
|
53
|
-
.data()
|
|
54
|
-
.external_services.find((service) => service.external_service_name === 'ebay' && !!service.is_active);
|
|
55
|
-
if (!!!service)
|
|
56
|
-
throw new Error(`No ebay service found`);
|
|
57
|
-
if (!!!service.external_service_infos.token)
|
|
58
|
-
throw new Error(`No ebay token found`);
|
|
59
|
-
// const serviceToken = service.external_service_infos.token
|
|
60
|
-
const publicationsVerification = await MarketplacePublication.getAllMarketplacePublicationsObjs(this.data().sku, this._collection.path, this._user);
|
|
61
|
-
if (!!!publicationsVerification)
|
|
62
|
-
throw new Error('Publication not found');
|
|
63
|
-
if (!!!publicationsVerification.length)
|
|
64
|
-
throw new Error('Publication not found');
|
|
65
|
-
if (publicationsVerification.some((publication) => publication.data().id !== this.data().id)) {
|
|
66
|
-
throw new Error(`Publication with sku: ${this.data().sku} already exists`);
|
|
67
|
-
}
|
|
68
|
-
const parentProduct = await space.indexedProducts.get({
|
|
69
|
-
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
70
|
-
});
|
|
71
|
-
if (!!!parentProduct)
|
|
72
|
-
throw new Error(`No parent product found`);
|
|
73
|
-
if (!!!parentProduct[0])
|
|
74
|
-
throw new Error(`No parent product found`);
|
|
75
|
-
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku);
|
|
76
|
-
if (!!!product)
|
|
77
|
-
throw new Error(`No product found`);
|
|
78
|
-
const productInventory = await space.inventoryItems.getOne(product.sku);
|
|
79
|
-
if (!!!productInventory)
|
|
80
|
-
throw new Error(`No product inventory found`);
|
|
81
|
-
if (!!!productInventory.web_inventory)
|
|
82
|
-
throw new Error(`No product web inventory found`);
|
|
83
|
-
if (!!!productInventory.web_inventory.available)
|
|
84
|
-
throw new Error(`No product web inventory quantity available found`);
|
|
85
|
-
if ((0, toNumber_1.default)(productInventory.web_inventory.available) < (0, toNumber_1.default)(this.data().quantity))
|
|
86
|
-
throw new Error(`Product web inventory quantity available is less than quantity`);
|
|
87
|
-
// call ebay service to create publication
|
|
88
|
-
// const ebay = MarketplacePublication.connectionToEbay(space)
|
|
89
|
-
// ebay.OAuth2.setCredentials(serviceToken)
|
|
90
|
-
console.log('ebay connection done');
|
|
91
|
-
// await this._createEbayInventoryLocation(ebay)
|
|
92
|
-
console.log('createEbayInventoryLocation done');
|
|
93
|
-
// await this._createEbayInventory(ebay, productInventory.web_inventory.available, parentProduct[0], product)
|
|
94
|
-
console.log('createEbayInventory done');
|
|
95
|
-
// await this._createEbayOffer(ebay)
|
|
96
|
-
console.log('createEbayOffer done');
|
|
97
|
-
// await this._publishEbayOffer(ebay)
|
|
98
|
-
console.log('publishEbayOffer done');
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
(0, console_1.errorMessage)(`Error while creating ebay publication`);
|
|
103
|
-
throw error;
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
/* private _createEbayInventory = async (
|
|
107
|
-
ebay: eBayApi,
|
|
108
|
-
available: number,
|
|
109
|
-
parentProduct: IndexedProduct,
|
|
110
|
-
product: IIndexedDeclination
|
|
111
|
-
) => {
|
|
112
|
-
try {
|
|
113
|
-
const createInventory = await ebay.sell.inventory.createOrReplaceInventoryItem(this.data().sku, {
|
|
114
|
-
availability: {
|
|
115
|
-
shipToLocationAvailability: {
|
|
116
|
-
quantity: available
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
condition: Condition.USED_EXCELLENT,
|
|
120
|
-
product: {
|
|
121
|
-
title: MarketplacePublication.convertDictionnaryToEbay(parentProduct.data().name, ebay),
|
|
122
|
-
brand: parentProduct.data().brand,
|
|
123
|
-
imageUrls: product.images_path.map((image) => image.img_path),
|
|
124
|
-
description: MarketplacePublication.convertDictionnaryToEbay(parentProduct.data().description, ebay)
|
|
125
|
-
}
|
|
126
|
-
} as SellInventoryItem)
|
|
127
|
-
console.log('createInventory', createInventory)
|
|
128
|
-
await this.save({ ebay_inventory_payload: createInventory })
|
|
129
|
-
return createInventory
|
|
130
|
-
} catch (error) {
|
|
131
|
-
errorMessage(`Error while creating ebay inventory`)
|
|
132
|
-
return false
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
*/
|
|
136
|
-
/* private _createEbayOffer = async (ebay: eBayApi) => {
|
|
137
|
-
try {
|
|
138
|
-
const ebayOffer = await ebay.sell.inventory.createOffer({
|
|
139
|
-
sku: this.data().sku,
|
|
140
|
-
marketplaceId: ebay.config.marketplaceId as unknown as Marketplace,
|
|
141
|
-
format: FormatType.FIXED_PRICE,
|
|
142
|
-
listingPolicies: {
|
|
143
|
-
fulfillmentPolicyId: '',
|
|
144
|
-
paymentPolicyId: '',
|
|
145
|
-
returnPolicyId: ''
|
|
146
|
-
},
|
|
147
|
-
merchantLocationKey: '',
|
|
148
|
-
pricingSummary: {
|
|
149
|
-
price: {
|
|
150
|
-
value: this.data().price.toFixed(2)
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
})
|
|
154
|
-
console.log('ebayoffer', ebayOffer)
|
|
155
|
-
await this.save({ ebay_offer_payload: ebayOffer })
|
|
156
|
-
return ebayOffer
|
|
157
|
-
} catch (error) {
|
|
158
|
-
errorMessage(`Error while publishing ebay publication`)
|
|
159
|
-
throw error
|
|
160
|
-
}
|
|
161
|
-
} */
|
|
162
|
-
/* private _updateEbayOffer = async (ebay: eBayApi) => {
|
|
163
|
-
try {
|
|
164
|
-
const updatedOffer = await ebay.sell.inventory.updateOffer(this.data().ebay_offer_payload.offerId, {
|
|
165
|
-
pricingSummary: {
|
|
166
|
-
price: {
|
|
167
|
-
value: this.data().price.toFixed(2)
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
listingPolicies: {
|
|
171
|
-
fulfillmentPolicyId: '',
|
|
172
|
-
paymentPolicyId: '',
|
|
173
|
-
returnPolicyId: ''
|
|
174
|
-
},
|
|
175
|
-
merchantLocationKey: ''
|
|
176
|
-
})
|
|
177
|
-
console.log('updatedOffer', updatedOffer)
|
|
178
|
-
await this.save({ ebay_offer_payload: updatedOffer })
|
|
179
|
-
return updatedOffer
|
|
180
|
-
} catch (error) {
|
|
181
|
-
errorMessage(`Error while deleting ebay publication`)
|
|
182
|
-
throw error
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
private _deleteEbayOffer = async (ebay: eBayApi) => {
|
|
187
|
-
try {
|
|
188
|
-
const deleteOffer = await ebay.sell.inventory.deleteOffer(this.data().ebay_offer_payload.offerId)
|
|
189
|
-
console.log('deleteOffer', deleteOffer)
|
|
190
|
-
await this.save({ ebay_offer_payload: deleteOffer })
|
|
191
|
-
return deleteOffer
|
|
192
|
-
} catch (error) {
|
|
193
|
-
errorMessage(`Error while deleting ebay publication`)
|
|
194
|
-
throw error
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
private _publishEbayOffer = async (ebay: eBayApi) => {
|
|
199
|
-
try {
|
|
200
|
-
const publishOffer = await ebay.sell.inventory.publishOffer(this.data().ebay_offer_payload.offerId)
|
|
201
|
-
console.log('publishOffer', publishOffer)
|
|
202
|
-
await this.save({ ebay_offer_payload: publishOffer })
|
|
203
|
-
return publishOffer
|
|
204
|
-
} catch (error) {
|
|
205
|
-
errorMessage(`Error while publishing ebay publication`)
|
|
206
|
-
throw error
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
public updateEbayPublication = async (space: Space) => {
|
|
211
|
-
try {
|
|
212
|
-
const parentProduct = await space.indexedProducts.get({
|
|
213
|
-
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
214
|
-
})
|
|
215
|
-
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
216
|
-
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
217
|
-
|
|
218
|
-
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
219
|
-
if (!!!product) throw new Error(`No product found`)
|
|
220
|
-
|
|
221
|
-
const productInventory = await space.inventoryItems.getOne(product.sku)
|
|
222
|
-
if (!!!productInventory) throw new Error(`No product inventory found`)
|
|
223
|
-
if (!!!productInventory.web_inventory) throw new Error(`No product web inventory found`)
|
|
224
|
-
if (!!!productInventory.web_inventory.available)
|
|
225
|
-
throw new Error(`No product web inventory quantity available found`)
|
|
226
|
-
if (toNumber(productInventory.web_inventory.available) < toNumber(this.data().quantity))
|
|
227
|
-
throw new Error(`Product web inventory quantity available is less than quantity`)
|
|
228
|
-
|
|
229
|
-
// call ebay service to update publication
|
|
230
|
-
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
231
|
-
await this._updateEbayOffer(ebay)
|
|
232
|
-
const updatePublication = await ebay.sell.inventory.createOrReplaceInventoryItem(this.data().sku, {
|
|
233
|
-
availability: {
|
|
234
|
-
shipToLocationAvailability: {
|
|
235
|
-
quantity: productInventory.web_inventory.available
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
condition: Condition.USED_EXCELLENT,
|
|
239
|
-
product: {
|
|
240
|
-
title: MarketplacePublication.convertDictionnaryToEbay(parentProduct[0].data().name, ebay),
|
|
241
|
-
brand: parentProduct[0].data().brand,
|
|
242
|
-
imageUrls: product.images_path.map((image) => image.img_path),
|
|
243
|
-
description: MarketplacePublication.convertDictionnaryToEbay(parentProduct[0].data().description, ebay)
|
|
244
|
-
}
|
|
245
|
-
} as SellInventoryItem)
|
|
246
|
-
|
|
247
|
-
console.log('updatePublication', updatePublication)
|
|
248
|
-
await this.save({ ebay_publication_payload: updatePublication })
|
|
249
|
-
return updatePublication
|
|
250
|
-
} catch (error) {
|
|
251
|
-
errorMessage(`Error while updating ebay publication`)
|
|
252
|
-
throw error
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
public createOrderFromEbayPublication = async (space: Space) => {
|
|
257
|
-
try {
|
|
258
|
-
const parentProduct = await space.indexedProducts.get({
|
|
259
|
-
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
260
|
-
})
|
|
261
|
-
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
262
|
-
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
263
|
-
|
|
264
|
-
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
265
|
-
if (!!!product) throw new Error(`No product found`)
|
|
266
|
-
|
|
267
|
-
const cartObj = new Cart(
|
|
268
|
-
{
|
|
269
|
-
cart_type: CartTypeEnum.WEB,
|
|
270
|
-
items: [
|
|
271
|
-
{
|
|
272
|
-
qte: this.data().quantity
|
|
273
|
-
}
|
|
274
|
-
]
|
|
275
|
-
},
|
|
276
|
-
this._collection,
|
|
277
|
-
this._user
|
|
278
|
-
)
|
|
279
|
-
|
|
280
|
-
cartObj.save()
|
|
281
|
-
|
|
282
|
-
// call ebay service to create order
|
|
283
|
-
|
|
284
|
-
return true
|
|
285
|
-
} catch (error) {
|
|
286
|
-
errorMessage(`Error while creating ebay publication order`)
|
|
287
|
-
throw error
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
public removeEbayPublication = async (space: Space) => {
|
|
292
|
-
try {
|
|
293
|
-
const parentProduct = await space.indexedProducts.get({
|
|
294
|
-
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
295
|
-
})
|
|
296
|
-
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
297
|
-
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
298
|
-
|
|
299
|
-
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
300
|
-
if (!!!product) throw new Error(`No product found`)
|
|
301
|
-
|
|
302
|
-
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
303
|
-
await this._deleteEbayOffer(ebay)
|
|
304
|
-
await ebay.sell.inventory.deleteInventoryItem(product.sku)
|
|
305
|
-
|
|
306
|
-
return true
|
|
307
|
-
} catch (error) {
|
|
308
|
-
errorMessage(`Error while removing ebay publication`)
|
|
309
|
-
throw error
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
public static connectionToEbay = (space: Space) => {
|
|
314
|
-
try {
|
|
315
|
-
const service = space
|
|
316
|
-
.data()
|
|
317
|
-
.external_services.find((service) => service.external_service_name === 'ebay' && !!service.is_active)
|
|
318
|
-
if (!!!service) throw new Error(`No ebay service found`)
|
|
319
|
-
|
|
320
|
-
const { appId, certId, sandbox = true, language, marketplaceId } = service.external_service_infos
|
|
321
|
-
|
|
322
|
-
const eBay = new eBayApi({
|
|
323
|
-
appId,
|
|
324
|
-
certId,
|
|
325
|
-
sandbox,
|
|
326
|
-
contentLanguage: language,
|
|
327
|
-
marketplaceId
|
|
328
|
-
})
|
|
329
|
-
console.log('connectionToEbay', eBay)
|
|
330
|
-
|
|
331
|
-
return eBay
|
|
332
|
-
} catch (error) {
|
|
333
|
-
throw error
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
public static convertDictionnaryToEbay = (dictionnary: ITranslation[], ebay: eBayApi) => {
|
|
338
|
-
return getLocaleOfDictionnary(
|
|
339
|
-
dictionnary,
|
|
340
|
-
!!ebay.config.contentLanguage ? ebay.config.contentLanguage.slice(0, 2) : undefined
|
|
341
|
-
)
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
public static generateOAuth2EbayTokenUrl = (ebay: eBayApi) => {
|
|
345
|
-
try {
|
|
346
|
-
//generate token
|
|
347
|
-
ebay.OAuth2.setScope([
|
|
348
|
-
'https://api.ebay.com/oauth/api_scope',
|
|
349
|
-
'https://api.ebay.com/oauth/api_scope/buy.order.readonly',
|
|
350
|
-
'https://api.ebay.com/oauth/api_scope/sell.marketing',
|
|
351
|
-
'https://api.ebay.com/oauth/api_scope/sell.inventory',
|
|
352
|
-
'https://api.ebay.com/oauth/api_scope/sell.fulfillment',
|
|
353
|
-
'https://api.ebay.com/oauth/api_scope/commerce.identity.readonly',
|
|
354
|
-
'https://api.ebay.com/oauth/api_scope/sell.item'
|
|
355
|
-
])
|
|
356
|
-
return ebay.OAuth2.generateAuthUrl()
|
|
357
|
-
} catch (error) {
|
|
358
|
-
throw error
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
public static getEbayTokenFromEbayCode = async (eBay: eBayApi, code: string) => {
|
|
363
|
-
try {
|
|
364
|
-
const token = await eBay.OAuth2.getToken(code)
|
|
365
|
-
return token
|
|
366
|
-
} catch (e) {
|
|
367
|
-
console.error(e)
|
|
368
|
-
}
|
|
369
|
-
} */
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
exports.default = MarketplacePublication;
|
|
373
|
-
_a = MarketplacePublication;
|
|
374
|
-
MarketplacePublication.getMarketplacePublicationObj = async (sku, collection, user) => {
|
|
375
|
-
try {
|
|
376
|
-
const marketplacePublicationDocs = await DatabaseService_1.default.getDocuments(collection, {
|
|
377
|
-
query: [{ field: 'sku', operator: '==', value: sku }]
|
|
378
|
-
});
|
|
379
|
-
if (!!!marketplacePublicationDocs.length)
|
|
380
|
-
return false;
|
|
381
|
-
const marketplacePublicationDoc = marketplacePublicationDocs[0];
|
|
382
|
-
if (!!!marketplacePublicationDoc.exists)
|
|
383
|
-
return false;
|
|
384
|
-
const marketplacePublicationObj = new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
385
|
-
path: collection
|
|
386
|
-
}, user);
|
|
387
|
-
return marketplacePublicationObj;
|
|
388
|
-
}
|
|
389
|
-
catch (error) {
|
|
390
|
-
(0, console_1.errorMessage)(`Error while getting marketplace publications with sku`);
|
|
391
|
-
return false;
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
MarketplacePublication.getMarketplacePublicationObjById = async (id, collection, user) => {
|
|
395
|
-
try {
|
|
396
|
-
const marketplacePublicationDoc = await DatabaseService_1.default.getDocument(collection, id);
|
|
397
|
-
if (!!!marketplacePublicationDoc.exists)
|
|
398
|
-
return false;
|
|
399
|
-
const marketplacePublicationObj = new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
400
|
-
path: collection
|
|
401
|
-
}, user);
|
|
402
|
-
return marketplacePublicationObj;
|
|
403
|
-
}
|
|
404
|
-
catch (error) {
|
|
405
|
-
(0, console_1.errorMessage)(`Error while getting marketplace publications with id`);
|
|
406
|
-
return false;
|
|
407
|
-
}
|
|
408
|
-
};
|
|
409
|
-
MarketplacePublication.getAllMarketplacePublicationsObjs = async (sku, collection, user) => {
|
|
410
|
-
try {
|
|
411
|
-
const marketplacePublicationDocs = await DatabaseService_1.default.getDocuments(collection, {
|
|
412
|
-
query: [{ field: 'sku', operator: '==', value: sku }]
|
|
413
|
-
});
|
|
414
|
-
if (!!!marketplacePublicationDocs.length)
|
|
415
|
-
return false;
|
|
416
|
-
return marketplacePublicationDocs.map((marketplacePublicationDoc) => {
|
|
417
|
-
return new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
418
|
-
path: collection
|
|
419
|
-
}, user);
|
|
420
|
-
});
|
|
421
|
-
}
|
|
422
|
-
catch (error) {
|
|
423
|
-
(0, console_1.errorMessage)(`Error while updating marketplace publications`);
|
|
424
|
-
return false;
|
|
425
|
-
}
|
|
426
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
var _a;
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const console_1 = require("../../utils/console");
|
|
8
|
+
const toNumber_1 = __importDefault(require("lodash/toNumber"));
|
|
9
|
+
const baseService_1 = require("../baseService");
|
|
10
|
+
const DatabaseService_1 = __importDefault(require("../../services/database/DatabaseService"));
|
|
11
|
+
class MarketplacePublication extends baseService_1.BaseServiceClass {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
/* private _createEbayInventoryLocation = async (ebay: eBayApi) => {
|
|
15
|
+
console.log('_createEbayInventoryLocation')
|
|
16
|
+
try {
|
|
17
|
+
await ebay.sell.inventory.createInventoryLocation('merchantLocationKey', {
|
|
18
|
+
location: {
|
|
19
|
+
address: {
|
|
20
|
+
addressLine1: '123 rue principale',
|
|
21
|
+
city: 'Québec',
|
|
22
|
+
country: CountryCode.CA,
|
|
23
|
+
postalCode: 'H3C2A3'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
} catch (error) {
|
|
28
|
+
errorMessage(`Error while creating ebay location`)
|
|
29
|
+
return false
|
|
30
|
+
}
|
|
31
|
+
} */
|
|
32
|
+
/* public updateEbayInventoryLocation = async (space: Space) => {
|
|
33
|
+
try {
|
|
34
|
+
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
35
|
+
await ebay.sell.inventory.updateInventoryLocation('merchantLocationKey', {})
|
|
36
|
+
} catch (error) {
|
|
37
|
+
errorMessage(`Error while deleting ebay location`)
|
|
38
|
+
return false
|
|
39
|
+
}
|
|
40
|
+
} */
|
|
41
|
+
/* public deleteEbayInventoryLocation = async (space: Space) => {
|
|
42
|
+
try {
|
|
43
|
+
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
44
|
+
await ebay.sell.inventory.deleteInventoryLocation('merchantLocationKey')
|
|
45
|
+
} catch (error) {
|
|
46
|
+
errorMessage(`Error while deleting ebay location`)
|
|
47
|
+
return false
|
|
48
|
+
}
|
|
49
|
+
} */
|
|
50
|
+
this.createEbayPublication = async (space) => {
|
|
51
|
+
try {
|
|
52
|
+
const service = space
|
|
53
|
+
.data()
|
|
54
|
+
.external_services.find((service) => service.external_service_name === 'ebay' && !!service.is_active);
|
|
55
|
+
if (!!!service)
|
|
56
|
+
throw new Error(`No ebay service found`);
|
|
57
|
+
if (!!!service.external_service_infos.token)
|
|
58
|
+
throw new Error(`No ebay token found`);
|
|
59
|
+
// const serviceToken = service.external_service_infos.token
|
|
60
|
+
const publicationsVerification = await MarketplacePublication.getAllMarketplacePublicationsObjs(this.data().sku, this._collection.path, this._user);
|
|
61
|
+
if (!!!publicationsVerification)
|
|
62
|
+
throw new Error('Publication not found');
|
|
63
|
+
if (!!!publicationsVerification.length)
|
|
64
|
+
throw new Error('Publication not found');
|
|
65
|
+
if (publicationsVerification.some((publication) => publication.data().id !== this.data().id)) {
|
|
66
|
+
throw new Error(`Publication with sku: ${this.data().sku} already exists`);
|
|
67
|
+
}
|
|
68
|
+
const parentProduct = await space.indexedProducts.get({
|
|
69
|
+
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
70
|
+
});
|
|
71
|
+
if (!!!parentProduct)
|
|
72
|
+
throw new Error(`No parent product found`);
|
|
73
|
+
if (!!!parentProduct[0])
|
|
74
|
+
throw new Error(`No parent product found`);
|
|
75
|
+
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku);
|
|
76
|
+
if (!!!product)
|
|
77
|
+
throw new Error(`No product found`);
|
|
78
|
+
const productInventory = await space.inventoryItems.getOne(product.sku);
|
|
79
|
+
if (!!!productInventory)
|
|
80
|
+
throw new Error(`No product inventory found`);
|
|
81
|
+
if (!!!productInventory.web_inventory)
|
|
82
|
+
throw new Error(`No product web inventory found`);
|
|
83
|
+
if (!!!productInventory.web_inventory.available)
|
|
84
|
+
throw new Error(`No product web inventory quantity available found`);
|
|
85
|
+
if ((0, toNumber_1.default)(productInventory.web_inventory.available) < (0, toNumber_1.default)(this.data().quantity))
|
|
86
|
+
throw new Error(`Product web inventory quantity available is less than quantity`);
|
|
87
|
+
// call ebay service to create publication
|
|
88
|
+
// const ebay = MarketplacePublication.connectionToEbay(space)
|
|
89
|
+
// ebay.OAuth2.setCredentials(serviceToken)
|
|
90
|
+
console.log('ebay connection done');
|
|
91
|
+
// await this._createEbayInventoryLocation(ebay)
|
|
92
|
+
console.log('createEbayInventoryLocation done');
|
|
93
|
+
// await this._createEbayInventory(ebay, productInventory.web_inventory.available, parentProduct[0], product)
|
|
94
|
+
console.log('createEbayInventory done');
|
|
95
|
+
// await this._createEbayOffer(ebay)
|
|
96
|
+
console.log('createEbayOffer done');
|
|
97
|
+
// await this._publishEbayOffer(ebay)
|
|
98
|
+
console.log('publishEbayOffer done');
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
(0, console_1.errorMessage)(`Error while creating ebay publication`);
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
/* private _createEbayInventory = async (
|
|
107
|
+
ebay: eBayApi,
|
|
108
|
+
available: number,
|
|
109
|
+
parentProduct: IndexedProduct,
|
|
110
|
+
product: IIndexedDeclination
|
|
111
|
+
) => {
|
|
112
|
+
try {
|
|
113
|
+
const createInventory = await ebay.sell.inventory.createOrReplaceInventoryItem(this.data().sku, {
|
|
114
|
+
availability: {
|
|
115
|
+
shipToLocationAvailability: {
|
|
116
|
+
quantity: available
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
condition: Condition.USED_EXCELLENT,
|
|
120
|
+
product: {
|
|
121
|
+
title: MarketplacePublication.convertDictionnaryToEbay(parentProduct.data().name, ebay),
|
|
122
|
+
brand: parentProduct.data().brand,
|
|
123
|
+
imageUrls: product.images_path.map((image) => image.img_path),
|
|
124
|
+
description: MarketplacePublication.convertDictionnaryToEbay(parentProduct.data().description, ebay)
|
|
125
|
+
}
|
|
126
|
+
} as SellInventoryItem)
|
|
127
|
+
console.log('createInventory', createInventory)
|
|
128
|
+
await this.save({ ebay_inventory_payload: createInventory })
|
|
129
|
+
return createInventory
|
|
130
|
+
} catch (error) {
|
|
131
|
+
errorMessage(`Error while creating ebay inventory`)
|
|
132
|
+
return false
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
*/
|
|
136
|
+
/* private _createEbayOffer = async (ebay: eBayApi) => {
|
|
137
|
+
try {
|
|
138
|
+
const ebayOffer = await ebay.sell.inventory.createOffer({
|
|
139
|
+
sku: this.data().sku,
|
|
140
|
+
marketplaceId: ebay.config.marketplaceId as unknown as Marketplace,
|
|
141
|
+
format: FormatType.FIXED_PRICE,
|
|
142
|
+
listingPolicies: {
|
|
143
|
+
fulfillmentPolicyId: '',
|
|
144
|
+
paymentPolicyId: '',
|
|
145
|
+
returnPolicyId: ''
|
|
146
|
+
},
|
|
147
|
+
merchantLocationKey: '',
|
|
148
|
+
pricingSummary: {
|
|
149
|
+
price: {
|
|
150
|
+
value: this.data().price.toFixed(2)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
})
|
|
154
|
+
console.log('ebayoffer', ebayOffer)
|
|
155
|
+
await this.save({ ebay_offer_payload: ebayOffer })
|
|
156
|
+
return ebayOffer
|
|
157
|
+
} catch (error) {
|
|
158
|
+
errorMessage(`Error while publishing ebay publication`)
|
|
159
|
+
throw error
|
|
160
|
+
}
|
|
161
|
+
} */
|
|
162
|
+
/* private _updateEbayOffer = async (ebay: eBayApi) => {
|
|
163
|
+
try {
|
|
164
|
+
const updatedOffer = await ebay.sell.inventory.updateOffer(this.data().ebay_offer_payload.offerId, {
|
|
165
|
+
pricingSummary: {
|
|
166
|
+
price: {
|
|
167
|
+
value: this.data().price.toFixed(2)
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
listingPolicies: {
|
|
171
|
+
fulfillmentPolicyId: '',
|
|
172
|
+
paymentPolicyId: '',
|
|
173
|
+
returnPolicyId: ''
|
|
174
|
+
},
|
|
175
|
+
merchantLocationKey: ''
|
|
176
|
+
})
|
|
177
|
+
console.log('updatedOffer', updatedOffer)
|
|
178
|
+
await this.save({ ebay_offer_payload: updatedOffer })
|
|
179
|
+
return updatedOffer
|
|
180
|
+
} catch (error) {
|
|
181
|
+
errorMessage(`Error while deleting ebay publication`)
|
|
182
|
+
throw error
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
private _deleteEbayOffer = async (ebay: eBayApi) => {
|
|
187
|
+
try {
|
|
188
|
+
const deleteOffer = await ebay.sell.inventory.deleteOffer(this.data().ebay_offer_payload.offerId)
|
|
189
|
+
console.log('deleteOffer', deleteOffer)
|
|
190
|
+
await this.save({ ebay_offer_payload: deleteOffer })
|
|
191
|
+
return deleteOffer
|
|
192
|
+
} catch (error) {
|
|
193
|
+
errorMessage(`Error while deleting ebay publication`)
|
|
194
|
+
throw error
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
private _publishEbayOffer = async (ebay: eBayApi) => {
|
|
199
|
+
try {
|
|
200
|
+
const publishOffer = await ebay.sell.inventory.publishOffer(this.data().ebay_offer_payload.offerId)
|
|
201
|
+
console.log('publishOffer', publishOffer)
|
|
202
|
+
await this.save({ ebay_offer_payload: publishOffer })
|
|
203
|
+
return publishOffer
|
|
204
|
+
} catch (error) {
|
|
205
|
+
errorMessage(`Error while publishing ebay publication`)
|
|
206
|
+
throw error
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
public updateEbayPublication = async (space: Space) => {
|
|
211
|
+
try {
|
|
212
|
+
const parentProduct = await space.indexedProducts.get({
|
|
213
|
+
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
214
|
+
})
|
|
215
|
+
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
216
|
+
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
217
|
+
|
|
218
|
+
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
219
|
+
if (!!!product) throw new Error(`No product found`)
|
|
220
|
+
|
|
221
|
+
const productInventory = await space.inventoryItems.getOne(product.sku)
|
|
222
|
+
if (!!!productInventory) throw new Error(`No product inventory found`)
|
|
223
|
+
if (!!!productInventory.web_inventory) throw new Error(`No product web inventory found`)
|
|
224
|
+
if (!!!productInventory.web_inventory.available)
|
|
225
|
+
throw new Error(`No product web inventory quantity available found`)
|
|
226
|
+
if (toNumber(productInventory.web_inventory.available) < toNumber(this.data().quantity))
|
|
227
|
+
throw new Error(`Product web inventory quantity available is less than quantity`)
|
|
228
|
+
|
|
229
|
+
// call ebay service to update publication
|
|
230
|
+
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
231
|
+
await this._updateEbayOffer(ebay)
|
|
232
|
+
const updatePublication = await ebay.sell.inventory.createOrReplaceInventoryItem(this.data().sku, {
|
|
233
|
+
availability: {
|
|
234
|
+
shipToLocationAvailability: {
|
|
235
|
+
quantity: productInventory.web_inventory.available
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
condition: Condition.USED_EXCELLENT,
|
|
239
|
+
product: {
|
|
240
|
+
title: MarketplacePublication.convertDictionnaryToEbay(parentProduct[0].data().name, ebay),
|
|
241
|
+
brand: parentProduct[0].data().brand,
|
|
242
|
+
imageUrls: product.images_path.map((image) => image.img_path),
|
|
243
|
+
description: MarketplacePublication.convertDictionnaryToEbay(parentProduct[0].data().description, ebay)
|
|
244
|
+
}
|
|
245
|
+
} as SellInventoryItem)
|
|
246
|
+
|
|
247
|
+
console.log('updatePublication', updatePublication)
|
|
248
|
+
await this.save({ ebay_publication_payload: updatePublication })
|
|
249
|
+
return updatePublication
|
|
250
|
+
} catch (error) {
|
|
251
|
+
errorMessage(`Error while updating ebay publication`)
|
|
252
|
+
throw error
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
public createOrderFromEbayPublication = async (space: Space) => {
|
|
257
|
+
try {
|
|
258
|
+
const parentProduct = await space.indexedProducts.get({
|
|
259
|
+
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
260
|
+
})
|
|
261
|
+
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
262
|
+
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
263
|
+
|
|
264
|
+
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
265
|
+
if (!!!product) throw new Error(`No product found`)
|
|
266
|
+
|
|
267
|
+
const cartObj = new Cart(
|
|
268
|
+
{
|
|
269
|
+
cart_type: CartTypeEnum.WEB,
|
|
270
|
+
items: [
|
|
271
|
+
{
|
|
272
|
+
qte: this.data().quantity
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
this._collection,
|
|
277
|
+
this._user
|
|
278
|
+
)
|
|
279
|
+
|
|
280
|
+
cartObj.save()
|
|
281
|
+
|
|
282
|
+
// call ebay service to create order
|
|
283
|
+
|
|
284
|
+
return true
|
|
285
|
+
} catch (error) {
|
|
286
|
+
errorMessage(`Error while creating ebay publication order`)
|
|
287
|
+
throw error
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
public removeEbayPublication = async (space: Space) => {
|
|
292
|
+
try {
|
|
293
|
+
const parentProduct = await space.indexedProducts.get({
|
|
294
|
+
query: [{ field: 'slug', operator: '==', value: this.data().parent_slug }]
|
|
295
|
+
})
|
|
296
|
+
if (!!!parentProduct) throw new Error(`No parent product found`)
|
|
297
|
+
if (!!!parentProduct[0]) throw new Error(`No parent product found`)
|
|
298
|
+
|
|
299
|
+
const product = parentProduct[0].data().declinations.find((declination) => declination.sku === this.data().sku)
|
|
300
|
+
if (!!!product) throw new Error(`No product found`)
|
|
301
|
+
|
|
302
|
+
const ebay = MarketplacePublication.connectionToEbay(space)
|
|
303
|
+
await this._deleteEbayOffer(ebay)
|
|
304
|
+
await ebay.sell.inventory.deleteInventoryItem(product.sku)
|
|
305
|
+
|
|
306
|
+
return true
|
|
307
|
+
} catch (error) {
|
|
308
|
+
errorMessage(`Error while removing ebay publication`)
|
|
309
|
+
throw error
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
public static connectionToEbay = (space: Space) => {
|
|
314
|
+
try {
|
|
315
|
+
const service = space
|
|
316
|
+
.data()
|
|
317
|
+
.external_services.find((service) => service.external_service_name === 'ebay' && !!service.is_active)
|
|
318
|
+
if (!!!service) throw new Error(`No ebay service found`)
|
|
319
|
+
|
|
320
|
+
const { appId, certId, sandbox = true, language, marketplaceId } = service.external_service_infos
|
|
321
|
+
|
|
322
|
+
const eBay = new eBayApi({
|
|
323
|
+
appId,
|
|
324
|
+
certId,
|
|
325
|
+
sandbox,
|
|
326
|
+
contentLanguage: language,
|
|
327
|
+
marketplaceId
|
|
328
|
+
})
|
|
329
|
+
console.log('connectionToEbay', eBay)
|
|
330
|
+
|
|
331
|
+
return eBay
|
|
332
|
+
} catch (error) {
|
|
333
|
+
throw error
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
public static convertDictionnaryToEbay = (dictionnary: ITranslation[], ebay: eBayApi) => {
|
|
338
|
+
return getLocaleOfDictionnary(
|
|
339
|
+
dictionnary,
|
|
340
|
+
!!ebay.config.contentLanguage ? ebay.config.contentLanguage.slice(0, 2) : undefined
|
|
341
|
+
)
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
public static generateOAuth2EbayTokenUrl = (ebay: eBayApi) => {
|
|
345
|
+
try {
|
|
346
|
+
//generate token
|
|
347
|
+
ebay.OAuth2.setScope([
|
|
348
|
+
'https://api.ebay.com/oauth/api_scope',
|
|
349
|
+
'https://api.ebay.com/oauth/api_scope/buy.order.readonly',
|
|
350
|
+
'https://api.ebay.com/oauth/api_scope/sell.marketing',
|
|
351
|
+
'https://api.ebay.com/oauth/api_scope/sell.inventory',
|
|
352
|
+
'https://api.ebay.com/oauth/api_scope/sell.fulfillment',
|
|
353
|
+
'https://api.ebay.com/oauth/api_scope/commerce.identity.readonly',
|
|
354
|
+
'https://api.ebay.com/oauth/api_scope/sell.item'
|
|
355
|
+
])
|
|
356
|
+
return ebay.OAuth2.generateAuthUrl()
|
|
357
|
+
} catch (error) {
|
|
358
|
+
throw error
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
public static getEbayTokenFromEbayCode = async (eBay: eBayApi, code: string) => {
|
|
363
|
+
try {
|
|
364
|
+
const token = await eBay.OAuth2.getToken(code)
|
|
365
|
+
return token
|
|
366
|
+
} catch (e) {
|
|
367
|
+
console.error(e)
|
|
368
|
+
}
|
|
369
|
+
} */
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
exports.default = MarketplacePublication;
|
|
373
|
+
_a = MarketplacePublication;
|
|
374
|
+
MarketplacePublication.getMarketplacePublicationObj = async (sku, collection, user) => {
|
|
375
|
+
try {
|
|
376
|
+
const marketplacePublicationDocs = await DatabaseService_1.default.getDocuments(collection, {
|
|
377
|
+
query: [{ field: 'sku', operator: '==', value: sku }]
|
|
378
|
+
});
|
|
379
|
+
if (!!!marketplacePublicationDocs.length)
|
|
380
|
+
return false;
|
|
381
|
+
const marketplacePublicationDoc = marketplacePublicationDocs[0];
|
|
382
|
+
if (!!!marketplacePublicationDoc.exists)
|
|
383
|
+
return false;
|
|
384
|
+
const marketplacePublicationObj = new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
385
|
+
path: collection
|
|
386
|
+
}, user);
|
|
387
|
+
return marketplacePublicationObj;
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
(0, console_1.errorMessage)(`Error while getting marketplace publications with sku`);
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
};
|
|
394
|
+
MarketplacePublication.getMarketplacePublicationObjById = async (id, collection, user) => {
|
|
395
|
+
try {
|
|
396
|
+
const marketplacePublicationDoc = await DatabaseService_1.default.getDocument(collection, id);
|
|
397
|
+
if (!!!marketplacePublicationDoc.exists)
|
|
398
|
+
return false;
|
|
399
|
+
const marketplacePublicationObj = new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
400
|
+
path: collection
|
|
401
|
+
}, user);
|
|
402
|
+
return marketplacePublicationObj;
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
(0, console_1.errorMessage)(`Error while getting marketplace publications with id`);
|
|
406
|
+
return false;
|
|
407
|
+
}
|
|
408
|
+
};
|
|
409
|
+
MarketplacePublication.getAllMarketplacePublicationsObjs = async (sku, collection, user) => {
|
|
410
|
+
try {
|
|
411
|
+
const marketplacePublicationDocs = await DatabaseService_1.default.getDocuments(collection, {
|
|
412
|
+
query: [{ field: 'sku', operator: '==', value: sku }]
|
|
413
|
+
});
|
|
414
|
+
if (!!!marketplacePublicationDocs.length)
|
|
415
|
+
return false;
|
|
416
|
+
return marketplacePublicationDocs.map((marketplacePublicationDoc) => {
|
|
417
|
+
return new MarketplacePublication(Object.assign(Object.assign({}, marketplacePublicationDoc.data), { id: marketplacePublicationDoc.id }), {
|
|
418
|
+
path: collection
|
|
419
|
+
}, user);
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
(0, console_1.errorMessage)(`Error while updating marketplace publications`);
|
|
424
|
+
return false;
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
427
|
//# sourceMappingURL=index.js.map
|