@isoftdata/ebay-utility 1.0.0 → 1.2.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/AdapterResult.d.ts +3 -0
- package/lib/adapters/AdapterResult.d.ts.map +1 -1
- package/lib/adapters/AdapterResult.js +2 -1
- package/lib/adapters/AdapterResult.js.map +1 -1
- package/lib/adapters/AdapterToUseCaseConverter.js +20 -20
- package/lib/adapters/AdapterToUseCaseConverter.js.map +1 -1
- package/lib/adapters/ebay/EbayAdapter.d.ts +7 -4
- package/lib/adapters/ebay/EbayAdapter.d.ts.map +1 -1
- package/lib/adapters/ebay/EbayAdapter.js +108 -16
- package/lib/adapters/ebay/EbayAdapter.js.map +1 -1
- package/lib/adapters/ebay/WebEbayAdapter.d.ts +64 -0
- package/lib/adapters/ebay/WebEbayAdapter.d.ts.map +1 -0
- package/lib/adapters/ebay/WebEbayAdapter.js +473 -0
- package/lib/adapters/ebay/WebEbayAdapter.js.map +1 -0
- package/lib/adapters/itrack/ItrackAdapter.d.ts +8 -18
- package/lib/adapters/itrack/ItrackAdapter.d.ts.map +1 -1
- package/lib/adapters/itrack/ItrackAdapter.js +104 -41
- package/lib/adapters/itrack/ItrackAdapter.js.map +1 -1
- package/lib/adapters/test-error-preservation.d.ts +9 -0
- package/lib/adapters/test-error-preservation.d.ts.map +1 -0
- package/lib/adapters/test-error-preservation.js +203 -0
- package/lib/adapters/test-error-preservation.js.map +1 -0
- package/lib/entities/ebay/FulfillmentPolicy.d.ts +0 -5
- package/lib/entities/ebay/FulfillmentPolicy.d.ts.map +1 -1
- package/lib/entities/ebay/PackageWeightAndSize.d.ts +4 -4
- package/lib/entities/ebay/PaymentPolicy.d.ts +0 -5
- package/lib/entities/ebay/PaymentPolicy.d.ts.map +1 -1
- package/lib/entities/ebay/ReturnPolicy.d.ts +0 -5
- package/lib/entities/ebay/ReturnPolicy.d.ts.map +1 -1
- package/lib/entities/itrack/ItrackEbayPolicy.d.ts +14 -0
- package/lib/entities/itrack/ItrackEbayPolicy.d.ts.map +1 -0
- package/lib/entities/itrack/ItrackEbayPolicy.js +2 -0
- package/lib/entities/itrack/ItrackEbayPolicy.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/EbayOAuthManager.d.ts +99 -0
- package/lib/infrastructure/EbayOAuthManager.d.ts.map +1 -0
- package/lib/infrastructure/EbayOAuthManager.js +337 -0
- package/lib/infrastructure/EbayOAuthManager.js.map +1 -0
- package/lib/infrastructure/HttpToRepoConverter.d.ts +1 -0
- package/lib/infrastructure/HttpToRepoConverter.d.ts.map +1 -1
- package/lib/infrastructure/HttpToRepoConverter.js +4 -1
- package/lib/infrastructure/HttpToRepoConverter.js.map +1 -1
- package/lib/infrastructure/TokenManager.d.ts +0 -2
- package/lib/infrastructure/TokenManager.d.ts.map +1 -1
- package/lib/infrastructure/TokenManager.js +19 -42
- package/lib/infrastructure/TokenManager.js.map +1 -1
- package/lib/infrastructure/http.d.ts +1 -0
- package/lib/infrastructure/http.d.ts.map +1 -1
- package/lib/infrastructure/http.js +10 -2
- package/lib/infrastructure/http.js.map +1 -1
- package/lib/infrastructure/httpMultipart.d.ts.map +1 -1
- package/lib/infrastructure/httpMultipart.js +2 -1
- package/lib/infrastructure/httpMultipart.js.map +1 -1
- package/lib/ports/EbayInterface.d.ts +12 -11
- package/lib/ports/EbayInterface.d.ts.map +1 -1
- package/lib/repositories/EbayProductionRefreshTokenRepo.d.ts +5 -0
- package/lib/repositories/EbayProductionRefreshTokenRepo.d.ts.map +1 -0
- package/lib/repositories/EbayProductionRefreshTokenRepo.js +8 -0
- package/lib/repositories/EbayProductionRefreshTokenRepo.js.map +1 -0
- package/lib/repositories/ebay/BaseRepo.d.ts +2 -2
- package/lib/repositories/ebay/BaseRepo.d.ts.map +1 -1
- package/lib/repositories/ebay/FulfillmentPolicyRepo.d.ts +7 -2
- package/lib/repositories/ebay/FulfillmentPolicyRepo.d.ts.map +1 -1
- package/lib/repositories/ebay/FulfillmentPolicyRepo.js.map +1 -1
- package/lib/repositories/ebay/PaymentPolicyRepo.d.ts +7 -2
- package/lib/repositories/ebay/PaymentPolicyRepo.d.ts.map +1 -1
- package/lib/repositories/ebay/PaymentPolicyRepo.js.map +1 -1
- package/lib/repositories/ebay/ReturnPolicyRepo.d.ts +7 -2
- package/lib/repositories/ebay/ReturnPolicyRepo.d.ts.map +1 -1
- package/lib/repositories/ebay/ReturnPolicyRepo.js.map +1 -1
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.d.ts +10 -0
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.d.ts.map +1 -0
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.js +30 -0
- package/lib/repositories/itrack/ItrackEbayPolicyRepo.js.map +1 -0
- package/lib/repositories/test-error-preservation.d.ts +45 -0
- package/lib/repositories/test-error-preservation.d.ts.map +1 -0
- package/lib/repositories/test-error-preservation.js +125 -0
- package/lib/repositories/test-error-preservation.js.map +1 -0
- package/lib/types/ErrorPreservation.d.ts +154 -0
- package/lib/types/ErrorPreservation.d.ts.map +1 -0
- package/lib/types/ErrorPreservation.js +357 -0
- package/lib/types/ErrorPreservation.js.map +1 -0
- package/lib/types/MysqlResponse.d.ts +123 -0
- package/lib/types/MysqlResponse.d.ts.map +1 -0
- package/lib/types/MysqlResponse.js +236 -0
- package/lib/types/MysqlResponse.js.map +1 -0
- package/lib/types/UseCaseResult.d.ts +12 -12
- package/lib/types/UseCaseResult.d.ts.map +1 -1
- package/lib/types/UseCaseResult.js +13 -13
- package/lib/types/UseCaseResult.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts +3 -2
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js +2 -2
- package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.d.ts +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.js +8 -2
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts +2 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js +1 -1
- package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts +3 -2
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js +2 -2
- package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.d.ts +11 -0
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.d.ts.map +1 -0
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.js +60 -0
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.js.map +1 -0
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts +2 -1
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js +46 -21
- package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts +3 -2
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js +2 -2
- package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js.map +1 -1
- package/lib/usecases/FulfillmentPolicy/integration.test.d.ts +1 -1
- package/lib/usecases/FulfillmentPolicy/integration.test.d.ts.map +1 -1
- package/lib/usecases/FulfillmentPolicy/integration.test.js +13 -34
- package/lib/usecases/FulfillmentPolicy/integration.test.js.map +1 -1
- package/lib/usecases/Images/GetImageFromProduct.js +3 -3
- package/lib/usecases/Images/GetImageFromProduct.js.map +1 -1
- package/lib/usecases/Images/PushImageToEbay.js +4 -4
- package/lib/usecases/Images/PushImageToEbay.js.map +1 -1
- package/lib/usecases/Images/SyncImageToEbay.js +5 -5
- package/lib/usecases/Images/SyncImageToEbay.js.map +1 -1
- package/lib/usecases/Images/SyncMultipleImagesToEbay.js +3 -3
- package/lib/usecases/Images/SyncMultipleImagesToEbay.js.map +1 -1
- package/lib/usecases/Inventory/PushInventorySkuToEbay.js +4 -4
- package/lib/usecases/Inventory/PushInventorySkuToEbay.js.map +1 -1
- package/lib/usecases/Inventory/SyncInventoryToEbay.js +2 -2
- package/lib/usecases/Inventory/SyncInventoryToEbay.js.map +1 -1
- package/lib/usecases/Location/GetInventoryLocationsFromEbay.d.ts +1 -1
- package/lib/usecases/Location/WebGetInventoryLocations.d.ts +98 -0
- package/lib/usecases/Location/WebGetInventoryLocations.d.ts.map +1 -0
- package/lib/usecases/Location/WebGetInventoryLocations.js +116 -0
- package/lib/usecases/Location/WebGetInventoryLocations.js.map +1 -0
- package/lib/usecases/Offer/GetEbayDefaultsFromProduct.d.ts.map +1 -1
- package/lib/usecases/Offer/GetEbayDefaultsFromProduct.js +3 -3
- package/lib/usecases/Offer/GetEbayDefaultsFromProduct.js.map +1 -1
- package/lib/usecases/Offer/PublishEbayOffer.js +4 -4
- package/lib/usecases/Offer/PublishEbayOffer.js.map +1 -1
- package/lib/usecases/Offer/PushEbayOffer.js +6 -6
- package/lib/usecases/Offer/PushEbayOffer.js.map +1 -1
- package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js +5 -5
- package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js.map +1 -1
- package/lib/usecases/Offer/convertItrackListingToEbayInventoryAndOffer.js +3 -3
- package/lib/usecases/Offer/convertItrackListingToEbayInventoryAndOffer.js.map +1 -1
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts +3 -2
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js +2 -2
- package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js.map +1 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromEbay.d.ts +1 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromEbay.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts +2 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js +1 -1
- package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js.map +1 -1
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts +3 -2
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js +2 -2
- package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js.map +1 -1
- package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.d.ts +2 -1
- package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.js +39 -22
- package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.js.map +1 -1
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts +3 -2
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts.map +1 -1
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js +2 -2
- package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js.map +1 -1
- package/lib/usecases/PaymentPolicy/integration.test.d.ts +2 -0
- package/lib/usecases/PaymentPolicy/integration.test.d.ts.map +1 -0
- package/lib/usecases/PaymentPolicy/integration.test.js +31 -0
- package/lib/usecases/PaymentPolicy/integration.test.js.map +1 -0
- package/lib/usecases/Policy/WebGetEbayPolicies.d.ts +236 -0
- package/lib/usecases/Policy/WebGetEbayPolicies.d.ts.map +1 -0
- package/lib/usecases/Policy/WebGetEbayPolicies.js +374 -0
- package/lib/usecases/Policy/WebGetEbayPolicies.js.map +1 -0
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts +3 -2
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js +2 -2
- package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js.map +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.d.ts +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.js +13 -3
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.js.map +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts +2 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js +1 -1
- package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js.map +1 -1
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts +3 -2
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js +2 -2
- package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js.map +1 -1
- package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.d.ts +2 -1
- package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.js +44 -24
- package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.js.map +1 -1
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts +3 -2
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js +2 -2
- package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js.map +1 -1
- package/lib/usecases/ReturnPolicy/integration.test.d.ts +1 -1
- package/lib/usecases/ReturnPolicy/integration.test.d.ts.map +1 -1
- package/lib/usecases/ReturnPolicy/integration.test.js +13 -38
- package/lib/usecases/ReturnPolicy/integration.test.js.map +1 -1
- package/package.json +59 -56
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncFulfillmentPolicies.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface SyncFulfillmentPoliciesInput {
|
|
|
5
5
|
ebayAdapter: EbayAdapter;
|
|
6
6
|
itrackAdapter: ItrackAdapter;
|
|
7
7
|
tokenManager: TokenManager;
|
|
8
|
+
production: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare const syncFulfillmentPolicies: (params: SyncFulfillmentPoliciesInput) => Promise<
|
|
10
|
+
export declare const syncFulfillmentPolicies: (params: SyncFulfillmentPoliciesInput) => Promise<any[]>;
|
|
10
11
|
//# sourceMappingURL=SyncFulfillmentPolicy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncFulfillmentPolicy.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.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;
|
|
1
|
+
{"version":3,"file":"SyncFulfillmentPolicy.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.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,4BAA4B;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,uBAAuB,GAAS,QAAQ,4BAA4B,mBAyEhF,CAAA"}
|
|
@@ -1,35 +1,60 @@
|
|
|
1
|
-
import { getFulfillmentPoliciesFromEbay } from "./GetFulfillmentPoliciesFromEbay.js";
|
|
2
|
-
import { getFulfillmentPoliciesFromItrack } from "./GetFulfillmentPoliciesFromItrack.js";
|
|
3
1
|
import { compareArrays } from "../../utils/utils.js";
|
|
4
|
-
import {
|
|
5
|
-
import { updateFulfillmentPolicyFromItrack } from "./UpdateFulfillmentPolicyFromItrack.js";
|
|
6
|
-
import { removeFulfillmentPolicyFromItrack } from "./RemoveFulfillmentPolicyFromItrack.js";
|
|
2
|
+
import { MarketplaceIdEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
7
3
|
export const syncFulfillmentPolicies = async (params) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
// Get latest from ebay
|
|
5
|
+
const ebayPolicyResponse = await params.ebayAdapter.getFulfillmentPolicies(MarketplaceIdEnum.Motors);
|
|
6
|
+
if (!ebayPolicyResponse.success) {
|
|
7
|
+
console.log("Error getting fulfillment policies from eBay: ", ebayPolicyResponse.error);
|
|
11
8
|
return;
|
|
12
9
|
}
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
if (!ebayPolicyResponse.data.fulfillmentPolicies.length) {
|
|
11
|
+
console.log("No ebay fulfillment policies found");
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
// Get from itrack // TODO: run json parse on details row
|
|
15
|
+
const itrackPolicyResponse = await params.itrackAdapter.getFulfillmentPolicies(params.production);
|
|
16
|
+
if (!itrackPolicyResponse.success) {
|
|
17
|
+
console.log("Error getting fulfillment policies from Itrack: ", itrackPolicyResponse.error);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const parsedItrackFulfillmentPolicyRows = itrackPolicyResponse?.data?.map(row => {
|
|
21
|
+
const { details, ...restOfRow } = row;
|
|
22
|
+
return {
|
|
23
|
+
...restOfRow,
|
|
24
|
+
details: JSON.parse(details)
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
const ebayPolicies = ebayPolicyResponse.data?.fulfillmentPolicies?.map(policy => ({
|
|
15
28
|
name: policy.name,
|
|
16
|
-
|
|
29
|
+
policytype: 'fulfillment', // Add the required policytype field
|
|
30
|
+
details: policy, // Use the policy directly instead of spreading it
|
|
31
|
+
production: params.production ? 'True' : 'False',
|
|
32
|
+
policyid: policy.fulfillmentPolicyId
|
|
17
33
|
}));
|
|
18
|
-
|
|
34
|
+
// Compare to determine what to add and/or remove
|
|
35
|
+
// TODO: does this handle empty arrays?
|
|
36
|
+
const comparisonResult = compareArrays(ebayPolicies, parsedItrackFulfillmentPolicyRows, 'policyid');
|
|
19
37
|
const { newItems, existingItems, unusedItems } = comparisonResult;
|
|
20
38
|
let syncFulfillmentPolicyResponse = [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
39
|
+
// Handle new items with Promise.all for concurrent processing
|
|
40
|
+
if (newItems.length) {
|
|
41
|
+
const newItemPromises = newItems.map(item => params.itrackAdapter.addPolicy(item));
|
|
42
|
+
const newItemResponses = await Promise.all(newItemPromises);
|
|
43
|
+
syncFulfillmentPolicyResponse.push(...newItemResponses);
|
|
24
44
|
}
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
45
|
+
if (existingItems.length) {
|
|
46
|
+
const updateItemPromises = existingItems.map(item => params.itrackAdapter.updatePolicy(item));
|
|
47
|
+
const updateItemResponses = await Promise.all(updateItemPromises);
|
|
48
|
+
syncFulfillmentPolicyResponse.push(...updateItemResponses);
|
|
28
49
|
}
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
50
|
+
if (unusedItems.length) {
|
|
51
|
+
const deleteItemPromises = unusedItems.map(item => params.itrackAdapter.deletePolicy(item));
|
|
52
|
+
const deleteItemResponses = await Promise.all(deleteItemPromises);
|
|
53
|
+
syncFulfillmentPolicyResponse.push(...deleteItemResponses);
|
|
32
54
|
}
|
|
33
55
|
console.log(JSON.stringify(syncFulfillmentPolicyResponse));
|
|
56
|
+
// We don't really care about the response here, though we should probably do something
|
|
57
|
+
// better about errors
|
|
58
|
+
return syncFulfillmentPolicyResponse;
|
|
34
59
|
};
|
|
35
60
|
//# sourceMappingURL=SyncFulfillmentPolicy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncFulfillmentPolicy.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SyncFulfillmentPolicy.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAU1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAC,MAAoC,EAAE,EAAE;IACjF,uBAAuB;IAC1B,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEjG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACvF,OAAM;IACV,CAAC;IACD,IAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,OAAM;IACV,CAAC;IAGD,0DAA0D;IAC1D,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAGjG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3F,OAAM;IACV,CAAC;IAED,MAAM,iCAAiC,GAA0B,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QACnG,MAAM,EAAC,OAAO,EAAE,GAAG,SAAS,EAAC,GAAG,GAAG,CAAA;QACnC,OAAO;YACH,GAAG,SAAS;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/B,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAA0B,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,aAAa,EAAE,oCAAoC;QAC/D,OAAO,EAAE,MAAM,EAAE,kDAAkD;QACnE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAChD,QAAQ,EAAE,MAAM,CAAC,mBAAmB;KACvC,CAAC,CAAC,CAAA;IAEH,iDAAiD;IACjD,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,EAAE,iCAAiC,EAAE,UAAU,CAAC,CAAA;IAEnG,MAAM,EAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAC,GAAG,gBAAgB,CAAA;IAE/D,IAAI,6BAA6B,GAAG,EAAE,CAAA;IAEtC,8DAA8D;IAC9D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CACvC,CAAA;QACD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC3D,6BAA6B,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAC1C,CAAA;QACD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACjE,6BAA6B,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC9C,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAC1C,CAAA;QACD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACjE,6BAA6B,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC1D,uFAAuF;IACvF,uBAAuB;IACvB,OAAO,6BAA6B,CAAA;AACxC,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ParsedEbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
|
|
3
3
|
export interface InputBoundary {
|
|
4
4
|
itrackAdapter: ItrackAdapter;
|
|
5
|
+
policy: ParsedEbayPolicyRow;
|
|
5
6
|
}
|
|
6
|
-
export declare const updateFulfillmentPolicyFromItrack: (opts: InputBoundary
|
|
7
|
+
export declare const updateFulfillmentPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
|
|
7
8
|
//# sourceMappingURL=UpdateFulfillmentPolicyFromItrack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFulfillmentPolicyFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"UpdateFulfillmentPolicyFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAiB,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAG9F,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,iCAAiC,GAAS,MAAM,aAAa,iBAGzE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const updateFulfillmentPolicyFromItrack = async (opts
|
|
2
|
-
const response = await opts.itrackAdapter.updateFulfillmentPolicy(
|
|
1
|
+
export const updateFulfillmentPolicyFromItrack = async (opts) => {
|
|
2
|
+
const response = await opts.itrackAdapter.updateFulfillmentPolicy(opts.policy);
|
|
3
3
|
return response;
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=UpdateFulfillmentPolicyFromItrack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFulfillmentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateFulfillmentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,iCAAiC,GAAG,KAAK,EAAC,IAAmB,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9E,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const testSyncFulfillmentPolicies: () => Promise<void>;
|
|
2
2
|
//# sourceMappingURL=integration.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/integration.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/integration.test.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,2BAA2B,qBAWvC,CAAA"}
|
|
@@ -2,9 +2,10 @@ import { MysqlDatastore } from "../../infrastructure/mysql/MysqlDatastore.js";
|
|
|
2
2
|
import { getMysqlConfigFromEnv } from "../../infrastructure/mysql/getPool.js";
|
|
3
3
|
import { TokenManager } from "../../infrastructure/TokenManager.js";
|
|
4
4
|
import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
|
|
5
|
-
import { getFulfillmentPoliciesFromEbay } from "./GetFulfillmentPoliciesFromEbay.js";
|
|
6
5
|
import { EbayScopes } from "../../entities/ebay/Scopes.js";
|
|
7
6
|
import { MarketplaceEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
7
|
+
import { syncFulfillmentPolicies } from "./SyncFulfillmentPolicies.js";
|
|
8
|
+
import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
|
|
8
9
|
const PRODUCTION = false;
|
|
9
10
|
// Create mysql connection
|
|
10
11
|
const pool = getMysqlConfigFromEnv();
|
|
@@ -13,40 +14,18 @@ const db = new MysqlDatastore(pool);
|
|
|
13
14
|
// Ebay token business
|
|
14
15
|
const tokenManager = new TokenManager(db, PRODUCTION, Object.values(EbayScopes), MarketplaceEnum.Motors);
|
|
15
16
|
const ebayAdapter = new EbayAdapter(tokenManager);
|
|
16
|
-
|
|
17
|
+
const itrackAdapter = new ItrackAdapter(db);
|
|
18
|
+
const production = false;
|
|
19
|
+
export const testSyncFulfillmentPolicies = async () => {
|
|
17
20
|
await tokenManager.initialize();
|
|
18
21
|
// Attempt to retrieve fullfiment policy(s) from ebay
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
const response = await syncFulfillmentPolicies({
|
|
23
|
+
ebayAdapter,
|
|
24
|
+
itrackAdapter,
|
|
25
|
+
tokenManager,
|
|
26
|
+
production
|
|
27
|
+
});
|
|
28
|
+
console.log(response);
|
|
26
29
|
};
|
|
27
|
-
|
|
28
|
-
// {
|
|
29
|
-
// "success":false,
|
|
30
|
-
// "data":{
|
|
31
|
-
// "errors":[
|
|
32
|
-
// {
|
|
33
|
-
// "errorId":20401,
|
|
34
|
-
// "domain":"API_ACCOUNT",
|
|
35
|
-
// "category":"REQUEST",
|
|
36
|
-
// "message":"Missing field marketplaceId.",
|
|
37
|
-
// "parameters":[
|
|
38
|
-
// {
|
|
39
|
-
// "name":"fieldName",
|
|
40
|
-
// "value":"marketplaceId"
|
|
41
|
-
// },
|
|
42
|
-
// {
|
|
43
|
-
// "name":"additionalInfo",
|
|
44
|
-
// "value":""
|
|
45
|
-
// }
|
|
46
|
-
// ]
|
|
47
|
-
// }
|
|
48
|
-
// ]},
|
|
49
|
-
// "status":400,"statusText":"Bad Request"
|
|
50
|
-
// }
|
|
51
|
-
doTheThing();
|
|
30
|
+
testSyncFulfillmentPolicies();
|
|
52
31
|
//# sourceMappingURL=integration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/integration.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,0BAA0B;AAC1B,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;AACpC,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AACnC,6CAA6C;AAE7C,sBAAsB;AACtB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;AACxG,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,CAAA;AACjD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;AAC3C,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,IAAG,EAAE;IACjD,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/B,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;QAC3C,WAAW;QACX,aAAa;QACb,YAAY;QACZ,UAAU;KACb,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,2BAA2B,EAAE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createUseCaseSuccessResult, createUseCaseSystemErrorResult } from "../../types/UseCaseResult.js";
|
|
2
2
|
/**
|
|
3
3
|
* Retrieves image data from itrack for a given file ID
|
|
4
4
|
* Returns Buffer data that can be used for eBay image uploads
|
|
@@ -7,10 +7,10 @@ export const getImageFromProduct = async (opts) => {
|
|
|
7
7
|
// TODO: should I check here or elsewhere if we're getting actual image type
|
|
8
8
|
try {
|
|
9
9
|
const response = await opts.itrackAdapter.getImageData(opts.fileId);
|
|
10
|
-
return
|
|
10
|
+
return createUseCaseSuccessResult(response || null);
|
|
11
11
|
}
|
|
12
12
|
catch (error) {
|
|
13
|
-
return
|
|
13
|
+
return createUseCaseSystemErrorResult(`Error retrieving file data for fileId: ${opts.fileId}`, error);
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=GetImageFromProduct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetImageFromProduct.js","sourceRoot":"","sources":["../../../src/usecases/Images/GetImageFromProduct.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"GetImageFromProduct.js","sourceRoot":"","sources":["../../../src/usecases/Images/GetImageFromProduct.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,0BAA0B,EAC1B,8BAA8B,EACjC,MAAM,8BAA8B,CAAA;AAOrC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAC,IAA8B,EAAyC,EAAE;IAC9G,4EAA4E;IAC5E,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnE,OAAO,0BAA0B,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,8BAA8B,CACjC,0CAA0C,IAAI,CAAC,MAAM,EAAE,EACvD,KAAK,CACR,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createUseCaseSuccessResult, createUseCaseApiErrorResult } from '../../types/UseCaseResult.js';
|
|
2
2
|
/**
|
|
3
3
|
* Uploads image data to eBay and returns the upload result
|
|
4
4
|
* TODO: since pictures can expire, we may need to check if image is already uploaded
|
|
@@ -12,14 +12,14 @@ export const pushImageToEbay = async (params) => {
|
|
|
12
12
|
});
|
|
13
13
|
// Handle adapter result
|
|
14
14
|
if (!pushImageResponse.success) {
|
|
15
|
-
return
|
|
15
|
+
return createUseCaseApiErrorResult(pushImageResponse.error, 'pushImageToEbay');
|
|
16
16
|
}
|
|
17
17
|
const { data } = pushImageResponse;
|
|
18
18
|
console.log('push image success?: ', pushImageResponse);
|
|
19
|
-
return
|
|
19
|
+
return createUseCaseSuccessResult(data, pushImageResponse.request);
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
22
|
-
return
|
|
22
|
+
return createUseCaseApiErrorResult(error, 'pushImageToEbay');
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=PushImageToEbay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushImageToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/PushImageToEbay.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"PushImageToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/PushImageToEbay.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,0BAA0B,EAC1B,2BAA2B,EAC9B,MAAM,8BAA8B,CAAA;AASrC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAC,MAA4B,EAA2C,EAAE;IAC1G,IAAI,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU;SAC9C,CAAC,CAAA;QAEF,wBAAwB;QACxB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,EAAC,IAAI,EAAC,GAAG,iBAAiB,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAA;QACvD,OAAO,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAChE,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { pushImageToEbay } from "./PushImageToEbay.js";
|
|
2
2
|
import { getImageFromProduct } from "./GetImageFromProduct.js";
|
|
3
|
-
import {
|
|
3
|
+
import { createUseCaseSuccessResult, createUseCaseSystemErrorResult } from "../../types/UseCaseResult.js";
|
|
4
4
|
/**
|
|
5
5
|
* Convert and send image from Itrack to eBay
|
|
6
6
|
* This is a master use case that orchestrates getting image data and uploading to eBay
|
|
@@ -12,10 +12,10 @@ export const syncImageToEbay = async (params) => {
|
|
|
12
12
|
fileId: params.fileId,
|
|
13
13
|
});
|
|
14
14
|
if (!getImageDataResponse.success) {
|
|
15
|
-
return
|
|
15
|
+
return createUseCaseSystemErrorResult('Failed to retrieve image data from itrack', getImageDataResponse.errors);
|
|
16
16
|
}
|
|
17
17
|
if (!getImageDataResponse.data) {
|
|
18
|
-
return
|
|
18
|
+
return createUseCaseSystemErrorResult(`No image data found for fileId: ${params.fileId}`);
|
|
19
19
|
}
|
|
20
20
|
// Send image to eBay
|
|
21
21
|
const ebayResponse = await pushImageToEbay({
|
|
@@ -25,10 +25,10 @@ export const syncImageToEbay = async (params) => {
|
|
|
25
25
|
pictureSet: 'Standard'
|
|
26
26
|
});
|
|
27
27
|
if (!ebayResponse.success) {
|
|
28
|
-
return
|
|
28
|
+
return createUseCaseSystemErrorResult('Failed to upload image to eBay', ebayResponse.errors);
|
|
29
29
|
}
|
|
30
30
|
console.log('eBay image upload successful:', ebayResponse.data);
|
|
31
|
-
return
|
|
31
|
+
return createUseCaseSuccessResult({
|
|
32
32
|
fileId: params.fileId,
|
|
33
33
|
imageUploadResult: ebayResponse.data
|
|
34
34
|
}, ebayResponse.request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncImageToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/SyncImageToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"SyncImageToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/SyncImageToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAEH,0BAA0B,EAC1B,8BAA8B,EACjC,MAAM,8BAA8B,CAAA;AAerC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAC,MAA4B,EAAyC,EAAE;IACxG,8BAA8B;IAC9B,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,CAAC;QACnD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;KACxB,CAAC,CAAA;IAEF,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,8BAA8B,CACjC,2CAA2C,EAC3C,oBAAoB,CAAC,MAAM,CAC9B,CAAA;IACL,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,8BAA8B,CACjC,mCAAmC,MAAM,CAAC,MAAM,EAAE,CACrD,CAAA;IACL,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,oBAAoB,CAAC,IAAI;QACnC,UAAU,EAAE,UAAU;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,8BAA8B,CACjC,gCAAgC,EAChC,YAAY,CAAC,MAAM,CACtB,CAAA;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;IAE/D,OAAO,0BAA0B,CAC7B;QACI,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,YAAY,CAAC,IAAK;KACxC,EACD,YAAY,CAAC,OAAO,CACvB,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { syncImageToEbay } from "./SyncImageToEbay.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createUseCaseSuccessResult, createUseCaseSystemErrorResult } from "../../types/UseCaseResult.js";
|
|
3
3
|
/**
|
|
4
4
|
* Convert and send multiple images from Itrack to eBay sequentially
|
|
5
5
|
* This is a use case that orchestrates uploading multiple images to eBay
|
|
@@ -39,7 +39,7 @@ export const syncMultipleImagesToEbay = async (params) => {
|
|
|
39
39
|
}
|
|
40
40
|
// If no images were successfully processed, return an error
|
|
41
41
|
if (results.length === 0) {
|
|
42
|
-
return
|
|
42
|
+
return createUseCaseSystemErrorResult('Failed to sync any images to eBay', errors);
|
|
43
43
|
}
|
|
44
44
|
// If some images failed but at least one succeeded, return success with partial results
|
|
45
45
|
// The errors will be included in the response for the caller to handle
|
|
@@ -48,6 +48,6 @@ export const syncMultipleImagesToEbay = async (params) => {
|
|
|
48
48
|
}
|
|
49
49
|
// Return success result - errors are already logged and handled above
|
|
50
50
|
// For partial failures, the caller can check the results array length vs input array length
|
|
51
|
-
return
|
|
51
|
+
return createUseCaseSuccessResult(results);
|
|
52
52
|
};
|
|
53
53
|
//# sourceMappingURL=SyncMultipleImagesToEbay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncMultipleImagesToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/SyncMultipleImagesToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"SyncMultipleImagesToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Images/SyncMultipleImagesToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAEH,0BAA0B,EAC1B,8BAA8B,EACjC,MAAM,8BAA8B,CAAA;AAUrC;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAC,MAAqC,EAA2C,EAAE;IAC5H,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,qDAAqD;IACrD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC7B,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YACxE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/D,MAAM,YAAY,GAAG,qCAAqC,IAAI,CAAC,MAAM,EAAE,CAAA;gBACvE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACzB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBAE9C,yDAAyD;gBACzD,oCAAoC;YACxC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,uDAAuD,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAA;YACnG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,8BAA8B,CACjC,mCAAmC,EACnC,MAAM,CACT,CAAA;IACL,CAAC;IAED,wFAAwF;IACxF,uEAAuE;IACvE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAA;IAC7F,CAAC;IAED,sEAAsE;IACtE,4FAA4F;IAC5F,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { validateInventoryItem } from "../../entities/ebay/InventoryItem.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createUseCaseSuccessResult, createUseCaseValidationErrorResult, createUseCaseApiErrorResult } from "../../types/UseCaseResult.js";
|
|
3
3
|
// TODO: Do I need to check if location (store) exists or assume the plugin is up to date
|
|
4
4
|
export const pushInventoryToEbay = async (params) => {
|
|
5
5
|
// Validate the inventory item using the new validation system
|
|
6
6
|
const validationResult = validateInventoryItem(params.inventoryItem);
|
|
7
7
|
if (!validationResult.success) {
|
|
8
|
-
return
|
|
8
|
+
return createUseCaseValidationErrorResult(validationResult.errors || []);
|
|
9
9
|
}
|
|
10
10
|
try {
|
|
11
11
|
// Send request to eBay
|
|
12
12
|
const pushInventoryResponse = await params.ebayAdapter.pushInventory(params.inventoryItem, params.sku);
|
|
13
|
-
return
|
|
13
|
+
return createUseCaseSuccessResult({
|
|
14
14
|
sku: params.sku
|
|
15
15
|
}, pushInventoryResponse.request);
|
|
16
16
|
}
|
|
17
17
|
catch (error) {
|
|
18
|
-
return
|
|
18
|
+
return createUseCaseApiErrorResult(error, 'eBay inventory push failed');
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
//# sourceMappingURL=PushInventorySkuToEbay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushInventorySkuToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Inventory/PushInventorySkuToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAE5E,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"PushInventorySkuToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Inventory/PushInventorySkuToEbay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAE5E,OAAO,EAEH,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC9B,MAAM,8BAA8B,CAAA;AAgBrC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAC,MAA0B,EAA6C,EAAE;IAC9G,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAEpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,kCAAkC,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,CAAC;QACD,uBAAuB;QACvB,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QACtG,OAAO,0BAA0B,CAAC;YAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;SAClB,EACD,qBAAqB,CAAC,OAAO,CAChC,CAAA;IACD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,2BAA2B,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAA;IAC3E,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { pushInventoryToEbay } from "./PushInventorySkuToEbay.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createUseCaseSuccessResult, formatErrorsForLogging } from "../../types/UseCaseResult.js";
|
|
3
3
|
/**
|
|
4
4
|
* Convert and send ITrack inventory item to eBay
|
|
5
5
|
* Referenced using unique sku
|
|
@@ -30,7 +30,7 @@ export const syncInventoryToEbay = async (params) => {
|
|
|
30
30
|
// TODO: Write returned item + response to listing table
|
|
31
31
|
// Not sure if it makes sense to do that here and then update later if/when offer gets created
|
|
32
32
|
// or if we let the higher level offer use case handle updating/writing the row with inventory, offer id, date and success
|
|
33
|
-
return
|
|
33
|
+
return createUseCaseSuccessResult({
|
|
34
34
|
sku: params.sku
|
|
35
35
|
}, pushInventoryResponse.request);
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncInventoryToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Inventory/SyncInventoryToEbay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"SyncInventoryToEbay.js","sourceRoot":"","sources":["../../../src/usecases/Inventory/SyncInventoryToEbay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,EAEH,0BAA0B,EAC1B,sBAAsB,EAEzB,MAAM,8BAA8B,CAAA;AAarC;;;GAGG;AAEH,yDAAyD;AACzD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAC,MAAgC,EAAmD,EAAE;IAE1H,uBAAuB;IACvB,MAAM,qBAAqB,GAAG,MAAM,mBAAmB,CAAC,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAC,CAAC,CAAA;IAEhJ,kEAAkE;IAClE,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACjC,iCAAiC;QACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAsB,CAAC,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;QAElF,yEAAyE;QACzE,0BAA0B;QAC1B,6BAA6B;QAC7B,0CAA0C;QAC1C,IAAI;QACJ,6DAA6D;QAC7D,OAAO,qBAAqB,CAAA;IAChC,CAAC;IAED,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACpF,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,wDAAwD;IACxD,8FAA8F;IAC9F,0HAA0H;IAE1H,OAAO,0BAA0B,CAC7B;QACI,GAAG,EAAE,MAAM,CAAC,GAAG;KAClB,EACD,qBAAqB,CAAC,OAAO,CAChC,CAAA;AACL,CAAC,CAAA;AAED,MAAM;AACN,uDAAuD;AACvD,sFAAsF;AACtF,wFAAwF;AACxF,MAAM"}
|
|
@@ -4,7 +4,7 @@ export interface Input {
|
|
|
4
4
|
}
|
|
5
5
|
export declare const getInventoryLocationsFromEbay: (params: Input) => Promise<import("../../repositories/ebay/BaseRepo.js").RepoError | import("../../repositories/ebay/BaseRepo.js").RepoSuccess<import("../../entities/ebay/LocationDetails.js").LocationResponse> | {
|
|
6
6
|
data: import("../../index.js").InventoryLocationResponse[];
|
|
7
|
-
uuid
|
|
7
|
+
uuid?: string;
|
|
8
8
|
success: true;
|
|
9
9
|
request?: import("../../index.js").HttpRequest;
|
|
10
10
|
}>;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { InventoryLocationFull } from "../../entities/ebay/InventoryLocationFull.js";
|
|
2
|
+
import { WebEbayAdapter } from "../../adapters/ebay/WebEbayAdapter.js";
|
|
3
|
+
/**
|
|
4
|
+
* Web-friendly use case for getting inventory locations from eBay
|
|
5
|
+
*
|
|
6
|
+
* This use case is designed for web applications where:
|
|
7
|
+
* - No MySQL database connection is available
|
|
8
|
+
* - OAuth is handled via EbayOAuthManager
|
|
9
|
+
* - The web app handles data persistence
|
|
10
|
+
*
|
|
11
|
+
* Unlike SyncInventoryLocations.ts which:
|
|
12
|
+
* - Requires TokenManager and ItrackAdapter
|
|
13
|
+
* - Pulls data from product system (itrack)
|
|
14
|
+
* - Compares and syncs automatically
|
|
15
|
+
* - Stores keys in TokenManager
|
|
16
|
+
*
|
|
17
|
+
* This use case simply:
|
|
18
|
+
* - Fetches locations from eBay
|
|
19
|
+
* - Returns them to the web app
|
|
20
|
+
* - Lets the web app handle storage/comparison
|
|
21
|
+
*/
|
|
22
|
+
export interface WebGetInventoryLocationsInput {
|
|
23
|
+
/** WebEbayAdapter instance (uses EbayOAuthManager) */
|
|
24
|
+
ebayAdapter: WebEbayAdapter;
|
|
25
|
+
/** Optional pagination offset */
|
|
26
|
+
offset?: number;
|
|
27
|
+
/** Optional pagination limit */
|
|
28
|
+
limit?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface WebGetInventoryLocationsResult {
|
|
31
|
+
success: boolean;
|
|
32
|
+
locations: InventoryLocationFull[];
|
|
33
|
+
error?: {
|
|
34
|
+
message: string;
|
|
35
|
+
details?: any;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fetches inventory locations from eBay for use in a web application
|
|
40
|
+
*
|
|
41
|
+
* @param params - Input parameters including the WebEbayAdapter
|
|
42
|
+
* @returns Array of inventory locations from eBay
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // In your Express route handler
|
|
47
|
+
* app.get('/api/ebay/locations', async (req, res) => {
|
|
48
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
49
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
50
|
+
*
|
|
51
|
+
* const result = await webGetInventoryLocations({
|
|
52
|
+
* ebayAdapter: webAdapter
|
|
53
|
+
* })
|
|
54
|
+
*
|
|
55
|
+
* if (result.success) {
|
|
56
|
+
* // Web app can now save these to its database
|
|
57
|
+
* await saveLocationsToDatabase(result.locations)
|
|
58
|
+
* res.json({ locations: result.locations })
|
|
59
|
+
* } else {
|
|
60
|
+
* res.status(500).json({ error: result.error })
|
|
61
|
+
* }
|
|
62
|
+
* })
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare const webGetInventoryLocations: (params: WebGetInventoryLocationsInput) => Promise<WebGetInventoryLocationsResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Creates a new inventory location on eBay from a web application
|
|
68
|
+
*
|
|
69
|
+
* @param ebayAdapter - WebEbayAdapter instance
|
|
70
|
+
* @param location - The location data to create
|
|
71
|
+
* @param key - The merchant location key (unique identifier)
|
|
72
|
+
* @returns Success status and any error details
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // In your Express route handler
|
|
77
|
+
* app.post('/api/ebay/locations', async (req, res) => {
|
|
78
|
+
* const { location, key } = req.body
|
|
79
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
80
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
81
|
+
*
|
|
82
|
+
* const result = await webCreateInventoryLocation(webAdapter, location, key)
|
|
83
|
+
*
|
|
84
|
+
* if (result.success) {
|
|
85
|
+
* // Save to your database
|
|
86
|
+
* await saveLocationToDatabase({ location, key })
|
|
87
|
+
* res.json({ message: 'Location created successfully' })
|
|
88
|
+
* } else {
|
|
89
|
+
* res.status(500).json({ error: result.error })
|
|
90
|
+
* }
|
|
91
|
+
* })
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare const webCreateInventoryLocation: (ebayAdapter: WebEbayAdapter, location: InventoryLocationFull, key: string) => Promise<{
|
|
95
|
+
success: boolean;
|
|
96
|
+
error?: any;
|
|
97
|
+
}>;
|
|
98
|
+
//# sourceMappingURL=WebGetInventoryLocations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGetInventoryLocations.d.ts","sourceRoot":"","sources":["../../../src/usecases/Location/WebGetInventoryLocations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,6BAA6B;IAC7C,sDAAsD;IACtD,WAAW,EAAE,cAAc,CAAA;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,8BAA8B;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,qBAAqB,EAAE,CAAA;IAClC,KAAK,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,GAAG,CAAA;KACb,CAAA;CACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,GACpC,QAAQ,6BAA6B,KACnC,OAAO,CAAC,8BAA8B,CAgCxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,0BAA0B,GACtC,aAAa,cAAc,EAC3B,UAAU,qBAAqB,EAC/B,KAAK,MAAM,KACT,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,CA2B3C,CAAA"}
|