@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdatePaymentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdatePaymentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAAC,IAAmB,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1E,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../../src/usecases/PaymentPolicy/integration.test.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,uBAAuB,qBAWnC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MysqlDatastore } from "../../infrastructure/mysql/MysqlDatastore.js";
|
|
2
|
+
import { getMysqlConfigFromEnv } from "../../infrastructure/mysql/getPool.js";
|
|
3
|
+
import { TokenManager } from "../../infrastructure/TokenManager.js";
|
|
4
|
+
import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
|
|
5
|
+
import { EbayScopes } from "../../entities/ebay/Scopes.js";
|
|
6
|
+
import { MarketplaceEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
7
|
+
import { syncPaymentPolicies } from "./SyncPaymentPoliciesFromEbay.js";
|
|
8
|
+
import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
|
|
9
|
+
const PRODUCTION = false;
|
|
10
|
+
// Create mysql connection
|
|
11
|
+
const pool = getMysqlConfigFromEnv();
|
|
12
|
+
const db = new MysqlDatastore(pool);
|
|
13
|
+
//const itrackAdapter = new ItrackAdapter(db)
|
|
14
|
+
// Ebay token business
|
|
15
|
+
const tokenManager = new TokenManager(db, PRODUCTION, Object.values(EbayScopes), MarketplaceEnum.Motors);
|
|
16
|
+
const ebayAdapter = new EbayAdapter(tokenManager);
|
|
17
|
+
const itrackAdapter = new ItrackAdapter(db);
|
|
18
|
+
const production = false;
|
|
19
|
+
export const testSyncPaymentPolicies = async () => {
|
|
20
|
+
await tokenManager.initialize();
|
|
21
|
+
// Attempt to retrieve fullfiment policy(s) from ebay
|
|
22
|
+
const response = await syncPaymentPolicies({
|
|
23
|
+
ebayAdapter,
|
|
24
|
+
itrackAdapter,
|
|
25
|
+
tokenManager,
|
|
26
|
+
production
|
|
27
|
+
});
|
|
28
|
+
console.log(response);
|
|
29
|
+
};
|
|
30
|
+
testSyncPaymentPolicies();
|
|
31
|
+
//# sourceMappingURL=integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/usecases/PaymentPolicy/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,mBAAmB,EAAE,MAAM,kCAAkC,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,uBAAuB,GAAG,KAAK,IAAG,EAAE;IAC7C,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/B,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;QACvC,WAAW;QACX,aAAa;QACb,YAAY;QACZ,UAAU;KACb,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,uBAAuB,EAAE,CAAA"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { WebEbayAdapter } from "../../adapters/ebay/WebEbayAdapter.js";
|
|
2
|
+
import { MarketplaceIdEnum } from "../../entities/ebay/MarketplaceEnum.js";
|
|
3
|
+
import { FulfillmentPolicy } from "../../entities/ebay/FulfillmentPolicy.js";
|
|
4
|
+
import { PaymentPolicy } from "../../entities/ebay/PaymentPolicy.js";
|
|
5
|
+
import { ReturnPolicy } from "../../entities/ebay/ReturnPolicy.js";
|
|
6
|
+
import { EbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
|
|
7
|
+
/**
|
|
8
|
+
* Web-friendly use case for getting eBay policies (fulfillment, payment, return)
|
|
9
|
+
*
|
|
10
|
+
* This use case is designed for web applications where:
|
|
11
|
+
* - No MySQL database connection is available
|
|
12
|
+
* - OAuth is handled via EbayOAuthManager
|
|
13
|
+
* - The web app handles data persistence
|
|
14
|
+
*
|
|
15
|
+
* Unlike SyncFulfillmentPolicies.ts which:
|
|
16
|
+
* - Requires TokenManager and ItrackAdapter
|
|
17
|
+
* - Pulls data from product system (itrack)
|
|
18
|
+
* - Compares and syncs automatically
|
|
19
|
+
* - Stores keys in TokenManager
|
|
20
|
+
*
|
|
21
|
+
* This use case simply:
|
|
22
|
+
* - Fetches all policies from eBay
|
|
23
|
+
* - Returns them to the web app
|
|
24
|
+
* - Lets the web app handle storage/comparison
|
|
25
|
+
*/
|
|
26
|
+
export interface WebGetEbayPoliciesInput {
|
|
27
|
+
/** WebEbayAdapter instance (uses EbayOAuthManager) */
|
|
28
|
+
ebayAdapter: WebEbayAdapter;
|
|
29
|
+
/** eBay marketplace ID (e.g., EBAY_US, EBAY_GB) */
|
|
30
|
+
marketplaceId: MarketplaceIdEnum;
|
|
31
|
+
}
|
|
32
|
+
export interface WebGetEbayPoliciesResult {
|
|
33
|
+
success: boolean;
|
|
34
|
+
policies: {
|
|
35
|
+
fulfillment: FulfillmentPolicy[];
|
|
36
|
+
payment: PaymentPolicy[];
|
|
37
|
+
return: ReturnPolicy[];
|
|
38
|
+
};
|
|
39
|
+
error?: {
|
|
40
|
+
message: string;
|
|
41
|
+
details?: any;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fetches all eBay policies (fulfillment, payment, and return) for use in a web application
|
|
46
|
+
*
|
|
47
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
48
|
+
* @returns Object containing arrays of all three policy types
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // In your Express route handler
|
|
53
|
+
* app.get('/api/ebay/policies', async (req, res) => {
|
|
54
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
55
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
56
|
+
*
|
|
57
|
+
* const result = await webGetEbayPolicies({
|
|
58
|
+
* ebayAdapter: webAdapter,
|
|
59
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
60
|
+
* })
|
|
61
|
+
*
|
|
62
|
+
* if (result.success) {
|
|
63
|
+
* // Web app can now save these to its database
|
|
64
|
+
* await savePoliciesToDatabase(result.policies)
|
|
65
|
+
* res.json({ policies: result.policies })
|
|
66
|
+
* } else {
|
|
67
|
+
* res.status(500).json({ error: result.error })
|
|
68
|
+
* }
|
|
69
|
+
* })
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare const webGetEbayPolicies: (params: WebGetEbayPoliciesInput) => Promise<WebGetEbayPoliciesResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Fetches only fulfillment policies from eBay for use in a web application
|
|
75
|
+
*
|
|
76
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
77
|
+
* @returns Array of fulfillment policies
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* // In your Express route handler
|
|
82
|
+
* app.get('/api/ebay/policies/fulfillment', async (req, res) => {
|
|
83
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
84
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
85
|
+
*
|
|
86
|
+
* const result = await webGetFulfillmentPolicies({
|
|
87
|
+
* ebayAdapter: webAdapter,
|
|
88
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
89
|
+
* })
|
|
90
|
+
*
|
|
91
|
+
* if (result.success) {
|
|
92
|
+
* res.json({ policies: result.policies })
|
|
93
|
+
* } else {
|
|
94
|
+
* res.status(500).json({ error: result.error })
|
|
95
|
+
* }
|
|
96
|
+
* })
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare const webGetFulfillmentPolicies: (params: WebGetEbayPoliciesInput) => Promise<{
|
|
100
|
+
success: boolean;
|
|
101
|
+
policies: FulfillmentPolicy[];
|
|
102
|
+
error?: {
|
|
103
|
+
message: string;
|
|
104
|
+
details?: any;
|
|
105
|
+
};
|
|
106
|
+
}>;
|
|
107
|
+
/**
|
|
108
|
+
* Fetches only payment policies from eBay for use in a web application
|
|
109
|
+
*
|
|
110
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
111
|
+
* @returns Array of payment policies
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* // In your Express route handler
|
|
116
|
+
* app.get('/api/ebay/policies/payment', async (req, res) => {
|
|
117
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
118
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
119
|
+
*
|
|
120
|
+
* const result = await webGetPaymentPolicies({
|
|
121
|
+
* ebayAdapter: webAdapter,
|
|
122
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
123
|
+
* })
|
|
124
|
+
*
|
|
125
|
+
* if (result.success) {
|
|
126
|
+
* res.json({ policies: result.policies })
|
|
127
|
+
* } else {
|
|
128
|
+
* res.status(500).json({ error: result.error })
|
|
129
|
+
* }
|
|
130
|
+
* })
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export declare const webGetPaymentPolicies: (params: WebGetEbayPoliciesInput) => Promise<{
|
|
134
|
+
success: boolean;
|
|
135
|
+
policies: PaymentPolicy[];
|
|
136
|
+
error?: {
|
|
137
|
+
message: string;
|
|
138
|
+
details?: any;
|
|
139
|
+
};
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* Fetches only return policies from eBay for use in a web application
|
|
143
|
+
*
|
|
144
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
145
|
+
* @returns Array of return policies
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* // In your Express route handler
|
|
150
|
+
* app.get('/api/ebay/policies/return', async (req, res) => {
|
|
151
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
152
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
153
|
+
*
|
|
154
|
+
* const result = await webGetReturnPolicies({
|
|
155
|
+
* ebayAdapter: webAdapter,
|
|
156
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
157
|
+
* })
|
|
158
|
+
*
|
|
159
|
+
* if (result.success) {
|
|
160
|
+
* res.json({ policies: result.policies })
|
|
161
|
+
* } else {
|
|
162
|
+
* res.status(500).json({ error: result.error })
|
|
163
|
+
* }
|
|
164
|
+
* })
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export declare const webGetReturnPolicies: (params: WebGetEbayPoliciesInput) => Promise<{
|
|
168
|
+
success: boolean;
|
|
169
|
+
policies: ReturnPolicy[];
|
|
170
|
+
error?: {
|
|
171
|
+
message: string;
|
|
172
|
+
details?: any;
|
|
173
|
+
};
|
|
174
|
+
}>;
|
|
175
|
+
/**
|
|
176
|
+
* Input parameters for webGetNewEbayPolicies
|
|
177
|
+
*/
|
|
178
|
+
export interface WebGetNewEbayPoliciesInput extends WebGetEbayPoliciesInput {
|
|
179
|
+
/** Array of existing policy rows from the database */
|
|
180
|
+
existingPolicies: EbayPolicyRow[];
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Result from webGetNewEbayPolicies containing only new policies
|
|
184
|
+
*/
|
|
185
|
+
export interface WebGetNewEbayPoliciesResult {
|
|
186
|
+
success: boolean;
|
|
187
|
+
newPolicies: {
|
|
188
|
+
fulfillment: FulfillmentPolicy[];
|
|
189
|
+
payment: PaymentPolicy[];
|
|
190
|
+
return: ReturnPolicy[];
|
|
191
|
+
};
|
|
192
|
+
error?: {
|
|
193
|
+
message: string;
|
|
194
|
+
details?: any;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Fetches eBay policies and compares them with existing policies from the database,
|
|
199
|
+
* returning only new policies that don't exist in the database.
|
|
200
|
+
*
|
|
201
|
+
* This method:
|
|
202
|
+
* 1. Fetches all policies from eBay (fulfillment, payment, return)
|
|
203
|
+
* 2. Compares them with existing policies from the database using policyid
|
|
204
|
+
* 3. Returns only policies that are new (not in the database)
|
|
205
|
+
*
|
|
206
|
+
* @param params - Input parameters including the WebEbayAdapter, marketplace ID, and existing policies
|
|
207
|
+
* @returns Object containing arrays of only NEW policies for each type
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* // In your Express route handler
|
|
212
|
+
* app.get('/api/ebay/policies/new', async (req, res) => {
|
|
213
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
214
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
215
|
+
*
|
|
216
|
+
* // Get existing policies from your database
|
|
217
|
+
* const existingPolicies = await db.query('SELECT * FROM ebay_policies')
|
|
218
|
+
*
|
|
219
|
+
* const result = await webGetNewEbayPolicies({
|
|
220
|
+
* ebayAdapter: webAdapter,
|
|
221
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US,
|
|
222
|
+
* existingPolicies: existingPolicies
|
|
223
|
+
* })
|
|
224
|
+
*
|
|
225
|
+
* if (result.success) {
|
|
226
|
+
* // Only save the new policies to the database
|
|
227
|
+
* await saveNewPoliciesToDatabase(result.newPolicies)
|
|
228
|
+
* res.json({ newPolicies: result.newPolicies })
|
|
229
|
+
* } else {
|
|
230
|
+
* res.status(500).json({ error: result.error })
|
|
231
|
+
* }
|
|
232
|
+
* })
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
export declare const webGetNewEbayPolicies: (params: WebGetNewEbayPoliciesInput) => Promise<WebGetNewEbayPoliciesResult>;
|
|
236
|
+
//# sourceMappingURL=WebGetEbayPolicies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGetEbayPolicies.d.ts","sourceRoot":"","sources":["../../../src/usecases/Policy/WebGetEbayPolicies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches all eBay policies (fulfillment, payment, and return) for use in a web application
|
|
3
|
+
*
|
|
4
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
5
|
+
* @returns Object containing arrays of all three policy types
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // In your Express route handler
|
|
10
|
+
* app.get('/api/ebay/policies', async (req, res) => {
|
|
11
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
12
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
13
|
+
*
|
|
14
|
+
* const result = await webGetEbayPolicies({
|
|
15
|
+
* ebayAdapter: webAdapter,
|
|
16
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* if (result.success) {
|
|
20
|
+
* // Web app can now save these to its database
|
|
21
|
+
* await savePoliciesToDatabase(result.policies)
|
|
22
|
+
* res.json({ policies: result.policies })
|
|
23
|
+
* } else {
|
|
24
|
+
* res.status(500).json({ error: result.error })
|
|
25
|
+
* }
|
|
26
|
+
* })
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const webGetEbayPolicies = async (params) => {
|
|
30
|
+
try {
|
|
31
|
+
// Fetch all three policy types in parallel
|
|
32
|
+
const [fulfillmentResponse, paymentResponse, returnResponse] = await Promise.all([
|
|
33
|
+
params.ebayAdapter.getFulfillmentPolicies(),
|
|
34
|
+
params.ebayAdapter.getPaymentPolicies(),
|
|
35
|
+
params.ebayAdapter.getReturnPolicies()
|
|
36
|
+
]);
|
|
37
|
+
// Check if all requests were successful
|
|
38
|
+
if (fulfillmentResponse.success && paymentResponse.success && returnResponse.success) {
|
|
39
|
+
return {
|
|
40
|
+
success: true,
|
|
41
|
+
policies: {
|
|
42
|
+
fulfillment: fulfillmentResponse.data?.fulfillmentPolicies || [],
|
|
43
|
+
payment: paymentResponse.data?.paymentPolicies || [],
|
|
44
|
+
return: returnResponse.data?.returnPolicies || []
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// Collect errors from failed responses
|
|
50
|
+
const errors = [];
|
|
51
|
+
if (!fulfillmentResponse.success) {
|
|
52
|
+
errors.push({ type: 'fulfillment', details: fulfillmentResponse.error });
|
|
53
|
+
}
|
|
54
|
+
if (!paymentResponse.success) {
|
|
55
|
+
errors.push({ type: 'payment', details: paymentResponse.error });
|
|
56
|
+
}
|
|
57
|
+
if (!returnResponse.success) {
|
|
58
|
+
errors.push({ type: 'return', details: returnResponse.error });
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
policies: {
|
|
63
|
+
fulfillment: fulfillmentResponse.data?.fulfillmentPolicies || [],
|
|
64
|
+
payment: paymentResponse.data?.paymentPolicies || [],
|
|
65
|
+
return: returnResponse.data?.returnPolicies || []
|
|
66
|
+
},
|
|
67
|
+
error: {
|
|
68
|
+
message: 'Failed to retrieve one or more policy types from eBay',
|
|
69
|
+
details: errors
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return {
|
|
76
|
+
success: false,
|
|
77
|
+
policies: {
|
|
78
|
+
fulfillment: [],
|
|
79
|
+
payment: [],
|
|
80
|
+
return: []
|
|
81
|
+
},
|
|
82
|
+
error: {
|
|
83
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
84
|
+
details: error
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Fetches only fulfillment policies from eBay for use in a web application
|
|
91
|
+
*
|
|
92
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
93
|
+
* @returns Array of fulfillment policies
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* // In your Express route handler
|
|
98
|
+
* app.get('/api/ebay/policies/fulfillment', async (req, res) => {
|
|
99
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
100
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
101
|
+
*
|
|
102
|
+
* const result = await webGetFulfillmentPolicies({
|
|
103
|
+
* ebayAdapter: webAdapter,
|
|
104
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
105
|
+
* })
|
|
106
|
+
*
|
|
107
|
+
* if (result.success) {
|
|
108
|
+
* res.json({ policies: result.policies })
|
|
109
|
+
* } else {
|
|
110
|
+
* res.status(500).json({ error: result.error })
|
|
111
|
+
* }
|
|
112
|
+
* })
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export const webGetFulfillmentPolicies = async (params) => {
|
|
116
|
+
try {
|
|
117
|
+
const response = await params.ebayAdapter.getFulfillmentPolicies();
|
|
118
|
+
if (response.success && response.data) {
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
policies: response.data.fulfillmentPolicies || []
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return {
|
|
126
|
+
success: false,
|
|
127
|
+
policies: [],
|
|
128
|
+
error: {
|
|
129
|
+
message: 'Failed to retrieve fulfillment policies from eBay',
|
|
130
|
+
details: response.error
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
success: false,
|
|
138
|
+
policies: [],
|
|
139
|
+
error: {
|
|
140
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
141
|
+
details: error
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Fetches only payment policies from eBay for use in a web application
|
|
148
|
+
*
|
|
149
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
150
|
+
* @returns Array of payment policies
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* // In your Express route handler
|
|
155
|
+
* app.get('/api/ebay/policies/payment', async (req, res) => {
|
|
156
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
157
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
158
|
+
*
|
|
159
|
+
* const result = await webGetPaymentPolicies({
|
|
160
|
+
* ebayAdapter: webAdapter,
|
|
161
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
162
|
+
* })
|
|
163
|
+
*
|
|
164
|
+
* if (result.success) {
|
|
165
|
+
* res.json({ policies: result.policies })
|
|
166
|
+
* } else {
|
|
167
|
+
* res.status(500).json({ error: result.error })
|
|
168
|
+
* }
|
|
169
|
+
* })
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
export const webGetPaymentPolicies = async (params) => {
|
|
173
|
+
try {
|
|
174
|
+
const response = await params.ebayAdapter.getPaymentPolicies();
|
|
175
|
+
if (response.success && response.data) {
|
|
176
|
+
return {
|
|
177
|
+
success: true,
|
|
178
|
+
policies: response.data.paymentPolicies || []
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
return {
|
|
183
|
+
success: false,
|
|
184
|
+
policies: [],
|
|
185
|
+
error: {
|
|
186
|
+
message: 'Failed to retrieve payment policies from eBay',
|
|
187
|
+
details: response.error
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
return {
|
|
194
|
+
success: false,
|
|
195
|
+
policies: [],
|
|
196
|
+
error: {
|
|
197
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
198
|
+
details: error
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* Fetches only return policies from eBay for use in a web application
|
|
205
|
+
*
|
|
206
|
+
* @param params - Input parameters including the WebEbayAdapter and marketplace ID
|
|
207
|
+
* @returns Array of return policies
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* // In your Express route handler
|
|
212
|
+
* app.get('/api/ebay/policies/return', async (req, res) => {
|
|
213
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
214
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
215
|
+
*
|
|
216
|
+
* const result = await webGetReturnPolicies({
|
|
217
|
+
* ebayAdapter: webAdapter,
|
|
218
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US
|
|
219
|
+
* })
|
|
220
|
+
*
|
|
221
|
+
* if (result.success) {
|
|
222
|
+
* res.json({ policies: result.policies })
|
|
223
|
+
* } else {
|
|
224
|
+
* res.status(500).json({ error: result.error })
|
|
225
|
+
* }
|
|
226
|
+
* })
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
export const webGetReturnPolicies = async (params) => {
|
|
230
|
+
try {
|
|
231
|
+
const response = await params.ebayAdapter.getReturnPolicies();
|
|
232
|
+
if (response.success && response.data) {
|
|
233
|
+
return {
|
|
234
|
+
success: true,
|
|
235
|
+
policies: response.data.returnPolicies || []
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
return {
|
|
240
|
+
success: false,
|
|
241
|
+
policies: [],
|
|
242
|
+
error: {
|
|
243
|
+
message: 'Failed to retrieve return policies from eBay',
|
|
244
|
+
details: response.error
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
return {
|
|
251
|
+
success: false,
|
|
252
|
+
policies: [],
|
|
253
|
+
error: {
|
|
254
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
255
|
+
details: error
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Fetches eBay policies and compares them with existing policies from the database,
|
|
262
|
+
* returning only new policies that don't exist in the database.
|
|
263
|
+
*
|
|
264
|
+
* This method:
|
|
265
|
+
* 1. Fetches all policies from eBay (fulfillment, payment, return)
|
|
266
|
+
* 2. Compares them with existing policies from the database using policyid
|
|
267
|
+
* 3. Returns only policies that are new (not in the database)
|
|
268
|
+
*
|
|
269
|
+
* @param params - Input parameters including the WebEbayAdapter, marketplace ID, and existing policies
|
|
270
|
+
* @returns Object containing arrays of only NEW policies for each type
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* ```typescript
|
|
274
|
+
* // In your Express route handler
|
|
275
|
+
* app.get('/api/ebay/policies/new', async (req, res) => {
|
|
276
|
+
* const oauthManager = new EbayOAuthManager({...config})
|
|
277
|
+
* const webAdapter = new WebEbayAdapter(oauthManager)
|
|
278
|
+
*
|
|
279
|
+
* // Get existing policies from your database
|
|
280
|
+
* const existingPolicies = await db.query('SELECT * FROM ebay_policies')
|
|
281
|
+
*
|
|
282
|
+
* const result = await webGetNewEbayPolicies({
|
|
283
|
+
* ebayAdapter: webAdapter,
|
|
284
|
+
* marketplaceId: MarketplaceIdEnum.EBAY_US,
|
|
285
|
+
* existingPolicies: existingPolicies
|
|
286
|
+
* })
|
|
287
|
+
*
|
|
288
|
+
* if (result.success) {
|
|
289
|
+
* // Only save the new policies to the database
|
|
290
|
+
* await saveNewPoliciesToDatabase(result.newPolicies)
|
|
291
|
+
* res.json({ newPolicies: result.newPolicies })
|
|
292
|
+
* } else {
|
|
293
|
+
* res.status(500).json({ error: result.error })
|
|
294
|
+
* }
|
|
295
|
+
* })
|
|
296
|
+
* ```
|
|
297
|
+
*/
|
|
298
|
+
export const webGetNewEbayPolicies = async (params) => {
|
|
299
|
+
try {
|
|
300
|
+
// Fetch all three policy types in parallel
|
|
301
|
+
const [fulfillmentResponse, paymentResponse, returnResponse] = await Promise.all([
|
|
302
|
+
params.ebayAdapter.getFulfillmentPolicies(),
|
|
303
|
+
params.ebayAdapter.getPaymentPolicies(),
|
|
304
|
+
params.ebayAdapter.getReturnPolicies()
|
|
305
|
+
]);
|
|
306
|
+
// Check if all requests were successful
|
|
307
|
+
if (!fulfillmentResponse.success || !paymentResponse.success || !returnResponse.success) {
|
|
308
|
+
// Collect errors from failed responses
|
|
309
|
+
const errors = [];
|
|
310
|
+
if (!fulfillmentResponse.success) {
|
|
311
|
+
errors.push({ type: 'fulfillment', details: fulfillmentResponse.error });
|
|
312
|
+
}
|
|
313
|
+
if (!paymentResponse.success) {
|
|
314
|
+
errors.push({ type: 'payment', details: paymentResponse.error });
|
|
315
|
+
}
|
|
316
|
+
if (!returnResponse.success) {
|
|
317
|
+
errors.push({ type: 'return', details: returnResponse.error });
|
|
318
|
+
}
|
|
319
|
+
return {
|
|
320
|
+
success: false,
|
|
321
|
+
newPolicies: {
|
|
322
|
+
fulfillment: [],
|
|
323
|
+
payment: [],
|
|
324
|
+
return: []
|
|
325
|
+
},
|
|
326
|
+
error: {
|
|
327
|
+
message: 'Failed to retrieve one or more policy types from eBay',
|
|
328
|
+
details: errors
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
// Get policies from eBay responses
|
|
333
|
+
const ebayFulfillmentPolicies = fulfillmentResponse.data?.fulfillmentPolicies || [];
|
|
334
|
+
const ebayPaymentPolicies = paymentResponse.data?.paymentPolicies || [];
|
|
335
|
+
const ebayReturnPolicies = returnResponse.data?.returnPolicies || [];
|
|
336
|
+
// Separate existing policies by type
|
|
337
|
+
const existingFulfillmentPolicyIds = params.existingPolicies
|
|
338
|
+
.filter(p => p.policytype === 'fulfillment')
|
|
339
|
+
.map(p => p.policyid);
|
|
340
|
+
const existingPaymentPolicyIds = params.existingPolicies
|
|
341
|
+
.filter(p => p.policytype === 'payment')
|
|
342
|
+
.map(p => p.policyid);
|
|
343
|
+
const existingReturnPolicyIds = params.existingPolicies
|
|
344
|
+
.filter(p => p.policytype === 'return')
|
|
345
|
+
.map(p => p.policyid);
|
|
346
|
+
// Filter out policies that already exist in the database
|
|
347
|
+
const newFulfillmentPolicies = ebayFulfillmentPolicies.filter(policy => !existingFulfillmentPolicyIds.includes(policy.fulfillmentPolicyId));
|
|
348
|
+
const newPaymentPolicies = ebayPaymentPolicies.filter(policy => !existingPaymentPolicyIds.includes(policy.paymentPolicyId));
|
|
349
|
+
const newReturnPolicies = ebayReturnPolicies.filter(policy => !existingReturnPolicyIds.includes(policy.returnPolicyId));
|
|
350
|
+
return {
|
|
351
|
+
success: true,
|
|
352
|
+
newPolicies: {
|
|
353
|
+
fulfillment: newFulfillmentPolicies,
|
|
354
|
+
payment: newPaymentPolicies,
|
|
355
|
+
return: newReturnPolicies
|
|
356
|
+
}
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
return {
|
|
361
|
+
success: false,
|
|
362
|
+
newPolicies: {
|
|
363
|
+
fulfillment: [],
|
|
364
|
+
payment: [],
|
|
365
|
+
return: []
|
|
366
|
+
},
|
|
367
|
+
error: {
|
|
368
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
369
|
+
details: error
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
//# sourceMappingURL=WebGetEbayPolicies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGetEbayPolicies.js","sourceRoot":"","sources":["../../../src/usecases/Policy/WebGetEbayPolicies.ts"],"names":[],"mappings":"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"}
|