@isoftdata/ebay-utility 1.3.2 → 1.4.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.
Files changed (158) hide show
  1. package/lib/adapters/ebay/EbayAdapter.d.ts +3 -8
  2. package/lib/adapters/ebay/EbayAdapter.d.ts.map +1 -1
  3. package/lib/adapters/ebay/EbayAdapter.js +3 -6
  4. package/lib/adapters/ebay/EbayAdapter.js.map +1 -1
  5. package/lib/adapters/ebay/WebEbayAdapter.d.ts +3 -8
  6. package/lib/adapters/ebay/WebEbayAdapter.d.ts.map +1 -1
  7. package/lib/adapters/ebay/WebEbayAdapter.js +3 -6
  8. package/lib/adapters/ebay/WebEbayAdapter.js.map +1 -1
  9. package/lib/entities/ebay/Address.d.ts +14 -49
  10. package/lib/entities/ebay/Address.d.ts.map +1 -1
  11. package/lib/entities/ebay/Address.js.map +1 -1
  12. package/lib/index.d.ts +3 -0
  13. package/lib/index.d.ts.map +1 -1
  14. package/lib/index.js +2 -0
  15. package/lib/index.js.map +1 -1
  16. package/lib/ports/EbayInterface.d.ts +6 -1
  17. package/lib/ports/EbayInterface.d.ts.map +1 -1
  18. package/lib/usecases/Location/GetInventoryLocationsFromEbay.d.ts +1 -6
  19. package/lib/usecases/Location/GetInventoryLocationsFromEbay.d.ts.map +1 -1
  20. package/lib/usecases/Location/PushInventoryLocationToEbay.d.ts +2 -2
  21. package/lib/usecases/Location/PushInventoryLocationToEbay.d.ts.map +1 -1
  22. package/lib/usecases/Location/PushInventoryLocationToEbay.js +1 -1
  23. package/lib/usecases/Location/PushInventoryLocationToEbay.js.map +1 -1
  24. package/lib/usecases/Location/WebSyncInventoryLocations.d.ts +18 -0
  25. package/lib/usecases/Location/WebSyncInventoryLocations.d.ts.map +1 -0
  26. package/lib/usecases/Location/WebSyncInventoryLocations.js +51 -0
  27. package/lib/usecases/Location/WebSyncInventoryLocations.js.map +1 -0
  28. package/package.json +58 -57
  29. package/lib/entities/itrack/FulfillmentPolicy.d.ts +0 -10
  30. package/lib/entities/itrack/FulfillmentPolicy.d.ts.map +0 -1
  31. package/lib/entities/itrack/FulfillmentPolicy.js +0 -2
  32. package/lib/entities/itrack/FulfillmentPolicy.js.map +0 -1
  33. package/lib/entities/itrack/ItrackEbayInventoryItem.js +0 -27
  34. package/lib/entities/itrack/ItrackEbayInventoryItem.js.map +0 -1
  35. package/lib/entities/itrack/ItrackEbayListing.js +0 -2
  36. package/lib/entities/itrack/ItrackEbayListing.js.map +0 -1
  37. package/lib/entities/itrack/PaymentPolicy.d.ts +0 -10
  38. package/lib/entities/itrack/PaymentPolicy.d.ts.map +0 -1
  39. package/lib/entities/itrack/PaymentPolicy.js +0 -2
  40. package/lib/entities/itrack/PaymentPolicy.js.map +0 -1
  41. package/lib/entities/itrack/ReturnPolicy.d.ts +0 -10
  42. package/lib/entities/itrack/ReturnPolicy.d.ts.map +0 -1
  43. package/lib/entities/itrack/ReturnPolicy.js +0 -2
  44. package/lib/entities/itrack/ReturnPolicy.js.map +0 -1
  45. package/lib/examples/TokenManagerUsage.d.ts +0 -27
  46. package/lib/examples/TokenManagerUsage.d.ts.map +0 -1
  47. package/lib/examples/TokenManagerUsage.js +0 -113
  48. package/lib/examples/TokenManagerUsage.js.map +0 -1
  49. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js +0 -2
  50. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js.map +0 -1
  51. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts +0 -11
  52. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts.map +0 -1
  53. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js +0 -35
  54. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js.map +0 -1
  55. package/lib/repositories/itrack/ItrackEbayListingRepo.js +0 -62
  56. package/lib/repositories/itrack/ItrackEbayListingRepo.js.map +0 -1
  57. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts +0 -11
  58. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts.map +0 -1
  59. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js +0 -35
  60. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js.map +0 -1
  61. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts +0 -11
  62. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts.map +0 -1
  63. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js +0 -34
  64. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js.map +0 -1
  65. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js +0 -22
  66. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js.map +0 -1
  67. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js +0 -43
  68. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js.map +0 -1
  69. package/lib/test.js +0 -41
  70. package/lib/test.js.map +0 -1
  71. package/lib/tests/test.js +0 -33
  72. package/lib/tests/test.js.map +0 -1
  73. package/lib/types/UseCaseResult.examples.d.ts +0 -42
  74. package/lib/types/UseCaseResult.examples.d.ts.map +0 -1
  75. package/lib/types/UseCaseResult.examples.js +0 -168
  76. package/lib/types/UseCaseResult.examples.js.map +0 -1
  77. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts +0 -9
  78. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts.map +0 -1
  79. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js +0 -20
  80. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js.map +0 -1
  81. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts +0 -7
  82. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts.map +0 -1
  83. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js +0 -5
  84. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js.map +0 -1
  85. package/lib/usecases/FulfillmentPolicy/GetShippingOptionsFromItrack.js +0 -1
  86. package/lib/usecases/FulfillmentPolicy/GetShippingOptionsFromItrack.js.map +0 -1
  87. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts +0 -8
  88. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts.map +0 -1
  89. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js +0 -5
  90. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js.map +0 -1
  91. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts +0 -11
  92. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts.map +0 -1
  93. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js +0 -60
  94. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js.map +0 -1
  95. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts +0 -8
  96. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts.map +0 -1
  97. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js +0 -5
  98. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js.map +0 -1
  99. package/lib/usecases/GetFulfillmentPoliciesFromEbay.js +0 -15
  100. package/lib/usecases/GetFulfillmentPoliciesFromEbay.js.map +0 -1
  101. package/lib/usecases/GetInventoryLocationsFromEbay.js +0 -14
  102. package/lib/usecases/GetInventoryLocationsFromEbay.js.map +0 -1
  103. package/lib/usecases/GetListingFromProduct.js +0 -15
  104. package/lib/usecases/GetListingFromProduct.js.map +0 -1
  105. package/lib/usecases/GetPaymentPoliciesFromEbay.js +0 -15
  106. package/lib/usecases/GetPaymentPoliciesFromEbay.js.map +0 -1
  107. package/lib/usecases/GetReturnPoliciesFromEbay.js +0 -15
  108. package/lib/usecases/GetReturnPoliciesFromEbay.js.map +0 -1
  109. package/lib/usecases/Listing/GetListingFromProduct.js +0 -15
  110. package/lib/usecases/Listing/GetListingFromProduct.js.map +0 -1
  111. package/lib/usecases/Listing/PushListingToEbay.js +0 -31
  112. package/lib/usecases/Listing/PushListingToEbay.js.map +0 -1
  113. package/lib/usecases/Listing/SyncListing.js +0 -182
  114. package/lib/usecases/Listing/SyncListing.js.map +0 -1
  115. package/lib/usecases/Offer/CreateEbayOffer.d.ts +0 -10
  116. package/lib/usecases/Offer/CreateEbayOffer.d.ts.map +0 -1
  117. package/lib/usecases/Offer/CreateEbayOffer.js +0 -31
  118. package/lib/usecases/Offer/CreateEbayOffer.js.map +0 -1
  119. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts +0 -12
  120. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts.map +0 -1
  121. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js +0 -20
  122. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js.map +0 -1
  123. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts +0 -7
  124. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts.map +0 -1
  125. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js +0 -5
  126. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js.map +0 -1
  127. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts +0 -8
  128. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts.map +0 -1
  129. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js +0 -5
  130. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js.map +0 -1
  131. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts +0 -8
  132. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts.map +0 -1
  133. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js +0 -5
  134. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js.map +0 -1
  135. package/lib/usecases/PushInventoryLocationToEbay.js +0 -16
  136. package/lib/usecases/PushInventoryLocationToEbay.js.map +0 -1
  137. package/lib/usecases/PushListingToEbay.js +0 -31
  138. package/lib/usecases/PushListingToEbay.js.map +0 -1
  139. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts +0 -9
  140. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts.map +0 -1
  141. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js +0 -20
  142. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js.map +0 -1
  143. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts +0 -7
  144. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts.map +0 -1
  145. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js +0 -5
  146. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js.map +0 -1
  147. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts +0 -8
  148. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts.map +0 -1
  149. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js +0 -5
  150. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js.map +0 -1
  151. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts +0 -8
  152. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts.map +0 -1
  153. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js +0 -5
  154. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js.map +0 -1
  155. package/lib/usecases/SyncInventoryLocations.js +0 -80
  156. package/lib/usecases/SyncInventoryLocations.js.map +0 -1
  157. package/lib/usecases/SyncListing.js +0 -182
  158. package/lib/usecases/SyncListing.js.map +0 -1
