@isoftdata/ebay-utility 1.7.1 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/lib/entities/itrack/FulfillmentPolicy.d.ts +10 -0
  2. package/lib/entities/itrack/FulfillmentPolicy.d.ts.map +1 -0
  3. package/lib/entities/itrack/FulfillmentPolicy.js +2 -0
  4. package/lib/entities/itrack/FulfillmentPolicy.js.map +1 -0
  5. package/lib/entities/itrack/ItrackEbayInventoryItem.js +27 -0
  6. package/lib/entities/itrack/ItrackEbayInventoryItem.js.map +1 -0
  7. package/lib/entities/itrack/ItrackEbayListing.js +2 -0
  8. package/lib/entities/itrack/ItrackEbayListing.js.map +1 -0
  9. package/lib/entities/itrack/PaymentPolicy.d.ts +10 -0
  10. package/lib/entities/itrack/PaymentPolicy.d.ts.map +1 -0
  11. package/lib/entities/itrack/PaymentPolicy.js +2 -0
  12. package/lib/entities/itrack/PaymentPolicy.js.map +1 -0
  13. package/lib/entities/itrack/ReturnPolicy.d.ts +10 -0
  14. package/lib/entities/itrack/ReturnPolicy.d.ts.map +1 -0
  15. package/lib/entities/itrack/ReturnPolicy.js +2 -0
  16. package/lib/entities/itrack/ReturnPolicy.js.map +1 -0
  17. package/lib/examples/TokenManagerUsage.d.ts +27 -0
  18. package/lib/examples/TokenManagerUsage.d.ts.map +1 -0
  19. package/lib/examples/TokenManagerUsage.js +113 -0
  20. package/lib/examples/TokenManagerUsage.js.map +1 -0
  21. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js +2 -0
  22. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js.map +1 -0
  23. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts +11 -0
  24. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts.map +1 -0
  25. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js +35 -0
  26. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js.map +1 -0
  27. package/lib/repositories/itrack/ItrackEbayListingRepo.js +62 -0
  28. package/lib/repositories/itrack/ItrackEbayListingRepo.js.map +1 -0
  29. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts +11 -0
  30. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts.map +1 -0
  31. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js +35 -0
  32. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js.map +1 -0
  33. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts +11 -0
  34. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts.map +1 -0
  35. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js +34 -0
  36. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js.map +1 -0
  37. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js +22 -0
  38. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js.map +1 -0
  39. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js +43 -0
  40. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js.map +1 -0
  41. package/lib/test.js +41 -0
  42. package/lib/test.js.map +1 -0
  43. package/lib/types/UseCaseResult.d.ts.map +1 -1
  44. package/lib/types/UseCaseResult.examples.d.ts +42 -0
  45. package/lib/types/UseCaseResult.examples.d.ts.map +1 -0
  46. package/lib/types/UseCaseResult.examples.js +168 -0
  47. package/lib/types/UseCaseResult.examples.js.map +1 -0
  48. package/lib/types/UseCaseResult.js +31 -3
  49. package/lib/types/UseCaseResult.js.map +1 -1
  50. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts +9 -0
  51. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts.map +1 -0
  52. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js +20 -0
  53. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js.map +1 -0
  54. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts +7 -0
  55. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts.map +1 -0
  56. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js +5 -0
  57. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js.map +1 -0
  58. package/lib/usecases/FulfillmentPolicy/GetShippingOptionsFromItrack.js +1 -0
  59. package/lib/usecases/FulfillmentPolicy/GetShippingOptionsFromItrack.js.map +1 -0
  60. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts +8 -0
  61. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts.map +1 -0
  62. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js +5 -0
  63. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js.map +1 -0
  64. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts +11 -0
  65. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts.map +1 -0
  66. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js +60 -0
  67. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js.map +1 -0
  68. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts +8 -0
  69. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts.map +1 -0
  70. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js +5 -0
  71. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js.map +1 -0
  72. package/lib/usecases/GetFulfillmentPoliciesFromEbay.js +15 -0
  73. package/lib/usecases/GetFulfillmentPoliciesFromEbay.js.map +1 -0
  74. package/lib/usecases/GetInventoryLocationsFromEbay.js +14 -0
  75. package/lib/usecases/GetInventoryLocationsFromEbay.js.map +1 -0
  76. package/lib/usecases/GetListingFromProduct.js +15 -0
  77. package/lib/usecases/GetListingFromProduct.js.map +1 -0
  78. package/lib/usecases/GetPaymentPoliciesFromEbay.js +15 -0
  79. package/lib/usecases/GetPaymentPoliciesFromEbay.js.map +1 -0
  80. package/lib/usecases/GetReturnPoliciesFromEbay.js +15 -0
  81. package/lib/usecases/GetReturnPoliciesFromEbay.js.map +1 -0
  82. package/lib/usecases/Listing/GetListingFromProduct.js +15 -0
  83. package/lib/usecases/Listing/GetListingFromProduct.js.map +1 -0
  84. package/lib/usecases/Listing/PushListingToEbay.js +31 -0
  85. package/lib/usecases/Listing/PushListingToEbay.js.map +1 -0
  86. package/lib/usecases/Listing/SyncListing.js +182 -0
  87. package/lib/usecases/Listing/SyncListing.js.map +1 -0
  88. package/lib/usecases/Location/SyncInventoryLocations.d.ts +0 -6
  89. package/lib/usecases/Location/SyncInventoryLocations.d.ts.map +1 -1
  90. package/lib/usecases/Location/SyncInventoryLocations.js.map +1 -1
  91. package/lib/usecases/Location/SyncInventoryLocations_TODO.d.ts +2 -2
  92. package/lib/usecases/Location/SyncInventoryLocations_TODO.d.ts.map +1 -1
  93. package/lib/usecases/Location/SyncInventoryLocations_TODO.js.map +1 -1
  94. package/lib/usecases/Offer/CreateEbayOffer.d.ts +10 -0
  95. package/lib/usecases/Offer/CreateEbayOffer.d.ts.map +1 -0
  96. package/lib/usecases/Offer/CreateEbayOffer.js +31 -0
  97. package/lib/usecases/Offer/CreateEbayOffer.js.map +1 -0
  98. package/lib/usecases/Offer/PublishEbayOffer.d.ts.map +1 -1
  99. package/lib/usecases/Offer/PublishEbayOffer.js +2 -0
  100. package/lib/usecases/Offer/PublishEbayOffer.js.map +1 -1
  101. package/lib/usecases/Offer/SyncEbayInventoryAndOffer.d.ts.map +1 -1
  102. package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js +4 -4
  103. package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js.map +1 -1
  104. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts +12 -0
  105. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts.map +1 -0
  106. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js +20 -0
  107. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js.map +1 -0
  108. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts +7 -0
  109. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts.map +1 -0
  110. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js +5 -0
  111. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js.map +1 -0
  112. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts +8 -0
  113. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts.map +1 -0
  114. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js +5 -0
  115. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js.map +1 -0
  116. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts +8 -0
  117. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts.map +1 -0
  118. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js +5 -0
  119. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js.map +1 -0
  120. package/lib/usecases/PushInventoryLocationToEbay.js +16 -0
  121. package/lib/usecases/PushInventoryLocationToEbay.js.map +1 -0
  122. package/lib/usecases/PushListingToEbay.js +31 -0
  123. package/lib/usecases/PushListingToEbay.js.map +1 -0
  124. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts +9 -0
  125. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts.map +1 -0
  126. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js +20 -0
  127. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js.map +1 -0
  128. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts +7 -0
  129. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts.map +1 -0
  130. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js +5 -0
  131. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js.map +1 -0
  132. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts +8 -0
  133. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts.map +1 -0
  134. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js +5 -0
  135. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js.map +1 -0
  136. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts +8 -0
  137. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts.map +1 -0
  138. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js +5 -0
  139. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js.map +1 -0
  140. package/lib/usecases/SyncInventoryLocations.js +80 -0
  141. package/lib/usecases/SyncInventoryLocations.js.map +1 -0
  142. package/lib/usecases/SyncListing.js +182 -0
  143. package/lib/usecases/SyncListing.js.map +1 -0
  144. package/package.json +57 -57
  145. package/lib/usecases/Location/WebSyncInventoryLocations.d.ts +0 -18
  146. package/lib/usecases/Location/WebSyncInventoryLocations.d.ts.map +0 -1
  147. package/lib/usecases/Location/WebSyncInventoryLocations.js +0 -51
  148. package/lib/usecases/Location/WebSyncInventoryLocations.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ import { ParsedEbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
3
+ export interface InputBoundary {
4
+ itrackAdapter: ItrackAdapter;
5
+ policy: ParsedEbayPolicyRow;
6
+ }
7
+ export declare const updatePaymentPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
8
+ //# sourceMappingURL=UpdatePaymentPolicyFromItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdatePaymentPolicyFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAG/E,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,6BAA6B,GAAS,MAAM,aAAa,iBAGrE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const updatePaymentPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.updatePaymentPolicy(opts.policy);
3
+ return response;
4
+ };
5
+ //# sourceMappingURL=UpdatePaymentPolicyFromItrack.js.map
@@ -0,0 +1 @@
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,16 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export const pushInventoryLocation = (params) => __awaiter(void 0, void 0, void 0, function* () {
11
+ const location = yield params.ebay.getInventoryLocation(params.data.key);
12
+ if (!location) {
13
+ yield params.ebay.createInventoryLocation(params.data);
14
+ }
15
+ });
16
+ //# sourceMappingURL=PushInventoryLocationToEbay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushInventoryLocationToEbay.js","sourceRoot":"","sources":["../../src/usecases/PushInventoryLocationToEbay.ts"],"names":[],"mappings":";;;;;;;;;AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAO,MAAyB,EAAE,EAAE;IACxE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;AACF,CAAC,CAAA,CAAA"}
@@ -0,0 +1,31 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { validate as validateInventoryItem } from "../entities/ebay/InventoryItem.js";
11
+ import { validateEbayOfferDetails } from "../entities/ebay/Offer.js";
12
+ import { isValidationError } from "../entities/ebay/validation.js";
13
+ export const pushListingToEbay = (params) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const inventoryItem = validateInventoryItem(params.listing.inventoryItem);
15
+ const offer = validateEbayOfferDetails(params.listing.offer);
16
+ const validationFailures = [inventoryItem, offer].filter(isValidationError);
17
+ if (validationFailures.length) {
18
+ console.log('Error pushing listing to ebay');
19
+ console.log(validationFailures);
20
+ }
21
+ else {
22
+ const pushListingResponse = yield params.ebayAdapter.pushListing({
23
+ inventoryItem: params.listing.inventoryItem,
24
+ offer: params.listing.offer,
25
+ shouldBeOnEbay: params.listing.shouldBeOnEbay,
26
+ sku: params.listing.sku,
27
+ });
28
+ console.log("push listing success?: ", pushListingResponse);
29
+ }
30
+ });
31
+ //# sourceMappingURL=PushListingToEbay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushListingToEbay.js","sourceRoot":"","sources":["../../src/usecases/PushListingToEbay.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,EAAC,QAAQ,IAAI,qBAAqB,EAAC,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAalE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAM,MAAwB,EAAiB,EAAE;IAC9E,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,kBAAkB,GAAG,CAAE,aAAa,EAAE,KAAK,CAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC7E,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACnC,CAAC;SAAM,CAAC;QACJ,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;YACtE,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YAC3C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;YAC3B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc;YAC7C,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;SACvB,CAAC,CAAA;QACI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAA;IAC/D,CAAC;AACL,CAAC,CAAA,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ import { ParsedEbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
3
+ import { UseCaseResult } from "../../types/UseCaseResult.js";
4
+ export interface InputBoundary {
5
+ itrackAdapter: ItrackAdapter;
6
+ policy: ParsedEbayPolicyRow;
7
+ }
8
+ export declare const addReturnPolicyToItrack: (opts: InputBoundary) => Promise<UseCaseResult<any>>;
9
+ //# sourceMappingURL=AddReturnPolicyToItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddReturnPolicyToItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/AddReturnPolicyToItrack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EACH,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAErC,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,uBAAuB,GAAS,MAAM,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAiB5F,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { createAdapterError } from "../../adapters/AdapterResult.js";
2
+ import { createSuccessResult } from "../../types/UseCaseResult.js";
3
+ export const addReturnPolicyToItrack = async (opts) => {
4
+ const response = await opts.itrackAdapter.addPolicy(opts.policy);
5
+ if (response.success) {
6
+ return createSuccessResult({
7
+ data: response.data,
8
+ request: response.request
9
+ });
10
+ }
11
+ else {
12
+ return createAdapterError({
13
+ type: 'system',
14
+ message: 'Error adding policy',
15
+ originalError: response.error,
16
+ context: response.context
17
+ });
18
+ }
19
+ };
20
+ //# sourceMappingURL=AddReturnPolicyToItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddReturnPolicyToItrack.js","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/AddReturnPolicyToItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE,OAAO,EAEH,mBAAmB,EACtB,MAAM,8BAA8B,CAAA;AAOrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAC,IAAmB,EAA+B,EAAE;IAE7F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,mBAAmB,CAAC;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC5B,CAAC,CAAA;IACN,CAAC;SAAM,CAAC;QACJ,OAAO,kBAAkB,CAAC;YACtB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE,QAAQ,CAAC,KAAK;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC5B,CAAC,CAAA;IACN,CAAC;AAEL,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ export interface InputBoundary {
3
+ itrackAdapter: ItrackAdapter;
4
+ sandbox: boolean;
5
+ }
6
+ export declare const getReturnPoliciesFromItrack: (opts: InputBoundary) => Promise<import("../../adapters/AdapterResult.js").AdapterResult<import("../../entities/itrack/ItrackEbayPolicy.js").EbayPolicyRow[]>>;
7
+ //# sourceMappingURL=GetReturnPoliciesFromItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetReturnPoliciesFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,2BAA2B,GAAU,MAAM,aAAa,0IAGpE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const getReturnPoliciesFromItrack = async (opts) => {
2
+ const policies = await opts.itrackAdapter.getReturnPolicies(opts.sandbox);
3
+ return policies;
4
+ };
5
+ //# sourceMappingURL=GetReturnPoliciesFromItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetReturnPoliciesFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,IAAmB,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzE,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ import { ParsedEbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
3
+ export interface InputBoundary {
4
+ itrackAdapter: ItrackAdapter;
5
+ policy: ParsedEbayPolicyRow;
6
+ }
7
+ export declare const removeReturnPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
8
+ //# sourceMappingURL=RemoveReturnPolicyFromItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveReturnPolicyFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,4BAA4B,GAAS,MAAM,aAAa,iBAGpE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const removeReturnPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.deleteReturnPolicy(opts.policy);
3
+ return response;
4
+ };
5
+ //# sourceMappingURL=RemoveReturnPolicyFromItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveReturnPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzE,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ import { ParsedEbayPolicyRow } from "../../entities/itrack/ItrackEbayPolicy.js";
3
+ export interface InputBoundary {
4
+ itrackAdapter: ItrackAdapter;
5
+ policy: ParsedEbayPolicyRow;
6
+ }
7
+ export declare const updateReturnPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
8
+ //# sourceMappingURL=UpdateReturnPolicyInItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateReturnPolicyInItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,4BAA4B,GAAS,MAAM,aAAa,iBAGpE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const updateReturnPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.updateReturnPolicy(opts.policy);
3
+ return response;
4
+ };
5
+ //# sourceMappingURL=UpdateReturnPolicyInItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateReturnPolicyInItrack.js","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzE,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -0,0 +1,80 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { validateInventoryLocationFull } from "../entities/ebay/InventoryLocationFull.js";
11
+ import { isValidationError } from "../entities/ebay/validation.js";
12
+ export const syncInventoryLocations = (params) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const locationsFromProduct = yield params.itrackAdapter.getInventoryLocations();
14
+ const locationsFromEbay = yield params.ebayAdapter.getInventoryLocations();
15
+ if (locationsFromEbay.success === false) {
16
+ console.error({
17
+ message: "Could not retrieve locations from eBay",
18
+ context: "Ebay Adapter",
19
+ data: locationsFromEbay,
20
+ });
21
+ // This seems fatal to the whole application
22
+ // TODO: make this non-fatal
23
+ process.exit(1);
24
+ }
25
+ const remoteKeys = locationsFromEbay.data.map(l => l.merchantLocationKey);
26
+ const newLocations = locationsFromProduct.reduce((prev, cur) => {
27
+ if (remoteKeys.includes(cur.key)) {
28
+ console.info({
29
+ context: "SyncInventoryLocations",
30
+ message: `Location ${cur.key} already exists`,
31
+ data: {},
32
+ mysql: { table: "store", id: cur.storeId },
33
+ });
34
+ params.tokenManager.addStoreKey(cur.key);
35
+ return prev;
36
+ }
37
+ return [...prev, cur];
38
+ }, []);
39
+ for (const entry of newLocations) {
40
+ // Converting USA to US will save people a lot of trouble
41
+ if (entry.location.location.address.country === "USA")
42
+ entry.location.location.address.country = "US";
43
+ // validation
44
+ try {
45
+ validateInventoryLocationFull(entry.location);
46
+ }
47
+ catch (err) {
48
+ if (isValidationError(err)) {
49
+ console.error({
50
+ message: `Invalid Location ${entry.key}`,
51
+ context: "ValidationError",
52
+ data: err.objectify(),
53
+ mysql: { table: "store", id: entry.storeId },
54
+ });
55
+ }
56
+ continue;
57
+ }
58
+ // request
59
+ const request = entry;
60
+ const response = yield params.ebayAdapter.createInventoryLocation(request);
61
+ if (response.success) {
62
+ params.tokenManager.addStoreKey(entry.key);
63
+ console.info({
64
+ message: `Location ${entry.key} created`,
65
+ context: "Ebay Adapter",
66
+ data: response,
67
+ mysql: { table: "store", id: entry.storeId },
68
+ });
69
+ }
70
+ else {
71
+ console.error({
72
+ context: "Ebay Adapter",
73
+ message: `Inventory Location ${entry.key} rejected by eBay!`,
74
+ data: response,
75
+ mysql: { table: "store", id: entry.storeId },
76
+ });
77
+ }
78
+ }
79
+ });
80
+ //# sourceMappingURL=SyncInventoryLocations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncInventoryLocations.js","sourceRoot":"","sources":["../../src/usecases/SyncInventoryLocations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getListingFromProduct } from './GetListingFromProduct.js';
11
+ import { getFulfillmentPoliciesFromEbay } from './GetFulfillmentPoliciesFromEbay.js';
12
+ import { getPaymentPoliciesFromEbay } from './GetPaymentPoliciesFromEbay.js';
13
+ import { getReturnPoliciesFromEbay } from './GetReturnPoliciesFromEbay.js';
14
+ import { FormatTypeEnum } from '../entities/ebay/Offer.js';
15
+ import { pushListingToEbay } from './PushListingToEbay.js';
16
+ // // call the necessary functions from the services and repositories but not include the
17
+ // // details of that logic here...it just coordinates the sequence of operations
18
+ export const syncListing = (params) => __awaiter(void 0, void 0, void 0, function* () {
19
+ // Step 1: Fetch the record from the ITrack database
20
+ const mysql = { table: "inventory", id: params.id };
21
+ const listingFromProduct = yield getListingFromProduct({
22
+ id: params.id,
23
+ itrackAdapter: params.itrackAdapter,
24
+ });
25
+ // Step 2: Check if the record has a destination store, skip if not
26
+ if (!params.tokenManager.validStores.includes(listingFromProduct.ebay.merchant_location_key)) {
27
+ console.log("No destination store, skipping.");
28
+ return;
29
+ }
30
+ // Step 3: Get fulfillment policies from eBay for the IDs
31
+ const fulfillmentPolicyResponse = yield params.ebayAdapter.getFulfillmentPolicyByName(listingFromProduct.ebay.fulfillment_policy, listingFromProduct.ebay.marketplace_id);
32
+ if (fulfillmentPolicyResponse.success === false) {
33
+ if (fulfillmentPolicyResponse.error.status === 404) {
34
+ const fulfillmentPoliciesResponse = yield getFulfillmentPoliciesFromEbay({
35
+ ebayAdapter: params.ebayAdapter,
36
+ });
37
+ if (fulfillmentPoliciesResponse.success) {
38
+ const fulfillmentPolicies = fulfillmentPoliciesResponse.data.fulfillmentPolicies.map(p => p.name);
39
+ console.error({
40
+ message: `Fulfillment Policy "${listingFromProduct.ebay.fulfillment_policy}" doesn't exist!`,
41
+ data: { fulfillmentPolicies, fulfillmentPolicyResponse },
42
+ context: "Ebay Adapter",
43
+ mysql,
44
+ });
45
+ }
46
+ else {
47
+ console.error({
48
+ message: `Fulfillment Policy "${listingFromProduct.ebay.fulfillment_policy}" doesn't exist!`,
49
+ data: { fulfillmentPolicies: "could not retreive", fulfillmentPolicyResponse },
50
+ context: "Ebay Adapter",
51
+ mysql,
52
+ });
53
+ }
54
+ }
55
+ else {
56
+ console.error({
57
+ message: "Unknown Error when fetching Fulfillment Policy!",
58
+ data: fulfillmentPolicyResponse,
59
+ context: "Ebay Adapter",
60
+ mysql,
61
+ });
62
+ }
63
+ // If we can't use the assigned fulfillment policy, this is currently a fatal error as all items use the same policy.
64
+ process.exit(1);
65
+ }
66
+ // Step 4: Get payment policies from eBay
67
+ const paymentPolicyResponse = yield params.ebayAdapter.getPaymentPolicyByName(listingFromProduct.ebay.payment_policy, listingFromProduct.ebay.marketplace_id);
68
+ if (paymentPolicyResponse.success === false) {
69
+ if (paymentPolicyResponse.error.status === 404) {
70
+ const paymentPoliciesResponse = yield getPaymentPoliciesFromEbay({
71
+ ebayAdapter: params.ebayAdapter,
72
+ });
73
+ if (paymentPoliciesResponse.success) {
74
+ const paymentPolicies = paymentPoliciesResponse.data.paymentPolicies.map(p => p.name);
75
+ console.error({
76
+ message: `Payment Policy "${listingFromProduct.ebay.payment_policy}" doesn't exist!`,
77
+ data: { paymentPolicies, paymentPolicyResponse },
78
+ context: "Ebay Adapter",
79
+ mysql,
80
+ });
81
+ }
82
+ else {
83
+ console.error({
84
+ message: `Payment Policy "${listingFromProduct.ebay.payment_policy}" doesn't exist!`,
85
+ data: { paymentPolicies: "could not retrieve", paymentPolicyResponse },
86
+ context: "Ebay Adapter",
87
+ mysql,
88
+ });
89
+ }
90
+ }
91
+ else {
92
+ console.error({
93
+ message: "Unknown Error when fetching Payment Policy!",
94
+ data: paymentPolicyResponse,
95
+ context: "Ebay Adapter",
96
+ mysql,
97
+ });
98
+ }
99
+ // If we can't use the assigned payment policy, this is currently a fatal error as all items use the same policy.
100
+ process.exit(1);
101
+ }
102
+ // Step 5: Get return policies from eBay
103
+ const returnPolicyResponse = yield params.ebayAdapter.getReturnPolicyByName(listingFromProduct.ebay.return_policy, listingFromProduct.ebay.marketplace_id);
104
+ if (returnPolicyResponse.success === false) {
105
+ if (returnPolicyResponse.error.status === 404) {
106
+ const returnPoliciesFull = yield getReturnPoliciesFromEbay({
107
+ ebayAdapter: params.ebayAdapter,
108
+ });
109
+ if (returnPoliciesFull.success) {
110
+ const returnPolicies = returnPoliciesFull.data.returnPolicies.map(p => p.name);
111
+ console.error({
112
+ message: `Return Policy "${listingFromProduct.ebay.return_policy}" doesn't exist!`,
113
+ data: { returnPolicies, returnPolicyResponse },
114
+ context: "Ebay Adapter",
115
+ mysql,
116
+ });
117
+ }
118
+ else {
119
+ console.error({
120
+ message: `Return Policy "${listingFromProduct.ebay.return_policy}" doesn't exist!`,
121
+ data: { returnPolices: "could not retreive", returnPolicyResponse },
122
+ context: "Ebay Adapter",
123
+ mysql,
124
+ });
125
+ }
126
+ }
127
+ else {
128
+ console.error({
129
+ message: "Unknown Error when fetching Return Policy!",
130
+ data: returnPolicyResponse,
131
+ context: "Ebay Adapter",
132
+ mysql,
133
+ });
134
+ }
135
+ // If we can't use the assigned payment policy, this is currently a fatal error as all items use the same policy.
136
+ process.exit(1);
137
+ }
138
+ // Step 6: Gather required documents?
139
+ const fulfillmentPolicy = fulfillmentPolicyResponse.data;
140
+ const paymentPolicy = paymentPolicyResponse.data;
141
+ const returnPolicy = returnPolicyResponse.data;
142
+ // Step 7: Convert the ITrack record to an eBay product
143
+ const inventoryItem = {
144
+ condition: listingFromProduct.ebay.condition,
145
+ conditionDescription: listingFromProduct.ebay.conditionDescription,
146
+ product: {
147
+ description: listingFromProduct.ebay.description,
148
+ title: listingFromProduct.ebay.title,
149
+ }
150
+ };
151
+ // Step 8: Conver to Offer
152
+ const offer = {
153
+ categoryId: listingFromProduct.ebay.category_id,
154
+ format: FormatTypeEnum.FixedPrice,
155
+ sku: listingFromProduct.ebay.sku,
156
+ marketplaceId: listingFromProduct.ebay.marketplace,
157
+ listingPolicies: {
158
+ fulfillmentPolicyId: fulfillmentPolicy.fulfillmentPolicyId,
159
+ paymentPolicyId: paymentPolicy.paymentPolicyId,
160
+ returnPolicyId: returnPolicy.returnPolicyId,
161
+ },
162
+ merchantLocationKey: listingFromProduct.ebay.merchant_location_key,
163
+ pricingSummary: {
164
+ price: {
165
+ currency: listingFromProduct.ebay.price_currency,
166
+ value: listingFromProduct.ebay.price_value,
167
+ }
168
+ }
169
+ };
170
+ // Step 9: Push the listing to eBay
171
+ pushListingToEbay({
172
+ ebayAdapter: params.ebayAdapter,
173
+ listing: {
174
+ inventoryItem,
175
+ offer,
176
+ shouldBeOnEbay: listingFromProduct.shouldBeOnEbay,
177
+ sku: listingFromProduct.ebay.sku,
178
+ },
179
+ inventoryId: params.id
180
+ });
181
+ });
182
+ //# sourceMappingURL=SyncListing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncListing.js","sourceRoot":"","sources":["../../src/usecases/SyncListing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,57 +1,57 @@
1
- {
2
- "name": "@isoftdata/ebay-utility",
3
- "version": "1.7.1",
4
- "main": "lib/index.js",
5
- "types": "lib/index.d.ts",
6
- "type": "module",
7
- "exports": {
8
- ".": {
9
- "import": "./lib/index.js",
10
- "types": "./lib/index.d.ts"
11
- }
12
- },
13
- "files": [
14
- "lib/**/*",
15
- "!lib/tests/**/*",
16
- "README.md"
17
- ],
18
- "scripts": {
19
- "test": "node --import tsx --test src/tests/*.test.ts",
20
- "build": "tsc --version && tsc",
21
- "build-start": "tsc --version && tsc && node lib/tests",
22
- "prepublishOnly": "npm run build"
23
- },
24
- "keywords": [
25
- "ebay",
26
- "api",
27
- "inventory",
28
- "listing",
29
- "ecommerce"
30
- ],
31
- "author": "Your Name <your.email@example.com>",
32
- "license": "ISC",
33
- "description": "A TypeScript utility library for eBay API operations including inventory management, listings, and policy handling",
34
- "dependencies": {
35
- "@lukeed/uuid": "^2.0.1",
36
- "@types/xml2js": "^0.4.14",
37
- "csrf": "^3.1.0",
38
- "dataloader": "^2.2.2",
39
- "dotenv": "^16.4.5",
40
- "fs": "^0.0.1-security",
41
- "mysql2": "^3.16.0",
42
- "query-string": "^9.3.1",
43
- "validator": "^13.12.0",
44
- "xml2js": "^0.6.2",
45
- "yup": "^1.4.0",
46
- "zod": "^3.23.8"
47
- },
48
- "devDependencies": {
49
- "@isoftdata/prettier-config-base": "^1.0.3",
50
- "@types/node": "^20.0.0",
51
- "@types/validator": "^13.0.0",
52
- "ts-node": "^10.9.2",
53
- "tsx": "^4.21.0",
54
- "typescript": "^5.0.0"
55
- },
56
- "prettier": "@isoftdata/prettier-config-base"
57
- }
1
+ {
2
+ "name": "@isoftdata/ebay-utility",
3
+ "version": "1.7.2",
4
+ "main": "lib/index.js",
5
+ "types": "lib/index.d.ts",
6
+ "type": "module",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./lib/index.js",
10
+ "types": "./lib/index.d.ts"
11
+ }
12
+ },
13
+ "files": [
14
+ "lib/**/*",
15
+ "!lib/tests/**/*",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "test": "node --import tsx --test src/tests/*.test.ts",
20
+ "build": "tsc --version && tsc",
21
+ "build-start": "tsc --version && tsc && node lib/tests",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "keywords": [
25
+ "ebay",
26
+ "api",
27
+ "inventory",
28
+ "listing",
29
+ "ecommerce"
30
+ ],
31
+ "author": "Your Name <your.email@example.com>",
32
+ "license": "ISC",
33
+ "description": "A TypeScript utility library for eBay API operations including inventory management, listings, and policy handling",
34
+ "dependencies": {
35
+ "@lukeed/uuid": "^2.0.1",
36
+ "@types/xml2js": "^0.4.14",
37
+ "csrf": "^3.1.0",
38
+ "dataloader": "^2.2.2",
39
+ "dotenv": "^16.4.5",
40
+ "fs": "^0.0.1-security",
41
+ "mysql2": "^3.16.0",
42
+ "query-string": "^9.3.1",
43
+ "validator": "^13.12.0",
44
+ "xml2js": "^0.6.2",
45
+ "yup": "^1.4.0",
46
+ "zod": "^3.23.8"
47
+ },
48
+ "devDependencies": {
49
+ "@isoftdata/prettier-config-base": "^1.0.3",
50
+ "@types/node": "^20.0.0",
51
+ "@types/validator": "^13.0.0",
52
+ "ts-node": "^10.9.2",
53
+ "tsx": "^4.21.0",
54
+ "typescript": "^5.0.0"
55
+ },
56
+ "prettier": "@isoftdata/prettier-config-base"
57
+ }
@@ -1,18 +0,0 @@
1
- import { EbayInterface } from '../../ports/EbayInterface.js';
2
- import { InventoryLocationResponse } from '../../entities/ebay/InventoryLocation.js';
3
- import { InventoryLocationDTO } from './SyncInventoryLocations.js';
4
- export interface WebSyncInventoryLocationsInput {
5
- ebayAdapter: EbayInterface;
6
- data: InventoryLocationDTO;
7
- }
8
- export interface WebSyncInventoryLocationsResult {
9
- success: boolean;
10
- created: boolean;
11
- locations: InventoryLocationResponse[];
12
- error?: {
13
- message: string;
14
- details?: unknown;
15
- };
16
- }
17
- export declare const webSyncInventoryLocations: (params: WebSyncInventoryLocationsInput) => Promise<WebSyncInventoryLocationsResult>;
18
- //# sourceMappingURL=WebSyncInventoryLocations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebSyncInventoryLocations.d.ts","sourceRoot":"","sources":["../../../src/usecases/Location/WebSyncInventoryLocations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,MAAM,WAAW,8BAA8B;IAC9C,WAAW,EAAE,aAAa,CAAA;IAC1B,IAAI,EAAE,oBAAoB,CAAA;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC/C,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,yBAAyB,EAAE,CAAA;IACtC,KAAK,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;CACD;AAED,eAAO,MAAM,yBAAyB,GACrC,QAAQ,8BAA8B,KACpC,OAAO,CAAC,+BAA+B,CAsDzC,CAAA"}