@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,236 @@
1
+ /**
2
+ * MySQL Response Types with Error Preservation
3
+ *
4
+ * This module defines standardized response types for MySQL operations that preserve
5
+ * original error information for debugging and tracing. These types ensure that
6
+ * MySQL errors are never transformed or obscured as they pass through layers.
7
+ */
8
+ // ============================================================================
9
+ // MYSQL RESPONSE CREATION UTILITIES
10
+ // ============================================================================
11
+ /**
12
+ * Creates a successful MySQL response
13
+ */
14
+ export function createMysqlSuccess(params) {
15
+ return {
16
+ uuid: generateUuid(),
17
+ success: true,
18
+ request: params.request,
19
+ data: params.data,
20
+ timestamp: new Date().toISOString(),
21
+ rowsAffected: params.rowsAffected,
22
+ insertId: params.insertId
23
+ };
24
+ }
25
+ /**
26
+ * Creates a MySQL error response with preserved original error
27
+ */
28
+ export function createMysqlError(params) {
29
+ // Preserve the original MySQL error exactly as received
30
+ const originalMysqlError = {
31
+ code: params.originalError.code,
32
+ message: params.originalError.message,
33
+ sqlState: params.originalError.sqlState,
34
+ errno: params.originalError.errno,
35
+ stack: params.originalError.stack,
36
+ sql: params.request.sql,
37
+ values: params.request.values
38
+ };
39
+ return {
40
+ uuid: generateUuid(),
41
+ success: false,
42
+ request: params.request,
43
+ originalMysqlError,
44
+ layerContext: params.layerContext,
45
+ timestamp: new Date().toISOString()
46
+ };
47
+ }
48
+ // ============================================================================
49
+ // MYSQL RESPONSE UTILITIES
50
+ // ============================================================================
51
+ /**
52
+ * Type guard to check if a MySQL response is successful
53
+ */
54
+ export function isMysqlSuccess(response) {
55
+ return response.success === true;
56
+ }
57
+ /**
58
+ * Type guard to check if a MySQL response is an error
59
+ */
60
+ export function isMysqlError(response) {
61
+ return response.success === false;
62
+ }
63
+ /**
64
+ * Extracts data from a MySQL response if successful, otherwise returns undefined
65
+ */
66
+ export function getMysqlData(response) {
67
+ return isMysqlSuccess(response) ? response.data : undefined;
68
+ }
69
+ /**
70
+ * Extracts error information from a MySQL response if failed, otherwise returns undefined
71
+ */
72
+ export function getMysqlError(response) {
73
+ return isMysqlError(response) ? response : undefined;
74
+ }
75
+ /**
76
+ * Gets a simple error message from a MySQL error response
77
+ */
78
+ export function getMysqlErrorMessage(response) {
79
+ if (isMysqlError(response)) {
80
+ const error = response.originalMysqlError;
81
+ // Provide user-friendly messages for common MySQL errors
82
+ switch (error.code) {
83
+ case 'ER_NO_SUCH_TABLE':
84
+ return 'Database table not found';
85
+ case 'ER_DUP_ENTRY':
86
+ return 'Duplicate entry';
87
+ case 'ER_ACCESS_DENIED_ERROR':
88
+ return 'Database access denied';
89
+ case 'ER_BAD_DB_ERROR':
90
+ return 'Database not found';
91
+ case 'ER_TABLE_EXISTS_ERROR':
92
+ return 'Table already exists';
93
+ case 'ER_BAD_FIELD_ERROR':
94
+ return 'Unknown column';
95
+ case 'ER_PARSE_ERROR':
96
+ return 'SQL syntax error';
97
+ case 'ER_NO_REFERENCED_ROW_2':
98
+ return 'Foreign key constraint violation';
99
+ case 'ER_ROW_IS_REFERENCED_2':
100
+ return 'Cannot delete - record is referenced';
101
+ default:
102
+ return error.message || 'Database operation failed';
103
+ }
104
+ }
105
+ return null;
106
+ }
107
+ /**
108
+ * Formats a MySQL response for logging
109
+ */
110
+ export function formatMysqlResponseForLogging(response) {
111
+ const lines = [];
112
+ lines.push(`MySQL Operation [${response.uuid}]:`);
113
+ lines.push(` Success: ${response.success}`);
114
+ lines.push(` Timestamp: ${response.timestamp}`);
115
+ lines.push(` SQL: ${response.request.sql}`);
116
+ lines.push(` Values: ${JSON.stringify(response.request.values)}`);
117
+ if (isMysqlSuccess(response)) {
118
+ lines.push(` Rows Affected: ${response.rowsAffected || 'N/A'}`);
119
+ lines.push(` Insert ID: ${response.insertId || 'N/A'}`);
120
+ lines.push(` Data Type: ${typeof response.data}`);
121
+ }
122
+ else {
123
+ const error = response.originalMysqlError;
124
+ lines.push(` Error Code: ${error.code} (${error.errno})`);
125
+ lines.push(` Error Message: ${error.message}`);
126
+ lines.push(` SQL State: ${error.sqlState}`);
127
+ lines.push(` Layer Context: ${response.layerContext}`);
128
+ }
129
+ return lines.join('\n');
130
+ }
131
+ // ============================================================================
132
+ // MYSQL OPERATION WRAPPERS
133
+ // ============================================================================
134
+ /**
135
+ * Wraps a MySQL operation with standardized error handling and response creation
136
+ * This is the core utility that repository layers should use for all MySQL operations
137
+ */
138
+ export async function executeMysqlOperation(params) {
139
+ try {
140
+ const data = await params.operation();
141
+ return createMysqlSuccess({
142
+ data,
143
+ request: params.request
144
+ });
145
+ }
146
+ catch (originalError) {
147
+ return createMysqlError({
148
+ originalError,
149
+ request: params.request,
150
+ layerContext: params.layerContext
151
+ });
152
+ }
153
+ }
154
+ /**
155
+ * Wraps a MySQL operation that returns result metadata (for INSERT/UPDATE/DELETE)
156
+ */
157
+ export async function executeMysqlOperationWithMetadata(params) {
158
+ try {
159
+ const result = await params.operation();
160
+ return createMysqlSuccess({
161
+ data: result.data,
162
+ request: params.request,
163
+ rowsAffected: result.rowsAffected,
164
+ insertId: result.insertId
165
+ });
166
+ }
167
+ catch (originalError) {
168
+ return createMysqlError({
169
+ originalError,
170
+ request: params.request,
171
+ layerContext: params.layerContext
172
+ });
173
+ }
174
+ }
175
+ // ============================================================================
176
+ // UTILITY FUNCTIONS
177
+ // ============================================================================
178
+ /**
179
+ * Simple UUID generator for tracking MySQL operations
180
+ */
181
+ function generateUuid() {
182
+ return 'mysql-' + Math.random().toString(36).substr(2, 9) + '-' + Date.now().toString(36);
183
+ }
184
+ /**
185
+ * Creates a MySQL request object with current timestamp
186
+ */
187
+ export function createMysqlRequest(params) {
188
+ return {
189
+ sql: params.sql,
190
+ values: params.values,
191
+ operation: params.operation,
192
+ timestamp: new Date().toISOString()
193
+ };
194
+ }
195
+ /**
196
+ * Validates that a MySQL response properly preserves error information
197
+ * Used for testing and debugging
198
+ */
199
+ export function validateMysqlResponse(response) {
200
+ const issues = [];
201
+ // Check required fields
202
+ if (!response.uuid)
203
+ issues.push('Missing uuid');
204
+ if (typeof response.success !== 'boolean')
205
+ issues.push('Missing or invalid success field');
206
+ if (!response.request)
207
+ issues.push('Missing request information');
208
+ if (!response.timestamp)
209
+ issues.push('Missing timestamp');
210
+ // Check request structure
211
+ if (response.request) {
212
+ if (!response.request.sql)
213
+ issues.push('Missing SQL in request');
214
+ if (!Array.isArray(response.request.values))
215
+ issues.push('Missing or invalid values in request');
216
+ }
217
+ // Check error-specific fields
218
+ if (!response.success) {
219
+ const errorResponse = response;
220
+ if (!errorResponse.originalMysqlError)
221
+ issues.push('Missing originalMysqlError in error response');
222
+ if (!errorResponse.layerContext)
223
+ issues.push('Missing layerContext in error response');
224
+ if (errorResponse.originalMysqlError) {
225
+ if (!errorResponse.originalMysqlError.message)
226
+ issues.push('Missing message in originalMysqlError');
227
+ if (!errorResponse.originalMysqlError.sql)
228
+ issues.push('Missing sql in originalMysqlError');
229
+ }
230
+ }
231
+ return {
232
+ isValid: issues.length === 0,
233
+ issues
234
+ };
235
+ }
236
+ //# sourceMappingURL=MysqlResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlResponse.js","sourceRoot":"","sources":["../../src/types/MysqlResponse.ts"],"names":[],"mappings":"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"}
@@ -24,34 +24,34 @@ export interface UseCaseError {
24
24
  * Helper functions for creating consistent UseCaseResult responses
25
25
  */
26
26
  /**
27
- * Creates a successful result with typed data
27
+ * Creates a successful use case result with typed data
28
28
  */
29
- export declare function createSuccessResult<T>(data: T, request?: HttpRequest): UseCaseResult<T>;
29
+ export declare function createUseCaseSuccessResult<T>(data: T, request?: HttpRequest): UseCaseResult<T>;
30
30
  /**
31
- * Creates a successful result with no data
31
+ * Creates a successful use case result with no data
32
32
  */
33
- export declare function createSuccessResultNoData(): UseCaseResult<void>;
33
+ export declare function createUseCaseSuccessResultNoData(): UseCaseResult<void>;
34
34
  /**
35
- * Creates a validation error result from ValidationErrorNew array
35
+ * Creates a validation error use case result from ValidationErrorNew array
36
36
  */
37
- export declare function createValidationErrorResult(validationErrors: Array<{
37
+ export declare function createUseCaseValidationErrorResult(validationErrors: Array<{
38
38
  field: string;
39
39
  message: string;
40
40
  value: unknown;
41
41
  code: string;
42
42
  }>): UseCaseResult;
43
43
  /**
44
- * Creates an API error result from eBay API errors or other API failures
44
+ * Creates an API error use case result from eBay API errors or other API failures
45
45
  */
46
- export declare function createApiErrorResult(error: any, context?: string, request?: HttpRequest): UseCaseResult;
46
+ export declare function createUseCaseApiErrorResult(error: any, context?: string, request?: HttpRequest): UseCaseResult;
47
47
  /**
48
- * Creates a system error result for internal errors, network issues, etc.
48
+ * Creates a system error use case result for internal errors, network issues, etc.
49
49
  */
50
- export declare function createSystemErrorResult(message: string, error?: any): UseCaseResult;
50
+ export declare function createUseCaseSystemErrorResult(message: string, error?: any): UseCaseResult;
51
51
  /**
52
- * Creates a custom error result with specific error details
52
+ * Creates a custom error use case result with specific error details
53
53
  */
54
- export declare function createCustomErrorResult(errors: UseCaseError[]): UseCaseResult;
54
+ export declare function createUseCaseCustomErrorResult(errors: UseCaseError[]): UseCaseResult;
55
55
  /**
56
56
  * Combines multiple UseCaseResult objects, useful for master use cases
57
57
  * Returns success only if all results are successful
@@ -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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"}
@@ -2,9 +2,9 @@
2
2
  * Helper functions for creating consistent UseCaseResult responses
3
3
  */
4
4
  /**
5
- * Creates a successful result with typed data
5
+ * Creates a successful use case result with typed data
6
6
  */
7
- export function createSuccessResult(data, request) {
7
+ export function createUseCaseSuccessResult(data, request) {
8
8
  return {
9
9
  success: true,
10
10
  data,
@@ -12,17 +12,17 @@ export function createSuccessResult(data, request) {
12
12
  };
13
13
  }
14
14
  /**
15
- * Creates a successful result with no data
15
+ * Creates a successful use case result with no data
16
16
  */
17
- export function createSuccessResultNoData() {
17
+ export function createUseCaseSuccessResultNoData() {
18
18
  return {
19
19
  success: true
20
20
  };
21
21
  }
22
22
  /**
23
- * Creates a validation error result from ValidationErrorNew array
23
+ * Creates a validation error use case result from ValidationErrorNew array
24
24
  */
25
- export function createValidationErrorResult(validationErrors) {
25
+ export function createUseCaseValidationErrorResult(validationErrors) {
26
26
  return {
27
27
  success: false,
28
28
  errorType: 'validation',
@@ -36,9 +36,9 @@ export function createValidationErrorResult(validationErrors) {
36
36
  };
37
37
  }
38
38
  /**
39
- * Creates an API error result from eBay API errors or other API failures
39
+ * Creates an API error use case result from eBay API errors or other API failures
40
40
  */
41
- export function createApiErrorResult(error, context, request) {
41
+ export function createUseCaseApiErrorResult(error, context, request) {
42
42
  const message = context
43
43
  ? `${context}: ${error?.message || error || 'Unknown API error'}`
44
44
  : error?.message || error || 'Unknown API error';
@@ -55,9 +55,9 @@ export function createApiErrorResult(error, context, request) {
55
55
  };
56
56
  }
57
57
  /**
58
- * Creates a system error result for internal errors, network issues, etc.
58
+ * Creates a system error use case result for internal errors, network issues, etc.
59
59
  */
60
- export function createSystemErrorResult(message, error) {
60
+ export function createUseCaseSystemErrorResult(message, error) {
61
61
  return {
62
62
  success: false,
63
63
  errorType: 'system',
@@ -70,9 +70,9 @@ export function createSystemErrorResult(message, error) {
70
70
  };
71
71
  }
72
72
  /**
73
- * Creates a custom error result with specific error details
73
+ * Creates a custom error use case result with specific error details
74
74
  */
75
- export function createCustomErrorResult(errors) {
75
+ export function createUseCaseCustomErrorResult(errors) {
76
76
  const errorTypes = [...new Set(errors.map(error => error.type))];
77
77
  const errorType = errorTypes.length === 1 ? errorTypes[0] : 'mixed';
78
78
  return {
@@ -90,7 +90,7 @@ export function combineResults(results) {
90
90
  const allErrors = results.flatMap(result => result.errors || []);
91
91
  const allData = results.map(result => result.data).filter(data => data !== undefined);
92
92
  if (allSuccessful) {
93
- return createSuccessResult(allData);
93
+ return createUseCaseSuccessResult(allData);
94
94
  }
95
95
  else {
96
96
  const errorTypes = [...new Set(allErrors.map(error => error.type))];
@@ -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;IAC1E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC,CAAC,gBAKjD;IACA,OAAO;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrC,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;SACnB,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAU,EAAE,OAAgB,EAAE,OAAqB;IAC7F,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,mBAAmB,EAAE;QACjE,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,mBAAmB,CAAA;IAElD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,CAAC;gBACP,IAAI,EAAE,KAAc;gBACpB,OAAO;gBACP,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW;gBAChC,KAAK,EAAE,KAAK;aACb,CAAC;QACF,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe,EAAE,KAAW;IACzE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,CAAC;gBACP,IAAI,EAAE,QAAiB;gBACvB,OAAO;gBACP,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,cAAc;gBACnC,KAAK,EAAE,KAAK;aACb,CAAC;KACH,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAsB;IACnE,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;QACL,OAAO,EAAE,KAAK;QACd,SAAS;QACT,MAAM;KACP,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAI,OAA2B;IAC3D,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;QAClB,OAAO,0BAA0B,CAAC,OAAc,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,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;YACL,OAAO,EAAE,KAAK;YACd,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAc,CAAC,CAAC,CAAC,SAAS;SACtD,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAI,MAAwB;IACzD,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,MAAwB;IACnD,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACxB,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;IACvE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAI,MAAqB,EAAE,cAAuB;IACtF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,YAAY,GAA6B,cAAc,CAAC,CAAC,CAAC;QAC9D,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO;QACL,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;KACxB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAI,MAAqB,EAAE,cAAsB,EAAE,cAAgC,QAAQ;IACxH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAA0B,CAAA;IACnC,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB;KACvE,CAAA;IAED,2BAA2B;IAC3B,IAAI,YAAuD,CAAA;IAC3D,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,YAAY,GAAG,OAAO,CAAA;IACxB,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QAC5C,YAAY,GAAG,MAAM,CAAC,SAAS,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,OAAO;QACL,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;KACvB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAI,MAAwB;IAC3D,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,YAAY,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,MAAwB;IACpD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,MAAwB;IACvD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,MAAwB;IACtD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,CAAA;AACxD,CAAC"}
@@ -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 addFulfillmentPolicyToItrack: (opts: InputBoundary, fulfillmentPolicy: NewFulfillmentPolicy) => Promise<any>;
7
+ export declare const addFulfillmentPolicyToItrack: (opts: InputBoundary) => Promise<any>;
7
8
  //# sourceMappingURL=AddFulfillmentPolicyToItrack.d.ts.map
@@ -1 +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,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AAEjF,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAA;CAC/B;AAED,eAAO,MAAM,4BAA4B,GAAS,MAAM,aAAa,EAAE,mBAAmB,oBAAoB,iBAG7G,CAAA"}
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,EAAiB,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAG9F,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,eAAO,MAAM,4BAA4B,GAAS,MAAM,aAAa,iBAGpE,CAAA"}
@@ -1,5 +1,5 @@
1
- export const addFulfillmentPolicyToItrack = async (opts, fulfillmentPolicy) => {
2
- const response = await opts.itrackAdapter.addFulfillmentPolicy(fulfillmentPolicy);
1
+ export const addFulfillmentPolicyToItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.addFulfillmentPolicy(opts.policy);
3
3
  return response;
4
4
  };
5
5
  //# sourceMappingURL=AddFulfillmentPolicyToItrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddFulfillmentPolicyToItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAAE,iBAAuC,EAAE,EAAE;IAC9G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IACjF,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"AddFulfillmentPolicyToItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3E,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -2,5 +2,5 @@ import { EbayAdapter } from "../../adapters/ebay/EbayAdapter.js";
2
2
  export interface Input {
3
3
  ebayAdapter: EbayAdapter;
4
4
  }
5
- export declare const getFulfillmentPoliciesFromEbay: (params: Input) => Promise<import("../../repositories/ebay/BaseRepo.js").RepoResponse<import("../../index.js").FulfillmentPolicyResponse>>;
5
+ export declare const getFulfillmentPoliciesFromEbay: (params: Input) => Promise<import("../../types/UseCaseResult.js").UseCaseResult<any>>;
6
6
  //# sourceMappingURL=GetFulfillmentPoliciesFromEbay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetFulfillmentPoliciesFromEbay.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAEhE,MAAM,WAAW,KAAK;IACrB,WAAW,EAAE,WAAW,CAAA;CACxB;AAED,eAAO,MAAM,8BAA8B,GAAU,QAAQ,KAAK,4HAGjE,CAAA"}
1
+ {"version":3,"file":"GetFulfillmentPoliciesFromEbay.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAMhE,MAAM,WAAW,KAAK;IACrB,WAAW,EAAE,WAAW,CAAA;CACxB;AAED,eAAO,MAAM,8BAA8B,GAAU,QAAQ,KAAK,uEAcjE,CAAA"}
@@ -1,6 +1,12 @@
1
1
  import { MarketplaceIdEnum } from "../../entities/ebay/MarketplaceEnum.js";
2
+ import { createUseCaseSuccessResult, createUseCaseSystemErrorResult } from "../../types/UseCaseResult.js";
2
3
  export const getFulfillmentPoliciesFromEbay = async (params) => {
3
- const policies = await params.ebayAdapter.getFulfillmentPolicies(MarketplaceIdEnum.Motors);
4
- return policies;
4
+ const policiesResponse = await params.ebayAdapter.getFulfillmentPolicies(MarketplaceIdEnum.Motors);
5
+ if (policiesResponse.success) {
6
+ return createUseCaseSuccessResult(policiesResponse.data, policiesResponse.request);
7
+ }
8
+ else {
9
+ return createUseCaseSystemErrorResult('Error getting policies', policiesResponse.error);
10
+ }
5
11
  };
6
12
  //# sourceMappingURL=GetFulfillmentPoliciesFromEbay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetFulfillmentPoliciesFromEbay.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAO1E,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EAAE,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"}
1
+ {"version":3,"file":"GetFulfillmentPoliciesFromEbay.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,EACjC,MAAM,8BAA8B,CAAA;AAMrC,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EAAE,MAAa,EAAE,EAAE;IACrE,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAE/F,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,0BAA0B,CAC7B,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,OAAO,CAC3B,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,8BAA8B,CACjC,wBAAwB,EACxB,gBAAgB,CAAC,KAAK,CACzB,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { ItrackAdapter } from "../../adapters/itrack/ItrackAdapter.js";
2
2
  export interface InputBoundary {
3
3
  itrackAdapter: ItrackAdapter;
4
+ production: boolean;
4
5
  }
5
- export declare const getFulfillmentPoliciesFromItrack: (opts: InputBoundary) => Promise<import("../../entities/itrack/FulfillmentPolicy.js").FulfillmentPolicyResponseRow[]>;
6
+ export declare const getFulfillmentPoliciesFromItrack: (opts: InputBoundary) => Promise<import("../../adapters/AdapterResult.js").AdapterResult<import("../../entities/itrack/ItrackEbayPolicy.js").EbayPolicyRow[]>>;
6
7
  //# sourceMappingURL=GetFulfillmentPoliciesFromItrack.d.ts.map
@@ -1 +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;CAChC;AAED,eAAO,MAAM,gCAAgC,GAAU,MAAM,aAAa,iGAGzE,CAAA"}
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"}
@@ -1,5 +1,5 @@
1
1
  export const getFulfillmentPoliciesFromItrack = async (opts) => {
2
- const policies = await opts.itrackAdapter.getFulfillmentPolicies();
2
+ const policies = await opts.itrackAdapter.getFulfillmentPolicies(opts.production);
3
3
  return policies;
4
4
  };
5
5
  //# sourceMappingURL=GetFulfillmentPoliciesFromItrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetFulfillmentPoliciesFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,IAAmB,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAA;IAClE,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
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"}
@@ -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 removeFulfillmentPolicyFromItrack: (opts: InputBoundary, fulfillmentPolicy: NewFulfillmentPolicy) => Promise<any>;
7
+ export declare const removeFulfillmentPolicyFromItrack: (opts: InputBoundary) => Promise<any>;
7
8
  //# sourceMappingURL=RemoveFulfillmentPolicyFromItrack.d.ts.map
@@ -1 +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,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":"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"}
@@ -1,5 +1,5 @@
1
- export const removeFulfillmentPolicyFromItrack = async (opts, fulfillmentPolicy) => {
2
- const response = await opts.itrackAdapter.deleteFulfillmentPolicy(fulfillmentPolicy);
1
+ export const removeFulfillmentPolicyFromItrack = async (opts) => {
2
+ const response = await opts.itrackAdapter.deleteFulfillmentPolicy(opts.policy);
3
3
  return response;
4
4
  };
5
5
  //# sourceMappingURL=RemoveFulfillmentPolicyFromItrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveFulfillmentPolicyFromItrack.js","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.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":"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=SyncFulfillmentPolicies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncFulfillmentPolicies.d.ts","sourceRoot":"","sources":["../../../src/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.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=SyncFulfillmentPolicies.js.map