@isoftdata/ebay-utility 1.2.0 → 1.3.0
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/lib/adapters/itrack/ItrackAdapter.d.ts +1 -8
- package/lib/adapters/itrack/ItrackAdapter.d.ts.map +1 -1
- package/lib/adapters/itrack/ItrackAdapter.js +1 -36
- package/lib/adapters/itrack/ItrackAdapter.js.map +1 -1
- package/lib/infrastructure/mysql/MysqlDatastore.d.ts +3 -3
- package/lib/infrastructure/mysql/MysqlDatastore.d.ts.map +1 -1
- package/lib/infrastructure/mysql/MysqlDatastore.js +21 -28
- package/lib/infrastructure/mysql/MysqlDatastore.js.map +1 -1
- package/lib/infrastructure/mysql/getPool.d.ts +2 -2
- package/lib/infrastructure/mysql/getPool.d.ts.map +1 -1
- package/lib/infrastructure/mysql/getPool.js +1 -1
- package/lib/infrastructure/mysql/getPool.js.map +1 -1
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.js +3 -3
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.js.map +1 -1
- package/lib/utils/utils.d.ts.map +1 -1
- package/lib/utils/utils.js.map +1 -1
- package/package.json +56 -59
- package/lib/adapters/test-error-preservation.d.ts +0 -9
- package/lib/adapters/test-error-preservation.d.ts.map +0 -1
- package/lib/adapters/test-error-preservation.js +0 -203
- package/lib/adapters/test-error-preservation.js.map +0 -1
- package/lib/entities/itrack/FulfillmentPolicy.d.ts +0 -10
- package/lib/entities/itrack/FulfillmentPolicy.d.ts.map +0 -1
- package/lib/entities/itrack/FulfillmentPolicy.js +0 -2
- package/lib/entities/itrack/FulfillmentPolicy.js.map +0 -1
- package/lib/entities/itrack/ItrackEbayInventoryItem.js +0 -25
- package/lib/entities/itrack/ItrackEbayInventoryItem.js.map +0 -1
- package/lib/entities/itrack/ItrackEbayListing.d.ts +0 -45
- package/lib/entities/itrack/ItrackEbayListing.d.ts.map +0 -1
- package/lib/entities/itrack/ItrackEbayListing.js +0 -25
- package/lib/entities/itrack/ItrackEbayListing.js.map +0 -1
- package/lib/entities/itrack/PaymentPolicy.d.ts +0 -10
- package/lib/entities/itrack/PaymentPolicy.d.ts.map +0 -1
- package/lib/entities/itrack/PaymentPolicy.js +0 -2
- package/lib/entities/itrack/PaymentPolicy.js.map +0 -1
- package/lib/entities/itrack/ReturnPolicy.d.ts +0 -10
- package/lib/entities/itrack/ReturnPolicy.d.ts.map +0 -1
- package/lib/entities/itrack/ReturnPolicy.js +0 -2
- package/lib/entities/itrack/ReturnPolicy.js.map +0 -1
- package/lib/repositories/itrack/EbayInventoryItemRowRepo.d.ts +0 -27
- package/lib/repositories/itrack/EbayInventoryItemRowRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/EbayInventoryItemRowRepo.js +0 -2
- package/lib/repositories/itrack/EbayInventoryItemRowRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js +0 -35
- package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayInventoryItemRepo.js +0 -75
- package/lib/repositories/itrack/ItrackEbayInventoryItemRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayListingRepo.d.ts +0 -8
- package/lib/repositories/itrack/ItrackEbayListingRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackEbayListingRepo.js +0 -66
- package/lib/repositories/itrack/ItrackEbayListingRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js +0 -35
- package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js +0 -34
- package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.js +0 -35
- package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackPaymentPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackPaymentPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js +0 -35
- package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js.map +0 -1
- package/lib/repositories/itrack/ItrackReturnPolicyRepo.d.ts +0 -11
- package/lib/repositories/itrack/ItrackReturnPolicyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackReturnPolicyRepo.js +0 -34
- package/lib/repositories/itrack/ItrackReturnPolicyRepo.js.map +0 -1
- package/lib/repositories/test-error-preservation.d.ts +0 -45
- package/lib/repositories/test-error-preservation.d.ts.map +0 -1
- package/lib/repositories/test-error-preservation.js +0 -125
- package/lib/repositories/test-error-preservation.js.map +0 -1
- package/lib/tests/processImageUrlTest.d.ts +0 -29
- package/lib/tests/processImageUrlTest.d.ts.map +0 -1
- package/lib/tests/processImageUrlTest.js +0 -402
- package/lib/tests/processImageUrlTest.js.map +0 -1
- package/lib/tests/test.d.ts +0 -2
- package/lib/tests/test.d.ts.map +0 -1
- package/lib/tests/test.js +0 -130
- package/lib/tests/test.js.map +0 -1
- package/lib/tests/tests.js +0 -130
- package/lib/tests/tests.js.map +0 -1
- package/lib/types/ErrorPreservation.d.ts +0 -154
- package/lib/types/ErrorPreservation.d.ts.map +0 -1
- package/lib/types/ErrorPreservation.js +0 -357
- package/lib/types/ErrorPreservation.js.map +0 -1
- package/lib/types/MysqlResponse.d.ts +0 -123
- package/lib/types/MysqlResponse.d.ts.map +0 -1
- package/lib/types/MysqlResponse.js +0 -236
- package/lib/types/MysqlResponse.js.map +0 -1
- package/lib/types/UseCaseResult.examples.d.ts +0 -42
- package/lib/types/UseCaseResult.examples.d.ts.map +0 -1
- package/lib/types/UseCaseResult.examples.js +0 -168
- package/lib/types/UseCaseResult.examples.js.map +0 -1
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts +0 -8
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts.map +0 -1
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js +0 -5
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js.map +0 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts +0 -7
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts.map +0 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js +0 -5
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js.map +0 -1
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts +0 -8
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts.map +0 -1
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js +0 -5
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js.map +0 -1
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts +0 -11
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts.map +0 -1
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js +0 -60
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js.map +0 -1
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts +0 -8
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts.map +0 -1
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js +0 -5
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js.map +0 -1
- package/lib/usecases/Inventory/ConvertInventoryItemToSku.js +0 -54
- package/lib/usecases/Inventory/ConvertInventoryItemToSku.js.map +0 -1
- package/lib/usecases/Listing/GetListingFromProduct.js +0 -15
- package/lib/usecases/Listing/GetListingFromProduct.js.map +0 -1
- package/lib/usecases/Listing/PushListingToEbay.js +0 -31
- package/lib/usecases/Listing/PushListingToEbay.js.map +0 -1
- package/lib/usecases/Listing/SyncListing.js +0 -182
- package/lib/usecases/Listing/SyncListing.js.map +0 -1
- package/lib/usecases/Listing_old/GetListingFromProduct.d.ts +0 -8
- package/lib/usecases/Listing_old/GetListingFromProduct.d.ts.map +0 -1
- package/lib/usecases/Listing_old/GetListingFromProduct.js +0 -6
- package/lib/usecases/Listing_old/GetListingFromProduct.js.map +0 -1
- package/lib/usecases/Listing_old/PushListingToEbay.d.ts +0 -16
- package/lib/usecases/Listing_old/PushListingToEbay.d.ts.map +0 -1
- package/lib/usecases/Listing_old/PushListingToEbay.js +0 -22
- package/lib/usecases/Listing_old/PushListingToEbay.js.map +0 -1
- package/lib/usecases/Listing_old/SyncListing.d.ts +0 -11
- package/lib/usecases/Listing_old/SyncListing.d.ts.map +0 -1
- package/lib/usecases/Listing_old/SyncListing.js +0 -173
- package/lib/usecases/Listing_old/SyncListing.js.map +0 -1
- package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.d.ts +0 -22
- package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.d.ts.map +0 -1
- package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.js +0 -67
- package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.js.map +0 -1
- package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.d.ts +0 -17
- package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.d.ts.map +0 -1
- package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.js +0 -66
- package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.js.map +0 -1
- package/lib/usecases/Offer/CreateEbayOffer.d.ts +0 -11
- package/lib/usecases/Offer/CreateEbayOffer.d.ts.map +0 -1
- package/lib/usecases/Offer/CreateEbayOffer.js +0 -31
- package/lib/usecases/Offer/CreateEbayOffer.js.map +0 -1
- package/lib/usecases/Offer/SyncEbayOffer.d.ts +0 -20
- package/lib/usecases/Offer/SyncEbayOffer.d.ts.map +0 -1
- package/lib/usecases/Offer/SyncEbayOffer.js +0 -49
- package/lib/usecases/Offer/SyncEbayOffer.js.map +0 -1
- package/lib/usecases/Offer/createOfferSample.d.ts +0 -1
- package/lib/usecases/Offer/createOfferSample.d.ts.map +0 -1
- package/lib/usecases/Offer/createOfferSample.js +0 -230
- package/lib/usecases/Offer/createOfferSample.js.map +0 -1
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts +0 -8
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts.map +0 -1
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js +0 -5
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js.map +0 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts +0 -7
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts.map +0 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js +0 -5
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js.map +0 -1
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts +0 -8
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts.map +0 -1
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js +0 -5
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js.map +0 -1
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts +0 -8
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts.map +0 -1
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js +0 -5
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js.map +0 -1
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts +0 -8
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts.map +0 -1
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js +0 -5
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js.map +0 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts +0 -7
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts.map +0 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js +0 -5
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js.map +0 -1
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts +0 -8
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts.map +0 -1
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js +0 -5
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js.map +0 -1
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts +0 -8
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts.map +0 -1
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js +0 -5
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js.map +0 -1
- package/lib/usecases/integration.test.d.ts +0 -33
- package/lib/usecases/integration.test.d.ts.map +0 -1
- package/lib/usecases/integration.test.js +0 -499
- package/lib/usecases/integration.test.js.map +0 -1
- /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.d.ts → ConvertItrackListingToEbayInventoryAndOffer.d.ts} +0 -0
- /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.d.ts.map → ConvertItrackListingToEbayInventoryAndOffer.d.ts.map} +0 -0
- /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.js → ConvertItrackListingToEbayInventoryAndOffer.js} +0 -0
- /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.js.map → ConvertItrackListingToEbayInventoryAndOffer.js.map} +0 -0
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { getListingFromProduct } from './GetListingFromProduct.js';
|
|
2
|
-
import { getFulfillmentPoliciesFromEbay } from '../FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.js';
|
|
3
|
-
import { getPaymentPoliciesFromEbay } from '../PaymentPolicy/GetPaymentPoliciesFromEbay.js';
|
|
4
|
-
import { getReturnPoliciesFromEbay } from '../ReturnPolicy/GetReturnPoliciesFromEbay.js';
|
|
5
|
-
import { FormatTypeEnum } from '../../entities/ebay/Offer.js';
|
|
6
|
-
import { pushListingToEbay } from './PushListingToEbay.js';
|
|
7
|
-
// // call the necessary functions from the services and repositories but not include the
|
|
8
|
-
// // details of that logic here...it just coordinates the sequence of operations
|
|
9
|
-
export const syncListing = async (params) => {
|
|
10
|
-
// Step 1: Fetch the record from the ITrack database
|
|
11
|
-
const mysql = { table: "inventory", id: params.id };
|
|
12
|
-
const listingFromProduct = await getListingFromProduct({
|
|
13
|
-
id: params.id,
|
|
14
|
-
itrackAdapter: params.itrackAdapter,
|
|
15
|
-
});
|
|
16
|
-
// Step 2: Check if the record has a destination store, skip if not
|
|
17
|
-
if (!params.tokenManager.validStores.includes(listingFromProduct.ebay.merchant_location_key)) {
|
|
18
|
-
console.log("No destination store, skipping.");
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
// Step 3: Get fulfillment policies from eBay for the IDs
|
|
22
|
-
const fulfillmentPolicyResponse = await params.ebayAdapter.getFulfillmentPolicyByName(listingFromProduct.ebay.fulfillment_policy, listingFromProduct.ebay.marketplace_id);
|
|
23
|
-
if (fulfillmentPolicyResponse.success === false) {
|
|
24
|
-
if (fulfillmentPolicyResponse.error.status === 404) {
|
|
25
|
-
const fulfillmentPoliciesResponse = await getFulfillmentPoliciesFromEbay({
|
|
26
|
-
ebayAdapter: params.ebayAdapter,
|
|
27
|
-
});
|
|
28
|
-
if (fulfillmentPoliciesResponse.success) {
|
|
29
|
-
const fulfillmentPolicies = fulfillmentPoliciesResponse.data.fulfillmentPolicies.map(p => p.name);
|
|
30
|
-
console.error({
|
|
31
|
-
message: `Fulfillment Policy "${listingFromProduct.ebay.fulfillment_policy}" doesn't exist!`,
|
|
32
|
-
data: { fulfillmentPolicies, fulfillmentPolicyResponse },
|
|
33
|
-
context: "Ebay Adapter",
|
|
34
|
-
mysql,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
console.error({
|
|
39
|
-
message: `Fulfillment Policy "${listingFromProduct.ebay.fulfillment_policy}" doesn't exist!`,
|
|
40
|
-
data: { fulfillmentPolicies: "could not retreive", fulfillmentPolicyResponse },
|
|
41
|
-
context: "Ebay Adapter",
|
|
42
|
-
mysql,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
console.error({
|
|
48
|
-
message: "Unknown Error when fetching Fulfillment Policy!",
|
|
49
|
-
data: fulfillmentPolicyResponse,
|
|
50
|
-
context: "Ebay Adapter",
|
|
51
|
-
mysql,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
// If we can't use the assigned fulfillment policy, this is currently a fatal error as all items use the same policy.
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
// Step 4: Get payment policies from eBay
|
|
58
|
-
const paymentPolicyResponse = await params.ebayAdapter.getPaymentPolicyByName(listingFromProduct.ebay.payment_policy, listingFromProduct.ebay.marketplace_id);
|
|
59
|
-
if (paymentPolicyResponse.success === false) {
|
|
60
|
-
if (paymentPolicyResponse.error.status === 404) {
|
|
61
|
-
const paymentPoliciesResponse = await getPaymentPoliciesFromEbay({
|
|
62
|
-
ebayAdapter: params.ebayAdapter,
|
|
63
|
-
});
|
|
64
|
-
if (paymentPoliciesResponse.success) {
|
|
65
|
-
const paymentPolicies = paymentPoliciesResponse.data.paymentPolicies.map(p => p.name);
|
|
66
|
-
console.error({
|
|
67
|
-
message: `Payment Policy "${listingFromProduct.ebay.payment_policy}" doesn't exist!`,
|
|
68
|
-
data: { paymentPolicies, paymentPolicyResponse },
|
|
69
|
-
context: "Ebay Adapter",
|
|
70
|
-
mysql,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
console.error({
|
|
75
|
-
message: `Payment Policy "${listingFromProduct.ebay.payment_policy}" doesn't exist!`,
|
|
76
|
-
data: { paymentPolicies: "could not retrieve", paymentPolicyResponse },
|
|
77
|
-
context: "Ebay Adapter",
|
|
78
|
-
mysql,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
console.error({
|
|
84
|
-
message: "Unknown Error when fetching Payment Policy!",
|
|
85
|
-
data: paymentPolicyResponse,
|
|
86
|
-
context: "Ebay Adapter",
|
|
87
|
-
mysql,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// If we can't use the assigned payment policy, this is currently a fatal error as all items use the same policy.
|
|
91
|
-
process.exit(1);
|
|
92
|
-
}
|
|
93
|
-
// Step 5: Get return policies from eBay
|
|
94
|
-
const returnPolicyResponse = await params.ebayAdapter.getReturnPolicyByName(listingFromProduct.ebay.return_policy, listingFromProduct.ebay.marketplace_id);
|
|
95
|
-
if (returnPolicyResponse.success === false) {
|
|
96
|
-
if (returnPolicyResponse.error.status === 404) {
|
|
97
|
-
const returnPoliciesFull = await getReturnPoliciesFromEbay({
|
|
98
|
-
ebayAdapter: params.ebayAdapter,
|
|
99
|
-
});
|
|
100
|
-
if (returnPoliciesFull.success) {
|
|
101
|
-
const returnPolicies = returnPoliciesFull.data.returnPolicies.map(p => p.name);
|
|
102
|
-
console.error({
|
|
103
|
-
message: `Return Policy "${listingFromProduct.ebay.return_policy}" doesn't exist!`,
|
|
104
|
-
data: { returnPolicies, returnPolicyResponse },
|
|
105
|
-
context: "Ebay Adapter",
|
|
106
|
-
mysql,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
console.error({
|
|
111
|
-
message: `Return Policy "${listingFromProduct.ebay.return_policy}" doesn't exist!`,
|
|
112
|
-
data: { returnPolices: "could not retreive", returnPolicyResponse },
|
|
113
|
-
context: "Ebay Adapter",
|
|
114
|
-
mysql,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
console.error({
|
|
120
|
-
message: "Unknown Error when fetching Return Policy!",
|
|
121
|
-
data: returnPolicyResponse,
|
|
122
|
-
context: "Ebay Adapter",
|
|
123
|
-
mysql,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
// If we can't use the assigned payment policy, this is currently a fatal error as all items use the same policy.
|
|
127
|
-
process.exit(1);
|
|
128
|
-
}
|
|
129
|
-
// Step 6: Gather required documents?
|
|
130
|
-
const fulfillmentPolicy = fulfillmentPolicyResponse.data;
|
|
131
|
-
const paymentPolicy = paymentPolicyResponse.data;
|
|
132
|
-
const returnPolicy = returnPolicyResponse.data;
|
|
133
|
-
// Step 7: Convert the ITrack record to an eBay product
|
|
134
|
-
const inventoryItem = {
|
|
135
|
-
condition: listingFromProduct.ebay.condition,
|
|
136
|
-
conditionDescription: listingFromProduct.ebay.conditionDescription,
|
|
137
|
-
product: {
|
|
138
|
-
description: listingFromProduct.ebay.description,
|
|
139
|
-
title: listingFromProduct.ebay.title,
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
// Step 8: Conver to Offer
|
|
143
|
-
const offer = {
|
|
144
|
-
categoryId: listingFromProduct.ebay.category_id,
|
|
145
|
-
format: FormatTypeEnum.FixedPrice,
|
|
146
|
-
sku: listingFromProduct.ebay.sku,
|
|
147
|
-
marketplaceId: listingFromProduct.ebay.marketplace,
|
|
148
|
-
listingPolicies: {
|
|
149
|
-
fulfillmentPolicyId: fulfillmentPolicy.fulfillmentPolicyId,
|
|
150
|
-
paymentPolicyId: paymentPolicy.paymentPolicyId,
|
|
151
|
-
returnPolicyId: returnPolicy.returnPolicyId,
|
|
152
|
-
},
|
|
153
|
-
merchantLocationKey: listingFromProduct.ebay.merchant_location_key,
|
|
154
|
-
pricingSummary: {
|
|
155
|
-
price: {
|
|
156
|
-
currency: listingFromProduct.ebay.price_currency,
|
|
157
|
-
value: listingFromProduct.ebay.price_value,
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
// Step 9: Push the listing to eBay
|
|
162
|
-
pushListingToEbay({
|
|
163
|
-
ebayAdapter: params.ebayAdapter,
|
|
164
|
-
listing: {
|
|
165
|
-
inventoryItem,
|
|
166
|
-
offer,
|
|
167
|
-
shouldBeOnEbay: listingFromProduct.shouldBeOnEbay,
|
|
168
|
-
sku: listingFromProduct.ebay.sku,
|
|
169
|
-
},
|
|
170
|
-
inventoryId: params.id
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
//# sourceMappingURL=SyncListing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncListing.js","sourceRoot":"","sources":["../../../src/usecases/Listing_old/SyncListing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { InventoryItem } from "../../entities/ebay/InventoryItem.js";
|
|
2
|
-
import { EbayOfferDetails, FormatTypeEnum } from "../../entities/ebay/Offer.js";
|
|
3
|
-
import { MarketplaceEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
4
|
-
import { InventoryListingDetail } from "../../entities/itrack/InventoryListingDetail.js";
|
|
5
|
-
import { ItrackEbayDefaults, ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
|
|
6
|
-
export interface ItrackListingToEbayOfferInput {
|
|
7
|
-
ebayDefaults: ItrackEbayDefaults;
|
|
8
|
-
inventoryListingDetail: InventoryListingDetail;
|
|
9
|
-
itrackAdapter: ItrackAdapter;
|
|
10
|
-
}
|
|
11
|
-
export interface OfferWithInventoryAndSku {
|
|
12
|
-
sku: string;
|
|
13
|
-
ebayInventoryItem: InventoryItem;
|
|
14
|
-
listingDetails: Partial<EbayOfferDetails> & {
|
|
15
|
-
categoryId: string;
|
|
16
|
-
format: FormatTypeEnum;
|
|
17
|
-
marketplaceId: MarketplaceEnum;
|
|
18
|
-
merchantLocationKey: string;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export declare const convertItrackListingToEbayOffer: (params: ItrackListingToEbayOfferInput) => Promise<OfferWithInventoryAndSku>;
|
|
22
|
-
//# sourceMappingURL=ConvertItrackInventoryListingDetailToEbayOffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertItrackInventoryListingDetailToEbayOffer.d.ts","sourceRoot":"","sources":["../../../src/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAIpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAG1F,MAAM,WAAW,6BAA6B;IAC1C,YAAY,EAAE,kBAAkB,CAAC;IACjC,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,aAAa,EAAE,aAAa,CAAA;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,aAAa,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG;QACxC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,cAAc,CAAC;QACvB,aAAa,EAAE,eAAe,CAAC;QAC/B,mBAAmB,EAAE,MAAM,CAAC;KAC/B,CAAA;CACJ;AAYD,eAAO,MAAM,+BAA+B,GAAU,QAAQ,6BAA6B,KAAG,OAAO,CAAC,wBAAwB,CA0D7H,CAAA"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { mapShippingLengthUnitToEbayEnum, mapShippingWeightUnitToEbayEnum, mapPackageTypeToEbayEnum } from "../../utils/utils.js";
|
|
2
|
-
import { FormatTypeEnum } from "../../entities/ebay/Offer.js";
|
|
3
|
-
import { ListingDurationEnum } from "../../entities/ebay/ListingDurationEnum.js";
|
|
4
|
-
// TODO: I struggled a bit on how to handle condition and I expect it might change. Inventorylistingdetail row just has the ecommerceConditionId even though we have the
|
|
5
|
-
// eBay enum value saved. So I can get and cache the e-commerce_condition values early on then try to match,
|
|
6
|
-
// have a method that simply queries it, tries to match and validate all at once, or I can just save the correct value in inventorylistingdetail.
|
|
7
|
-
// I went with method two which seemed a tad bit easier, though method 3 I think is best but will require some changes
|
|
8
|
-
// to the component and saver functions that I would need to dig through.
|
|
9
|
-
// Takes the inventoryListingDetail row from the binlog change event and converts to an ebay inventory item, listing details and sku
|
|
10
|
-
// TODO: decide who/what/when is responsible for parsing the stringified json from the binlog event and the repo once it's redone
|
|
11
|
-
// TODO: when should validation happen..
|
|
12
|
-
export const convertItrackListingToEbayOffer = async (params) => {
|
|
13
|
-
const { inventoryListingDetail, ebayDefaults, itrackAdapter } = params;
|
|
14
|
-
const ecommercePartnerId = inventoryListingDetail.ecommercePartnerId;
|
|
15
|
-
const ecommerceConditionId = inventoryListingDetail.ecommerceConditionId;
|
|
16
|
-
// I don't know how to feel about this solution yet
|
|
17
|
-
let condition;
|
|
18
|
-
condition = await itrackAdapter.convertToEbayCondition(ecommercePartnerId, ecommerceConditionId);
|
|
19
|
-
// Convert to inventory item
|
|
20
|
-
// TODO: this currently assumes the imageUrls already have the urls from being pushed to eBay, a problem we haven't solved yet
|
|
21
|
-
return {
|
|
22
|
-
sku: inventoryListingDetail.sku,
|
|
23
|
-
// TODO: this has to come from somewhere and availability depends on pickup vs shipping and store vs warehouse
|
|
24
|
-
ebayInventoryItem: {
|
|
25
|
-
availability: {
|
|
26
|
-
shipToLocationAvailability: {
|
|
27
|
-
quantity: inventoryListingDetail.quantity
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
condition,
|
|
31
|
-
conditionDescription: inventoryListingDetail.ecommerceConditionDescription,
|
|
32
|
-
// TODO: this is only required if using calculated shipping, not sure yet how we'd know
|
|
33
|
-
// if that's the auction type
|
|
34
|
-
packageWeightAndSize: {
|
|
35
|
-
dimensions: {
|
|
36
|
-
height: inventoryListingDetail.shippingHeight,
|
|
37
|
-
length: inventoryListingDetail.shippingLength,
|
|
38
|
-
unit: mapShippingLengthUnitToEbayEnum(inventoryListingDetail.shippingLengthUnit),
|
|
39
|
-
width: inventoryListingDetail.shippingWidth
|
|
40
|
-
},
|
|
41
|
-
packageType: mapPackageTypeToEbayEnum(inventoryListingDetail.packageType),
|
|
42
|
-
weight: {
|
|
43
|
-
unit: mapShippingWeightUnitToEbayEnum(inventoryListingDetail.weightUnit),
|
|
44
|
-
value: inventoryListingDetail.weight,
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
product: {
|
|
48
|
-
//aspects: ,
|
|
49
|
-
// TODO: no idea what to use as a title here
|
|
50
|
-
title: inventoryListingDetail.sku,
|
|
51
|
-
// TODO: need a default here
|
|
52
|
-
description: inventoryListingDetail.inventoryDescription,
|
|
53
|
-
//imageUrls: inventoryListingDetail.imageUrls
|
|
54
|
-
imageUrls: ['http://junk.jpg']
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
listingDetails: {
|
|
58
|
-
categoryId: inventoryListingDetail.ecommerceCategoryId?.toString(),
|
|
59
|
-
format: FormatTypeEnum.FixedPrice,
|
|
60
|
-
listingDescription: inventoryListingDetail.listingDescription,
|
|
61
|
-
listingDuration: ListingDurationEnum.GTC,
|
|
62
|
-
marketplaceId: inventoryListingDetail.partnerSpecificDetails.marketplaceId,
|
|
63
|
-
merchantLocationKey: inventoryListingDetail.storeId.toString(),
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=ConvertItrackInventoryListingDetailToEbayOffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertItrackInventoryListingDetailToEbayOffer.js","sourceRoot":"","sources":["../../../src/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEjI,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAsBhF,0KAA0K;AAC1K,8GAA8G;AAC9G,iJAAiJ;AACjJ,sHAAsH;AACtH,yEAAyE;AAGzE,oIAAoI;AACpI,iIAAiI;AACjI,wCAAwC;AACxC,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,EAAE,MAAqC,EAAqC,EAAE;IAC9H,MAAM,EAAE,sBAAsB,EAAE,YAAY,EAAE,aAAa,EAAC,GAAI,MAAM,CAAA;IACtE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,kBAAkB,CAAA;IACpE,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,oBAAoB,CAAA;IAExE,mDAAmD;IACnD,IAAI,SAA4B,CAAA;IAChC,SAAS,GAAG,MAAM,aAAa,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;IAChG,4BAA4B;IAE5B,8HAA8H;IAE9H,OAAO;QACH,GAAG,EAAE,sBAAsB,CAAC,GAAG;QAC/B,8GAA8G;QAC9G,iBAAiB,EAAE;YACf,YAAY,EAAE;gBACV,0BAA0B,EAAE;oBACxB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;iBAC5C;aACJ;YACD,SAAS;YACT,oBAAoB,EAAE,sBAAsB,CAAC,6BAA6B;YAC1E,uFAAuF;YACvF,6BAA6B;YAC7B,oBAAoB,EAAE;gBAClB,UAAU,EAAE;oBACR,MAAM,EAAE,sBAAsB,CAAC,cAAc;oBAC7C,MAAM,EAAE,sBAAsB,CAAC,cAAc;oBAC7C,IAAI,EAAE,+BAA+B,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;oBAChF,KAAK,EAAE,sBAAsB,CAAC,aAAa;iBAC9C;gBACD,WAAW,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,WAAW,CAAC;gBACzE,MAAM,EAAE;oBACJ,IAAI,EAAE,+BAA+B,CAAC,sBAAsB,CAAC,UAAU,CAAC;oBACxE,KAAK,EAAE,sBAAsB,CAAC,MAAM;iBACvC;aACJ;YACD,OAAO,EAAE;gBACL,YAAY;gBACZ,4CAA4C;gBAC5C,KAAK,EAAE,sBAAsB,CAAC,GAAG;gBACjC,4BAA4B;gBAC5B,WAAW,EAAE,sBAAsB,CAAC,oBAAoB;gBACxD,6CAA6C;gBAC7C,SAAS,EAAE,CAAC,iBAAiB,CAAC;aACjC;SACJ;QACD,cAAc,EAAE;YACZ,UAAU,EAAE,sBAAsB,CAAC,mBAAmB,EAAE,QAAQ,EAAE;YAClE,MAAM,EAAE,cAAc,CAAC,UAAU;YACjC,kBAAkB,EAAE,sBAAsB,CAAC,kBAAkB;YAC7D,eAAe,EAAE,mBAAmB,CAAC,GAAG;YACxC,aAAa,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,aAAgC;YAC7F,mBAAmB,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE;SACjE;KAEJ,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { InventoryItem } from "../../entities/ebay/InventoryItem.js";
|
|
2
|
-
import { ItrackEbayListingResponse } from "../../adapters/itrack/ItrackAdapter.js";
|
|
3
|
-
import { ItrackEbayDefaults } from "../../ports/ItrackInterface.js";
|
|
4
|
-
import { EbayOfferDetails, FormatTypeEnum } from "../../entities/ebay/Offer.js";
|
|
5
|
-
import { MarketplaceEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
6
|
-
export interface OfferWithInventoryAndSku {
|
|
7
|
-
sku: string;
|
|
8
|
-
ebayInventoryItem: InventoryItem;
|
|
9
|
-
listingDetails: Partial<EbayOfferDetails> & {
|
|
10
|
-
categoryId: string;
|
|
11
|
-
format: FormatTypeEnum;
|
|
12
|
-
marketplaceId: MarketplaceEnum;
|
|
13
|
-
merchantLocationKey: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export declare const convertItrackListingToEbayOffer: (inventoryItemDetailsWithSku: ItrackEbayListingResponse, itrackEbayDefaults: ItrackEbayDefaults) => OfferWithInventoryAndSku;
|
|
17
|
-
//# sourceMappingURL=ConvertItrackListingToEbayOffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertItrackListingToEbayOffer.d.ts","sourceRoot":"","sources":["../../../src/usecases/Offer/ConvertItrackListingToEbayOffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,aAAa,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG;QACxC,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,cAAc,CAAC;QACvB,aAAa,EAAE,eAAe,CAAC;QAC/B,mBAAmB,EAAE,MAAM,CAAC;KAC/B,CAAA;CACJ;AAKD,eAAO,MAAM,+BAA+B,GAAI,6BAA6B,yBAAyB,EAAE,oBAAoB,kBAAkB,KAAG,wBA+DhJ,CAAA"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { convertMeasurementUnit, convertWeightUnit, convertCondition } from "../../utils/utils.js";
|
|
2
|
-
import { EbayPackageTypeEnum } from "../../entities/ebay/PackageWeightAndSize.js";
|
|
3
|
-
import { FormatTypeEnum } from "../../entities/ebay/Offer.js";
|
|
4
|
-
import { ListingDurationEnum } from "../../entities/ebay/ListingDurationEnum.js";
|
|
5
|
-
// TODO: ugh, don't much like the wording but this is responsible for converting to an ebay offer with inventory item and sku
|
|
6
|
-
// Takes the product inventory record, ebay defaults and returns a full ebay inventory item with additional listing info
|
|
7
|
-
export const convertItrackListingToEbayOffer = (inventoryItemDetailsWithSku, itrackEbayDefaults) => {
|
|
8
|
-
// Convert to inventory item
|
|
9
|
-
// Check if there's at least one image
|
|
10
|
-
inventoryItemDetailsWithSku.imageUrls.push("https://imagehost.heavytruckparts.net/image/Other_Other_Transmission-Assembly_4602468_1_83600931_1.jpg?w=2000");
|
|
11
|
-
if (!inventoryItemDetailsWithSku.imageUrls.length) {
|
|
12
|
-
console.error({
|
|
13
|
-
context: 'Validation Error',
|
|
14
|
-
message: 'Record has no valid image urls',
|
|
15
|
-
data: JSON.stringify(inventoryItemDetailsWithSku)
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
// TODO: Do we throw an error here if required fields are missing or do we let
|
|
19
|
-
// the method used to add the part handle it since it has context for other
|
|
20
|
-
// offer fields that change what's required?
|
|
21
|
-
return {
|
|
22
|
-
sku: inventoryItemDetailsWithSku.id.toString(),
|
|
23
|
-
// TODO: this has to come from somewhere and availability depends on pickup vs shipping and store vs warehouse
|
|
24
|
-
ebayInventoryItem: {
|
|
25
|
-
availability: {
|
|
26
|
-
shipToLocationAvailability: {
|
|
27
|
-
quantity: inventoryItemDetailsWithSku.quantity_available
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
condition: convertCondition(inventoryItemDetailsWithSku.ebay_condition),
|
|
31
|
-
conditionDescription: inventoryItemDetailsWithSku.condition_description,
|
|
32
|
-
// TODO: this is only required if using calculated shipping, not sure yet how we'd know
|
|
33
|
-
// if that's the auction type
|
|
34
|
-
packageWeightAndSize: {
|
|
35
|
-
dimensions: {
|
|
36
|
-
height: inventoryItemDetailsWithSku.shippingheight,
|
|
37
|
-
length: inventoryItemDetailsWithSku.shippinglength,
|
|
38
|
-
unit: convertMeasurementUnit(inventoryItemDetailsWithSku.shippingmeasurementunit), // TODO: map/convert here?
|
|
39
|
-
width: inventoryItemDetailsWithSku.shippingwidth
|
|
40
|
-
},
|
|
41
|
-
packageType: EbayPackageTypeEnum.Letter, // TODO: will need to figure out how to get this or depend on a default?
|
|
42
|
-
weight: {
|
|
43
|
-
unit: convertWeightUnit(inventoryItemDetailsWithSku.weightunit),
|
|
44
|
-
value: inventoryItemDetailsWithSku.weight,
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
product: {
|
|
48
|
-
//aspects: ,
|
|
49
|
-
// TODO: no idea what to use as a title here
|
|
50
|
-
title: inventoryItemDetailsWithSku.tagnumber,
|
|
51
|
-
// TODO: need a default here
|
|
52
|
-
description: inventoryItemDetailsWithSku.ebay_description ? inventoryItemDetailsWithSku.ebay_description : 'description empty, using test condition description ',
|
|
53
|
-
imageUrls: inventoryItemDetailsWithSku.imageUrls
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
listingDetails: {
|
|
57
|
-
categoryId: (inventoryItemDetailsWithSku.ebay_category_id ? inventoryItemDetailsWithSku.ebay_category_id : itrackEbayDefaults.defaultCategoryId).toString(),
|
|
58
|
-
format: FormatTypeEnum.FixedPrice,
|
|
59
|
-
listingDescription: inventoryItemDetailsWithSku.ebay_description,
|
|
60
|
-
listingDuration: ListingDurationEnum.GTC,
|
|
61
|
-
marketplaceId: inventoryItemDetailsWithSku.ebay_marketplace,
|
|
62
|
-
merchantLocationKey: inventoryItemDetailsWithSku.storeid.toString(),
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=ConvertItrackListingToEbayOffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConvertItrackListingToEbayOffer.js","sourceRoot":"","sources":["../../../src/usecases/Offer/ConvertItrackListingToEbayOffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAEjF,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAahF,8HAA8H;AAC9H,wHAAwH;AACxH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,2BAAsD,EAAE,kBAAsC,EAA4B,EAAE;IACxK,4BAA4B;IAG5B,sCAAsC;IAEtC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAA;IAC3J,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC;YACV,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,gCAAgC;YACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC;SACpD,CAAC,CAAA;IACN,CAAC;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,4CAA4C;IAE5C,OAAO;QACH,GAAG,EAAE,2BAA2B,CAAC,EAAE,CAAC,QAAQ,EAAE;QAC9C,8GAA8G;QAC9G,iBAAiB,EAAE;YACf,YAAY,EAAE;gBACV,0BAA0B,EAAE;oBACxB,QAAQ,EAAE,2BAA2B,CAAC,kBAAkB;iBAC3D;aACJ;YACD,SAAS,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,cAAc,CAAC;YACvE,oBAAoB,EAAE,2BAA2B,CAAC,qBAAqB;YACvE,uFAAuF;YACvF,6BAA6B;YAC7B,oBAAoB,EAAE;gBAClB,UAAU,EAAE;oBACR,MAAM,EAAE,2BAA2B,CAAC,cAAc;oBAClD,MAAM,EAAE,2BAA2B,CAAC,cAAc;oBAClD,IAAI,EAAE,sBAAsB,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,EAAE,0BAA0B;oBAC7G,KAAK,EAAE,2BAA2B,CAAC,aAAa;iBACnD;gBACD,WAAW,EAAE,mBAAmB,CAAC,MAAM,EAAE,wEAAwE;gBACjH,MAAM,EAAE;oBACJ,IAAI,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,UAAU,CAAC;oBAC/D,KAAK,EAAE,2BAA2B,CAAC,MAAM;iBAC5C;aACJ;YACD,OAAO,EAAE;gBACL,YAAY;gBACZ,4CAA4C;gBAC5C,KAAK,EAAE,2BAA2B,CAAC,SAAS;gBAC5C,4BAA4B;gBAC5B,WAAW,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC,sDAAsD;gBACjK,SAAS,EAAE,2BAA2B,CAAC,SAAS;aACnD;SACJ;QACD,cAAc,EAAE;YACZ,UAAU,EAAE,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;YAC3J,MAAM,EAAE,cAAc,CAAC,UAAU;YACjC,kBAAkB,EAAE,2BAA2B,CAAC,gBAAgB;YAChE,eAAe,EAAE,mBAAmB,CAAC,GAAG;YACxC,aAAa,EAAE,2BAA2B,CAAC,gBAAmC;YAC9E,mBAAmB,EAAE,2BAA2B,CAAC,OAAO,CAAC,QAAQ,EAAE;SACtE;KAEJ,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
|
|
2
|
-
import { Sku } from "../../entities/ebay/Sku.js";
|
|
3
|
-
import { EbayOfferDetails } from "../../entities/ebay/Offer.js";
|
|
4
|
-
import { UseCaseResult } from "../../types/UseCaseResult.js";
|
|
5
|
-
export interface PushOfferInput {
|
|
6
|
-
ebayAdapter: EbayAdapter;
|
|
7
|
-
listingDetails: EbayOfferDetails;
|
|
8
|
-
sku: Sku;
|
|
9
|
-
}
|
|
10
|
-
export declare const createEbayOffer: (params: PushOfferInput) => Promise<UseCaseResult<any>>;
|
|
11
|
-
//# sourceMappingURL=CreateEbayOffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEbayOffer.d.ts","sourceRoot":"","sources":["../../../src/usecases/Offer/CreateEbayOffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAA;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EACH,aAAa,EAGhB,MAAM,8BAA8B,CAAA;AAcrC,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,gBAAgB,CAAC;IACjC,GAAG,EAAE,GAAG,CAAA;CACX;AAeD,eAAO,MAAM,eAAe,GAAS,QAAQ,cAAc,KAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAMvF,CAAA"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//OfferWithInventoryAndSku
|
|
2
|
-
// sku: string,
|
|
3
|
-
// ebayInventoryItem: InventoryItem,
|
|
4
|
-
// listingDetails: {
|
|
5
|
-
// categoryId: number | null,
|
|
6
|
-
// format: string,
|
|
7
|
-
// listingDescription: string,
|
|
8
|
-
// listingDuration: number,
|
|
9
|
-
// marketplaceId: string,
|
|
10
|
-
// merchantLocationKey: string,
|
|
11
|
-
// }
|
|
12
|
-
export const createEbayOffer = async (params) => {
|
|
13
|
-
// Validate
|
|
14
|
-
// Send to ebay
|
|
15
|
-
const createOfferResponse = await params.ebayAdapter.pushOffer({ offer: params.listingDetails, sku: params.sku });
|
|
16
|
-
return createOfferResponse;
|
|
17
|
-
};
|
|
18
|
-
//availableQuantity...conditional
|
|
19
|
-
//categoryId
|
|
20
|
-
//format
|
|
21
|
-
//listingDescription
|
|
22
|
-
//listingDuration
|
|
23
|
-
//marketplaceId
|
|
24
|
-
//merchantLocationKey
|
|
25
|
-
//InventoryItem
|
|
26
|
-
//availability
|
|
27
|
-
//condition
|
|
28
|
-
//conditionDescription
|
|
29
|
-
//packageWeightAndSize
|
|
30
|
-
//product
|
|
31
|
-
//# sourceMappingURL=CreateEbayOffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEbayOffer.js","sourceRoot":"","sources":["../../../src/usecases/Offer/CreateEbayOffer.ts"],"names":[],"mappings":"AA4BA,2BAA2B;AAC3B,eAAe;AACf,wCAAwC;AACxC,oBAAoB;AACpB,iCAAiC;AACjC,sBAAsB;AACtB,kCAAkC;AAClC,+BAA+B;AAC/B,6BAA6B;AAC7B,mCAAmC;AACnC,IAAI;AAGJ,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAC,MAAsB,EAA+B,EAAE;IACxF,WAAW;IAEX,eAAe;IACf,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAC,CAAC,CAAA;IAC/G,OAAO,mBAAmB,CAAA;AAC9B,CAAC,CAAA;AACD,iCAAiC;AACjC,YAAY;AACZ,QAAQ;AACR,oBAAoB;AACpB,iBAAiB;AACjB,eAAe;AACf,qBAAqB;AAErB,eAAe;AACX,cAAc;AACd,WAAW;AACX,sBAAsB;AACtB,sBAAsB;AACtB,UAAU"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
|
|
2
|
-
import { TokenManager } from "../../infrastructure/TokenManager.js";
|
|
3
|
-
import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
|
|
4
|
-
export interface SyncOfferToEbayInput {
|
|
5
|
-
ebayAdapter: EbayAdapter;
|
|
6
|
-
itrackAdapter: ItrackAdapter;
|
|
7
|
-
tokenManager: TokenManager;
|
|
8
|
-
id: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Full use case for creating/update inventory, offer and publishing it.
|
|
12
|
-
* Should be used whenever an inventory item is created or changed.
|
|
13
|
-
*
|
|
14
|
-
* Get defaults and settings
|
|
15
|
-
* Calls sync inventory
|
|
16
|
-
* Calls create offer
|
|
17
|
-
* Calls publish offer
|
|
18
|
-
*/
|
|
19
|
-
export declare const syncAndPublishEbayOffer: (params: SyncOfferToEbayInput) => Promise<void>;
|
|
20
|
-
//# sourceMappingURL=SyncEbayOffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncEbayOffer.d.ts","sourceRoot":"","sources":["../../../src/usecases/Offer/SyncEbayOffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAMtE,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AAGH,eAAO,MAAM,uBAAuB,WAAiB,oBAAoB,kBAqBxE,CAAA"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { getEbayDefaultsFromProduct } from "./GetEbayDefaultsFromProduct.js";
|
|
2
|
-
import { syncInventoryToEbay } from "../Inventory/SyncInventoryToEbay.js";
|
|
3
|
-
import { convertItrackListingToEbayOffer } from "./ConvertItrackListingToEbayOffer.js";
|
|
4
|
-
import { createEbayOffer } from "../Offer/CreateEbayOffer.js";
|
|
5
|
-
/**
|
|
6
|
-
* Full use case for creating/update inventory, offer and publishing it.
|
|
7
|
-
* Should be used whenever an inventory item is created or changed.
|
|
8
|
-
*
|
|
9
|
-
* Get defaults and settings
|
|
10
|
-
* Calls sync inventory
|
|
11
|
-
* Calls create offer
|
|
12
|
-
* Calls publish offer
|
|
13
|
-
*/
|
|
14
|
-
// TODO: this only works on initial creation, will need to separate this to better handle updates vs new
|
|
15
|
-
// TODO: lost track of what use case belongs where, will throw it all here and separate later
|
|
16
|
-
export const syncAndPublishEbayOffer = async (params) => {
|
|
17
|
-
// Get defaults and settings from product
|
|
18
|
-
// TODO: this should probably be cached and updated on certain mysql row events
|
|
19
|
-
const ebayDefaults = await getEbayDefaultsFromProduct({ itrackAdapter: params.itrackAdapter });
|
|
20
|
-
// Get listing info from Itrack
|
|
21
|
-
const getListingResponse = await params.itrackAdapter.getItrackEbayListingInfo(params.id);
|
|
22
|
-
// Convert Itrack listing info and defaults to eBay inventory item, sku and offer
|
|
23
|
-
const offerWithInventoryAndSku = convertItrackListingToEbayOffer(getListingResponse, ebayDefaults);
|
|
24
|
-
// sku, ebayInvenotryItem and listingDetails
|
|
25
|
-
const { sku, ebayInventoryItem, listingDetails } = offerWithInventoryAndSku;
|
|
26
|
-
// Call usecase: sync inventory to ebay
|
|
27
|
-
// TODO: figure out what needs to be returned to make the create offer call
|
|
28
|
-
const ebayInventorySyncResponse = await syncInventoryToEbay({
|
|
29
|
-
ebayAdapter: params.ebayAdapter,
|
|
30
|
-
tokenManager: params.tokenManager,
|
|
31
|
-
sku,
|
|
32
|
-
inventoryItem: ebayInventoryItem
|
|
33
|
-
});
|
|
34
|
-
// Call create offer to ebay
|
|
35
|
-
const stuff = await createEbayOffer({ ebayAdapter: params.ebayAdapter, listingDetails, sku });
|
|
36
|
-
// Call publish offer
|
|
37
|
-
};
|
|
38
|
-
//OfferWithInventoryAndSku
|
|
39
|
-
// sku: string,
|
|
40
|
-
// ebayInventoryItem: InventoryItem,
|
|
41
|
-
// listingDetails: {
|
|
42
|
-
// categoryId: number | null,
|
|
43
|
-
// format: string,
|
|
44
|
-
// listingDescription: string,
|
|
45
|
-
// listingDuration: number,
|
|
46
|
-
// marketplaceId: string,
|
|
47
|
-
// merchantLocationKey: string,
|
|
48
|
-
// }
|
|
49
|
-
//# sourceMappingURL=SyncEbayOffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncEbayOffer.js","sourceRoot":"","sources":["../../../src/usecases/Offer/SyncEbayOffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAS7D;;;;;;;;GAQG;AACH,wGAAwG;AACxG,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAC,MAA4B,EAAE,EAAE;IACzE,yCAAyC;IACzC,+EAA+E;IAC/E,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,EAAC,aAAa,EAAE,MAAM,CAAC,aAAa,EAAC,CAAC,CAAA;IAC5F,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzF,iFAAiF;IACjF,MAAM,wBAAwB,GAAG,+BAA+B,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;IAClG,4CAA4C;IAC5C,MAAM,EAAC,GAAG,EAAE,iBAAiB,EAAE,cAAc,EAAC,GAAG,wBAAwB,CAAA;IACzE,uCAAuC;IACvC,2EAA2E;IAC3E,MAAM,yBAAyB,GAAG,MAAM,mBAAmB,CAAC;QACxD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG;QACH,aAAa,EAAE,iBAAiB;KACnC,CAAC,CAAA;IACF,6BAA6B;IAC7B,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAC,CAAC,CAAA;IAC3F,qBAAqB;AACzB,CAAC,CAAA;AAED,2BAA2B;AAC3B,eAAe;AACf,wCAAwC;AACxC,oBAAoB;AACpB,iCAAiC;AACjC,sBAAsB;AACtB,kCAAkC;AAClC,+BAA+B;AAC/B,6BAA6B;AAC7B,mCAAmC;AACnC,IAAI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=createOfferSample.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createOfferSample.d.ts","sourceRoot":"","sources":["../../../src/usecases/Offer/createOfferSample.ts"],"names":[],"mappings":""}
|