@@ -1,5 +0,0 @@
1
- export const getReturnPoliciesFromItrack = async (opts) => {
2
- const policies = await opts.itrackAdapter.getReturnPolicies(opts.sandbox);
3
- return policies;
4
- };
5
- //# sourceMappingURL=GetReturnPoliciesFromItrack.js.map
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
1
- export const removeReturnPolicyFromItrack = async (opts) => {
2
- const response = await opts.itrackAdapter.deleteReturnPolicy(opts.policy);
3
- return response;
4
- };
5
- //# sourceMappingURL=RemoveReturnPolicyFromItrack.js.map
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
1
- export const updateReturnPolicyFromItrack = async (opts) => {
2
- const response = await opts.itrackAdapter.updateReturnPolicy(opts.policy);
3
- return response;
4
- };
5
- //# sourceMappingURL=UpdateReturnPolicyInItrack.js.map
@@ -1 +0,0 @@
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"}
@@ -1,80 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncInventoryLocations.js","sourceRoot":"","sources":["../../src/usecases/SyncInventoryLocations.ts"],"names":[],"mappings":"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"}
@@ -1,182 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncListing.js","sourceRoot":"","sources":["../../src/usecases/SyncListing.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAM1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAQ1D,0FAA0F;AAC1F,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAO,MAAwB,EAAE,EAAE;IAC1D,oDAAoD;IACpD,MAAM,KAAK,GAAuC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;IAE1F,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;QACtD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,aAAa,EAAE,MAAM,CAAC,aAAa;KACnC,CAAC,CAAA;IAEC,mEAAmE;IAEtE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAC9C,OAAM;IACP,CAAC;IAEE,yDAAyD;IACzD,MAAM,yBAAyB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,0BAA0B,CACvF,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,EAC1C,kBAAkB,CAAC,IAAI,CAAC,cAAc,CACtC,CAAA;IACD,IAAI,yBAAyB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACjD,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACpD,MAAM,2BAA2B,GAAG,MAAM,8BAA8B,CAAC;gBACxE,WAAW,EAAE,MAAM,CAAC,WAAW;aAC/B,CAAC,CAAA;YACF,IAAI,2BAA2B,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACjG,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,uBAAuB,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,kBAAkB;oBAC5F,IAAI,EAAE,EAAE,mBAAmB,EAAE,yBAAyB,EAAE;oBACxD,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;iBACI,CAAC;gBACL,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,uBAAuB,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,kBAAkB;oBAC5F,IAAI,EAAE,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE;oBAC9E,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;QAEF,CAAC;aACI,CAAC;YACL,OAAO,CAAC,KAAK,CAAC;gBACb,OAAO,EAAE,iDAAiD;gBAC1D,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,KAAK;aACL,CAAC,CAAA;QACH,CAAC;QACD,qHAAqH;QACrH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAEE,yCAAyC;IACzC,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7J,IAAI,qBAAqB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAChD,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChD,MAAM,uBAAuB,GAAG,MAAM,0BAA0B,CAAC;gBAChE,WAAW,EAAE,MAAM,CAAC,WAAW;aAC/B,CAAC,CAAA;YACF,IAAI,uBAAuB,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACrF,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,cAAc,kBAAkB;oBACpF,IAAI,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE;oBAChD,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;iBACI,CAAC;gBACL,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,cAAc,kBAAkB;oBACpF,IAAI,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE;oBACtE,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;QACF,CAAC;aACI,CAAC;YACL,OAAO,CAAC,KAAK,CAAC;gBACb,OAAO,EAAE,6CAA6C;gBACtD,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,cAAc;gBACvB,KAAK;aACL,CAAC,CAAA;QACH,CAAC;QACD,iHAAiH;QACjH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAEE,wCAAwC;IACxC,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAE1J,IAAI,oBAAoB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/C,IAAI,oBAAoB,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC/C,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CAAC;gBAC1D,WAAW,EAAE,MAAM,CAAC,WAAW;aAC/B,CAAC,CAAA;YACF,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC9E,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,aAAa,kBAAkB;oBAClF,IAAI,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE;oBAC9C,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;iBACI,CAAC;gBACL,OAAO,CAAC,KAAK,CAAC;oBACb,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,aAAa,kBAAkB;oBAClF,IAAI,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE;oBACnE,OAAO,EAAE,cAAc;oBACvB,KAAK;iBACL,CAAC,CAAA;YACH,CAAC;QACF,CAAC;aACI,CAAC;YACL,OAAO,CAAC,KAAK,CAAC;gBACb,OAAO,EAAE,4CAA4C;gBACrD,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,cAAc;gBACvB,KAAK;aACL,CAAC,CAAA;QACH,CAAC;QACD,iHAAiH;QACjH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAEE,qCAAqC;IACrC,MAAM,iBAAiB,GAAsB,yBAAyB,CAAC,IAAI,CAAA;IAC9E,MAAM,aAAa,GAAkB,qBAAqB,CAAC,IAAI,CAAA;IAC/D,MAAM,YAAY,GAAiB,oBAAoB,CAAC,IAAI,CAAA;IAEzD,uDAAuD;IACvD,MAAM,aAAa,GAAkB;QACvC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS;QAC5C,oBAAoB,EAAE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB;QAClE,OAAO,EAAE;YACR,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW;YAChD,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK;SACpC;KACD,CAAA;IAEE,0BAA0B;IAC1B,MAAM,KAAK,GAA6B;QAC1C,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW;QAC/C,MAAM,EAAE,cAAc,CAAC,UAAU;QACjC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG;QAChC,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW;QAClD,eAAe,EAAE;YAChB,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB;YAC1D,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,cAAc,EAAE,YAAY,CAAC,cAAc;SAC3C;QACD,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,CAAC,qBAAqB;QAClE,cAAc,EAAE;YACf,KAAK,EAAE;gBACN,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,cAAc;gBAChD,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW;aAC1C;SACD;KACD,CAAA;IAEE,mCAAmC;IACtC,iBAAiB,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE;YACR,aAAa;YACb,KAAK;YACL,cAAc,EAAE,kBAAkB,CAAC,cAAc;YACjD,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG;SAChC;QACD,WAAW,EAAE,MAAM,CAAC,EAAE;KACtB,CAAC,CAAA;AACH,CAAC,CAAA,CAAA"}