@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
package/lib/test.js ADDED
@@ -0,0 +1,41 @@
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 { EbayAdapter } from "./adapters/ebay/EbayAdapter.js";
11
+ import { ItrackAdapter } from "./adapters/itrack/ItrackAdapter.js";
12
+ import { getMysqlConfigFromEnv } from "./infrastructure/mysql/getPool.js";
13
+ import { MysqlDatastore } from "./infrastructure/mysql/MysqlDatastore.js";
14
+ import { TokenManager } from "./infrastructure/TokenManager.js";
15
+ import { doFetch } from "./infrastructure/http.js";
16
+ import { EbayScopes } from "./entities/ebay/Scopes.js";
17
+ import { MarketplaceEnum } from "./entities/ebay/MarketplaceEnum.js";
18
+ /*
19
+ Currently just a place for me to cobble together and try use cases for Agg
20
+ */
21
+ const PRODUCTION = false;
22
+ // Create mysql connection
23
+ const pool = getMysqlConfigFromEnv();
24
+ const db = new MysqlDatastore(pool);
25
+ const itrackAdapter = new ItrackAdapter(db);
26
+ // Get ebay token
27
+ // TODO: fix the doFetch typing business
28
+ const tokenManager = new TokenManager(db, doFetch, PRODUCTION, Object.values(EbayScopes), MarketplaceEnum.Motors);
29
+ const ebayAdapter = new EbayAdapter(tokenManager);
30
+ const doTheThing = () => __awaiter(void 0, void 0, void 0, function* () {
31
+ yield tokenManager.initialize();
32
+ // Attempt to retrieve locations from product
33
+ const locationsFromProduct = yield itrackAdapter.getInventoryLocations();
34
+ if (locationsFromProduct.length) {
35
+ console.log('locations found: ', locationsFromProduct.length);
36
+ }
37
+ const locationsFromEbay = yield ebayAdapter.getInventoryLocations();
38
+ console.log('locations from ebay: ', locationsFromEbay);
39
+ });
40
+ doTheThing();
41
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE;;EAEE;AAEF,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,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;AAC3C,iBAAiB;AACjB,wCAAwC;AACxC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,OAAc,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;AACxH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,CAAA;AAIjD,MAAM,UAAU,GAAG,GAAQ,EAAE;IAC3B,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/B,8CAA8C;IAC9C,MAAM,oBAAoB,GAAG,MAAM,aAAa,CAAC,qBAAqB,EAAE,CAAA;IACxE,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE/D,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,qBAAqB,EAAE,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAA;AAEzD,CAAC,CAAA,CAAA;AAED,UAAU,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UseCaseResult.d.ts","sourceRoot":"","sources":["../../src/types/UseCaseResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UseCaseResult.d.ts","sourceRoot":"","sources":["../../src/types/UseCaseResult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Examples demonstrating how to use the unified UseCaseResult type system
3
+ * This file shows common patterns and best practices
4
+ */
5
+ import { UseCaseResult } from './UseCaseResult.js';
6
+ interface UserData {
7
+ id: number;
8
+ name: string;
9
+ email: string;
10
+ }
11
+ export declare const getUserById: (id: number) => Promise<UseCaseResult<UserData>>;
12
+ interface CreateUserInput {
13
+ name: string;
14
+ email: string;
15
+ }
16
+ export declare const createUser: (input: CreateUserInput) => Promise<UseCaseResult<UserData>>;
17
+ interface UserWithProfile {
18
+ user: UserData;
19
+ profileComplete: boolean;
20
+ lastLogin?: Date;
21
+ }
22
+ export declare const getUserWithProfile: (userId: number) => Promise<UseCaseResult<UserWithProfile>>;
23
+ export declare const createMultipleUsers: (users: CreateUserInput[]) => Promise<UseCaseResult<UserData[]>>;
24
+ export declare const handleUseCaseResult: () => Promise<void>;
25
+ interface LegacyResponse {
26
+ success: boolean;
27
+ data?: any;
28
+ error?: string;
29
+ error_message?: string;
30
+ }
31
+ export declare const convertLegacyResponse: <T>(legacy: LegacyResponse) => UseCaseResult<T>;
32
+ interface EbayInventoryData {
33
+ sku: string;
34
+ quantity: number;
35
+ price: number;
36
+ }
37
+ export declare const pushInventoryToEbayExample: (inventory: EbayInventoryData) => Promise<UseCaseResult<{
38
+ sku: string;
39
+ ebayResponse: any;
40
+ }>>;
41
+ export {};
42
+ //# sourceMappingURL=UseCaseResult.examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UseCaseResult.examples.d.ts","sourceRoot":"","sources":["../../src/types/UseCaseResult.examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,aAAa,EAQhB,MAAM,oBAAoB,CAAC;AAG5B,UAAU,QAAQ;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,GAAS,IAAI,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAQ5E,CAAC;AAGF,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,GAAS,OAAO,eAAe,KAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAgCvF,CAAC;AAGF,UAAU,eAAe;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,GAAS,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAqB9F,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAS,OAAO,eAAe,EAAE,KAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAMpG,CAAC;AAGF,eAAO,MAAM,mBAAmB,qBAgC/B,CAAC;AAGF,UAAU,cAAc;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,QAAQ,cAAc,KAAG,aAAa,CAAC,CAAC,CAOhF,CAAC;AAGF,UAAU,iBAAiB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,0BAA0B,GACnC,WAAW,iBAAiB,KAC7B,OAAO,CAAC,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,GAAG,CAAA;CAAE,CAAC,CAsC3D,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Examples demonstrating how to use the unified UseCaseResult type system
3
+ * This file shows common patterns and best practices
4
+ */
5
+ import { createSuccessResult, createValidationErrorResult, createApiErrorResult, createSystemErrorResult, combineResults, isSuccessResult, formatErrorsForLogging } from './UseCaseResult.js';
6
+ export const getUserById = async (id) => {
7
+ try {
8
+ // Simulate API call
9
+ const userData = await fetchUserFromAPI(id);
10
+ return createSuccessResult(userData);
11
+ }
12
+ catch (error) {
13
+ return createApiErrorResult(error, 'Failed to fetch user');
14
+ }
15
+ };
16
+ export const createUser = async (input) => {
17
+ // Validation
18
+ const validationErrors = [];
19
+ if (!input.name || input.name.trim().length < 2) {
20
+ validationErrors.push({
21
+ field: 'name',
22
+ message: 'Name must be at least 2 characters long',
23
+ value: input.name,
24
+ code: 'MIN_LENGTH'
25
+ });
26
+ }
27
+ if (!input.email || !input.email.includes('@')) {
28
+ validationErrors.push({
29
+ field: 'email',
30
+ message: 'Valid email address is required',
31
+ value: input.email,
32
+ code: 'INVALID_FORMAT'
33
+ });
34
+ }
35
+ if (validationErrors.length > 0) {
36
+ return createValidationErrorResult(validationErrors);
37
+ }
38
+ try {
39
+ const newUser = await createUserInAPI(input);
40
+ return createSuccessResult(newUser);
41
+ }
42
+ catch (error) {
43
+ return createApiErrorResult(error, 'Failed to create user');
44
+ }
45
+ };
46
+ export const getUserWithProfile = async (userId) => {
47
+ // Get user data
48
+ const userResult = await getUserById(userId);
49
+ if (!userResult.success) {
50
+ return createSystemErrorResult('Failed to get user data', userResult.errors);
51
+ }
52
+ try {
53
+ // Get additional profile data
54
+ const profileData = await fetchUserProfile(userId);
55
+ const loginData = await fetchLastLogin(userId);
56
+ return createSuccessResult({
57
+ user: userResult.data,
58
+ profileComplete: profileData.isComplete,
59
+ lastLogin: loginData.lastLogin
60
+ });
61
+ }
62
+ catch (error) {
63
+ return createSystemErrorResult('Failed to fetch profile data', error);
64
+ }
65
+ };
66
+ // Example 4: Batch operation using combineResults
67
+ export const createMultipleUsers = async (users) => {
68
+ const results = await Promise.all(users.map(user => createUser(user)));
69
+ return combineResults(results);
70
+ };
71
+ // Example 5: Error handling patterns
72
+ export const handleUseCaseResult = async () => {
73
+ const result = await getUserById(123);
74
+ // Pattern 1: Type guard approach
75
+ if (isSuccessResult(result)) {
76
+ // TypeScript knows result.data is UserData
77
+ console.log(`User: ${result.data.name}`);
78
+ }
79
+ else {
80
+ // TypeScript knows result.errors exists
81
+ console.error('Failed to get user:', formatErrorsForLogging(result.errors));
82
+ }
83
+ // Pattern 2: Direct success check
84
+ if (result.success) {
85
+ const user = result.data; // We know data exists when success is true
86
+ console.log(`Email: ${user.email}`);
87
+ }
88
+ else {
89
+ // Handle different error types
90
+ const validationErrors = result.errors?.filter(e => e.type === 'validation');
91
+ const apiErrors = result.errors?.filter(e => e.type === 'api');
92
+ const systemErrors = result.errors?.filter(e => e.type === 'system');
93
+ if (validationErrors?.length) {
94
+ console.log('Validation errors:', validationErrors);
95
+ }
96
+ if (apiErrors?.length) {
97
+ console.log('API errors:', apiErrors);
98
+ }
99
+ if (systemErrors?.length) {
100
+ console.log('System errors:', systemErrors);
101
+ }
102
+ }
103
+ };
104
+ export const convertLegacyResponse = (legacy) => {
105
+ if (legacy.success) {
106
+ return createSuccessResult(legacy.data);
107
+ }
108
+ else {
109
+ const errorMessage = legacy.error || legacy.error_message || 'Unknown error';
110
+ return createSystemErrorResult(errorMessage);
111
+ }
112
+ };
113
+ export const pushInventoryToEbayExample = async (inventory) => {
114
+ // Validation
115
+ if (!inventory.sku) {
116
+ return createValidationErrorResult([{
117
+ field: 'sku',
118
+ message: 'SKU is required',
119
+ value: inventory.sku,
120
+ code: 'REQUIRED'
121
+ }]);
122
+ }
123
+ if (inventory.quantity < 0) {
124
+ return createValidationErrorResult([{
125
+ field: 'quantity',
126
+ message: 'Quantity must be non-negative',
127
+ value: inventory.quantity,
128
+ code: 'MIN_VALUE'
129
+ }]);
130
+ }
131
+ try {
132
+ // Simulate eBay API call
133
+ const ebayResponse = await pushToEbayAPI(inventory);
134
+ return createSuccessResult({
135
+ sku: inventory.sku,
136
+ ebayResponse
137
+ });
138
+ }
139
+ catch (error) {
140
+ // Check if it's an eBay-specific error
141
+ if (error.code === 'EBAY_AUTH_ERROR') {
142
+ return createApiErrorResult(error, 'eBay authentication failed');
143
+ }
144
+ else if (error.code === 'EBAY_VALIDATION_ERROR') {
145
+ return createApiErrorResult(error, 'eBay rejected the inventory data');
146
+ }
147
+ else {
148
+ return createApiErrorResult(error, 'eBay API call failed');
149
+ }
150
+ }
151
+ };
152
+ // Mock functions for examples (these would be real implementations)
153
+ async function fetchUserFromAPI(id) {
154
+ return { id, name: 'John Doe', email: 'john@example.com' };
155
+ }
156
+ async function createUserInAPI(input) {
157
+ return { id: 1, name: input.name, email: input.email };
158
+ }
159
+ async function fetchUserProfile(userId) {
160
+ return { isComplete: true };
161
+ }
162
+ async function fetchLastLogin(userId) {
163
+ return { lastLogin: new Date() };
164
+ }
165
+ async function pushToEbayAPI(inventory) {
166
+ return { success: true, listingId: '12345' };
167
+ }
168
+ //# sourceMappingURL=UseCaseResult.examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UseCaseResult.examples.js","sourceRoot":"","sources":["../../src/types/UseCaseResult.examples.ts"],"names":[],"mappings":"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"}
@@ -35,13 +35,41 @@ export function createUseCaseValidationErrorResult(validationErrors) {
35
35
  })),
