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