36
36
  };
37
37
  }
38
+ /**
39
+ * Safely converts an arbitrary error value into a human-readable string.
40
+ * Avoids the "[object Object]" output you get from string-coercing an object
41
+ * or array (e.g. a UseCaseError[]) directly into a template literal.
42
+ */
43
+ function stringifyErrorValue(error) {
44
+ if (error === null || error === undefined) {
45
+ return 'Unknown API error';
46
+ }
47
+ if (typeof error === 'string') {
48
+ return error || 'Unknown API error';
49
+ }
50
+ if (Array.isArray(error)) {
51
+ return error.map(stringifyErrorValue).join('; ') || 'Unknown API error';
52
+ }
53
+ if (typeof error === 'object') {
54
+ const message = error.message;
55
+ if (typeof message === 'string' && message.length > 0) {
56
+ return message;
57
+ }
58
+ try {
59
+ return JSON.stringify(error);
60
+ }
61
+ catch {
62
+ return 'Unknown API error';
63
+ }
64
+ }
65
+ return String(error);
66
+ }
38
67
  /**
39
68
  * Creates an API error use case result from eBay API errors or other API failures
40
69
  */
41
70
  export function createUseCaseApiErrorResult(error, context, request) {
42
- const message = context
43
- ? `${context}: ${error?.message || error || 'Unknown API error'}`
44
- : error?.message || error || 'Unknown API error';
71
+ const baseMessage = stringifyErrorValue(error);
72
+ const message = context ? `${context}: ${baseMessage}` : baseMessage;
45
73
  return {
46
74
  success: false,
47
75
  errorType: 'api',
@@ -1 +1 @@
1
- {"version":3,"file":"UseCaseResult.js","sourceRoot":"","sources":["../../src/types/UseCaseResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UseCaseResult.js","sourceRoot":"","sources":["../../src/types/UseCaseResult.ts"],"names":[],"mappings":"AAyBA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAI,IAAO,EAAE,OAAqB;IAC3E,OAAO;QACN,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO;KACP,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC;IAC/C,OAAO;QACN,OAAO,EAAE,IAAI;KACb,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CACjD,gBAKE;IAEF,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,YAAqB;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,CAAC,CAAC;KACH,CAAA;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,mBAAmB,CAAA;IAC3B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,IAAI,mBAAmB,CAAA;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAA;IACxE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAI,KAA+B,CAAC,OAAO,CAAA;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,OAAO,CAAA;QACf,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,mBAAmB,CAAA;QAC3B,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAU,EAAE,OAAgB,EAAE,OAAqB;IAC9F,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAEpE,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,KAAc;gBACpB,OAAO;gBACP,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW;gBAChC,KAAK,EAAE,KAAK;aACZ;SACD;QACD,OAAO;KACP,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe,EAAE,KAAW;IAC1E,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,QAAiB;gBACvB,OAAO;gBACP,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,cAAc;gBACnC,KAAK,EAAE,KAAK;aACZ;SACD;KACD,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAsB;IACpE,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAEnE,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS;QACT,MAAM;KACN,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAI,OAA2B;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAErF,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,0BAA0B,CAAC,OAAc,CAAC,CAAA;IAClD,CAAC;SAAM,CAAC;QACP,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAEnE,OAAO;YACN,OAAO,EAAE,KAAK;YACd,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,OAAe,CAAC,CAAC,CAAC,SAAS;SACvD,CAAA;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAI,MAAwB;IAC1D,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACxB,MAAwB;IAExB,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC5D,OAAO,MAAM;SACX,GAAG,CAAC,KAAK,CAAC,EAAE;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACjD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;IACtE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACrD,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAI,MAAqB,EAAE,cAAuB;IACvF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,YAAY,GAA6B,cAAc;QAC5D,CAAC,CAAC;YACA,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,eAAe;SACrB;QACF,CAAC,CAAC,SAAS,CAAA;IAEZ,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QAC/E,OAAO,EAAE,MAAM,CAAC,OAAO;KACvB,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAqB,EACrB,cAAsB,EACtB,cAAgC,QAAQ;IAExC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,MAA0B,CAAA;IAClC,CAAC;IAED,MAAM,YAAY,GAAiB;QAClC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB;KACtE,CAAA;IAED,2BAA2B;IAC3B,IAAI,YAAuD,CAAA;IAC3D,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,YAAY,GAAG,OAAO,CAAA;IACvB,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QAC7C,YAAY,GAAG,MAAM,CAAC,SAAS,CAAA;IAChC,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,OAAO,CAAA;IACvB,CAAC;IAED,OAAO;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAS;KACtB,CAAA;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAChC,MAAwB;IAExB,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,YAAY,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,MAAwB;IACrD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,MAAwB;IACxD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,MAAwB;IACvD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,CAAA;AACvD,CAAC"}
@@ -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 addFulfillmentPolicyToItrack: (opts: InputBoundary) => Promise<UseCaseResult<any>>;
9
+ //# sourceMappingURL=AddFulfillmentPolicyToItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddFulfillmentPolicyToItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EACH,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,4BAA4B,GAAS,MAAM,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAejG,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { createSuccessResult } from "../../types/UseCaseResult.js";
2
+ import { createAdapterError } from "../../adapters/AdapterResult.js";
3
+ export const addFulfillmentPolicyToItrack = 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=AddFulfillmentPolicyToItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddFulfillmentPolicyToItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,mBAAmB,EACtB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAOpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAA+B,EAAE;IAClG,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;AACL,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
+ export interface InputBoundary {
3
+ itrackAdapter: ItrackAdapter;
4
+ production: boolean;
5
+ }
6
+ export declare const getFulfillmentPoliciesFromItrack: (opts: InputBoundary) => Promise<import("../../adapters/AdapterResult.js").AdapterResult<import("../../entities/itrack/ItrackEbayPolicy.js").EbayPolicyRow[]>>;
7
+ //# sourceMappingURL=GetFulfillmentPoliciesFromItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFulfillmentPoliciesFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,gCAAgC,GAAU,MAAM,aAAa,0IAGzE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const getFulfillmentPoliciesFromItrack = async (opts) => {
2
+ const policies = await opts.itrackAdapter.getFulfillmentPolicies(opts.production);
3
+ return policies;
4
+ };
5
+ //# sourceMappingURL=GetFulfillmentPoliciesFromItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFulfillmentPoliciesFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAmB,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjF,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=GetShippingOptionsFromItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetShippingOptionsFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetShippingOptionsFromItrack.ts"],"names":[],"mappings":""}
@@ -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 removeFulfillmentPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
8
+ //# sourceMappingURL=RemoveFulfillmentPolicyFromItrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveFulfillmentPolicyFromItrack.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.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,iCAAiC,GAAS,MAAM,aAAa,iBAGzE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const removeFulfillmentPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.deleteFulfillmentPolicy(opts.policy);
3
+ return response;
4
+ };
5
+ //# sourceMappingURL=RemoveFulfillmentPolicyFromItrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveFulfillmentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.ts"],"names":[],"mappings":"AAQA,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"}
@@ -0,0 +1,11 @@
1
+ import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
2
+ import { TokenManager } from "../../infrastructure/TokenManager.js";
3
+ import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
4
+ export interface SyncFulfillmentPoliciesInput {
5
+ ebayAdapter: EbayAdapter;
6
+ itrackAdapter: ItrackAdapter;
7
+ tokenManager: TokenManager;
8
+ production: boolean;
9
+ }
10
+ export declare const syncFulfillmentPolicies: (params: SyncFulfillmentPoliciesInput) => Promise<any[]>;
11
+ //# sourceMappingURL=SyncFulfillmentPolicy.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,60 @@
1
+ import { compareArrays } from "../../utils/utils.js";
2
+ import { MarketplaceIdEnum } from "../../entities/ebay/MarketplaceEnum.js";
3
+ export const syncFulfillmentPolicies = async (params) => {
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);
8
+ return;
9
+ }
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 => ({
28
+ name: policy.name,
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
33
+ }));
34
+ // Compare to determine what to add and/or remove
35
+ // TODO: does this handle empty arrays?
36
+ const comparisonResult = compareArrays(ebayPolicies, parsedItrackFulfillmentPolicyRows, 'policyid');
37
+ const { newItems, existingItems, unusedItems } = comparisonResult;
38
+ let syncFulfillmentPolicyResponse = [];
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);
44
+ }
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);
49
+ }
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);
54
+ }
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;
59
+ };
60
+ //# sourceMappingURL=SyncFulfillmentPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncFulfillmentPolicy.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAU1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAC,MAAoC,EAAE,EAAE;IACjF,uBAAuB;IAC1B,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEjG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACvF,OAAM;IACV,CAAC;IACD,IAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,OAAM;IACV,CAAC;IAGD,0DAA0D;IAC1D,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAGjG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3F,OAAM;IACV,CAAC;IAED,MAAM,iCAAiC,GAA0B,oBAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QACnG,MAAM,EAAC,OAAO,EAAE,GAAG,SAAS,EAAC,GAAG,GAAG,CAAA;QACnC,OAAO;YACH,GAAG,SAAS;YACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/B,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAA0B,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,aAAa,EAAE,oCAAoC;QAC/D,OAAO,EAAE,MAAM,EAAE,kDAAkD;QACnE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAChD,QAAQ,EAAE,MAAM,CAAC,mBAAmB;KACvC,CAAC,CAAC,CAAA;IAEH,iDAAiD;IACjD,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,EAAE,iCAAiC,EAAE,UAAU,CAAC,CAAA;IAEnG,MAAM,EAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAC,GAAG,gBAAgB,CAAA;IAE/D,IAAI,6BAA6B,GAAG,EAAE,CAAA;IAEtC,8DAA8D;IAC9D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CACvC,CAAA;QACD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC3D,6BAA6B,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAC1C,CAAA;QACD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACjE,6BAA6B,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC9C,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAC1C,CAAA;QACD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACjE,6BAA6B,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC1D,uFAAuF;IACvF,uBAAuB;IACvB,OAAO,6BAA6B,CAAA;AACxC,CAAC,CAAA"}
@@ -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 updateFulfillmentPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
8
+ //# sourceMappingURL=UpdateFulfillmentPolicyFromItrack.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,5 @@
1
+ export const updateFulfillmentPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.updateFulfillmentPolicy(opts.policy);
3
+ return response;
4
+ };
5
+ //# sourceMappingURL=UpdateFulfillmentPolicyFromItrack.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,15 @@
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 { MarketplaceIdEnum } from "../entities/ebay/MarketplaceEnum.js";
11
+ export const getFulfillmentPoliciesFromEbay = (params) => __awaiter(void 0, void 0, void 0, function* () {
12
+ const policies = yield params.ebayAdapter.getFulfillmentPolicies(MarketplaceIdEnum.Motors);
13
+ return policies;
14
+ });
15
+ //# sourceMappingURL=GetFulfillmentPoliciesFromEbay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFulfillmentPoliciesFromEbay.js","sourceRoot":"","sources":["../../src/usecases/GetFulfillmentPoliciesFromEbay.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAOvE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAO,MAAa,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC1F,OAAO,QAAQ,CAAA;AAChB,CAAC,CAAA,CAAA"}
@@ -0,0 +1,14 @@
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 getInventoryLocationsFromEbay = (params) => __awaiter(void 0, void 0, void 0, function* () {
11
+ const locations = yield params.ebayAdapter.getInventoryLocations();
12
+ return locations;
13
+ });
14
+ //# sourceMappingURL=GetInventoryLocationsFromEbay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetInventoryLocationsFromEbay.js","sourceRoot":"","sources":["../../src/usecases/GetInventoryLocationsFromEbay.ts"],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAO,MAAa,EAAE,EAAE;IACpE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAA;IAClE,OAAO,SAAS,CAAA;AACjB,CAAC,CAAA,CAAA"}