@webiny/api-sync-system 0.0.0-unstable.06b2ede40f → 0.0.0-unstable.0d717d18dd

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 (349) hide show
  1. package/README.md +6 -108
  2. package/constants.js +2 -7
  3. package/constants.js.map +1 -1
  4. package/index.d.ts +11 -3
  5. package/index.js +8 -40
  6. package/package.json +31 -26
  7. package/resolver/SyncResolverConfig.d.ts +17 -0
  8. package/resolver/SyncResolverConfig.js +5 -0
  9. package/resolver/SyncResolverConfig.js.map +1 -0
  10. package/resolver/SyncResolverLambdaHandler.d.ts +14 -0
  11. package/resolver/SyncResolverLambdaHandler.js +159 -0
  12. package/resolver/SyncResolverLambdaHandler.js.map +1 -0
  13. package/resolver/app/RecordHandler.d.ts +6 -6
  14. package/resolver/app/RecordHandler.js +84 -114
  15. package/resolver/app/RecordHandler.js.map +1 -1
  16. package/resolver/app/RecordsValidation.js +13 -24
  17. package/resolver/app/RecordsValidation.js.map +1 -1
  18. package/resolver/app/ResolverApplication.d.ts +1 -1
  19. package/resolver/app/ResolverApplication.js +27 -42
  20. package/resolver/app/ResolverApplication.js.map +1 -1
  21. package/resolver/app/abstractions/RecordHandler.d.ts +1 -1
  22. package/resolver/app/abstractions/RecordHandler.js +0 -7
  23. package/resolver/app/abstractions/RecordsValidation.d.ts +2 -2
  24. package/resolver/app/abstractions/RecordsValidation.js +0 -7
  25. package/resolver/app/abstractions/ResolverApplication.js +0 -7
  26. package/resolver/app/abstractions/ResolverRecord.d.ts +1 -1
  27. package/resolver/app/abstractions/ResolverRecord.js +0 -7
  28. package/resolver/app/bundler/BaseBundle.d.ts +6 -6
  29. package/resolver/app/bundler/BaseBundle.js +16 -22
  30. package/resolver/app/bundler/BaseBundle.js.map +1 -1
  31. package/resolver/app/bundler/Bundler.d.ts +1 -1
  32. package/resolver/app/bundler/Bundler.js +12 -25
  33. package/resolver/app/bundler/Bundler.js.map +1 -1
  34. package/resolver/app/bundler/Bundles.d.ts +2 -2
  35. package/resolver/app/bundler/Bundles.js +20 -33
  36. package/resolver/app/bundler/Bundles.js.map +1 -1
  37. package/resolver/app/bundler/CommandBundle.d.ts +1 -1
  38. package/resolver/app/bundler/CommandBundle.js +8 -25
  39. package/resolver/app/bundler/CommandBundle.js.map +1 -1
  40. package/resolver/app/bundler/TableBundle.d.ts +1 -1
  41. package/resolver/app/bundler/TableBundle.js +7 -22
  42. package/resolver/app/bundler/TableBundle.js.map +1 -1
  43. package/resolver/app/bundler/types.d.ts +2 -2
  44. package/resolver/app/bundler/types.js +0 -7
  45. package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +3 -3
  46. package/resolver/app/commandHandler/DeleteCommandHandler.js +21 -35
  47. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
  48. package/resolver/app/commandHandler/PutCommandHandler.d.ts +4 -4
  49. package/resolver/app/commandHandler/PutCommandHandler.js +15 -28
  50. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
  51. package/resolver/app/commandHandler/delete.d.ts +1 -1
  52. package/resolver/app/commandHandler/delete.js +13 -21
  53. package/resolver/app/commandHandler/delete.js.map +1 -1
  54. package/resolver/app/commandHandler/put.d.ts +1 -1
  55. package/resolver/app/commandHandler/put.js +13 -21
  56. package/resolver/app/commandHandler/put.js.map +1 -1
  57. package/resolver/app/data/SourceDataContainer.d.ts +3 -3
  58. package/resolver/app/data/SourceDataContainer.js +27 -36
  59. package/resolver/app/data/SourceDataContainer.js.map +1 -1
  60. package/resolver/app/data/types.d.ts +2 -2
  61. package/resolver/app/data/types.js +0 -7
  62. package/resolver/app/fetcher/Fetcher.d.ts +3 -3
  63. package/resolver/app/fetcher/Fetcher.js +87 -121
  64. package/resolver/app/fetcher/Fetcher.js.map +1 -1
  65. package/resolver/app/fetcher/types.d.ts +2 -2
  66. package/resolver/app/fetcher/types.js +0 -7
  67. package/resolver/app/ingestor/Ingestor.d.ts +1 -1
  68. package/resolver/app/ingestor/Ingestor.js +26 -39
  69. package/resolver/app/ingestor/Ingestor.js.map +1 -1
  70. package/resolver/app/ingestor/IngestorResult.js +27 -39
  71. package/resolver/app/ingestor/IngestorResult.js.map +1 -1
  72. package/resolver/app/ingestor/types.d.ts +2 -2
  73. package/resolver/app/ingestor/types.js +0 -7
  74. package/resolver/app/storer/Storer.d.ts +3 -3
  75. package/resolver/app/storer/Storer.js +73 -95
  76. package/resolver/app/storer/Storer.js.map +1 -1
  77. package/resolver/app/storer/types.d.ts +2 -2
  78. package/resolver/app/storer/types.js +0 -7
  79. package/resolver/app/transform/TransformHandler.d.ts +4 -4
  80. package/resolver/app/transform/TransformHandler.js +46 -64
  81. package/resolver/app/transform/TransformHandler.js.map +1 -1
  82. package/resolver/app/transform/middleware.d.ts +1 -1
  83. package/resolver/app/transform/middleware.js +12 -25
  84. package/resolver/app/transform/middleware.js.map +1 -1
  85. package/resolver/app/utils/Retry.js +21 -32
  86. package/resolver/app/utils/Retry.js.map +1 -1
  87. package/resolver/app/utils/sleep.js +4 -12
  88. package/resolver/app/utils/sleep.js.map +1 -1
  89. package/resolver/app/validation/body.d.ts +25 -124
  90. package/resolver/app/validation/body.js +31 -44
  91. package/resolver/app/validation/body.js.map +1 -1
  92. package/resolver/app/validation/createJsonTransform.d.ts +1 -1
  93. package/resolver/app/validation/createJsonTransform.js +13 -22
  94. package/resolver/app/validation/createJsonTransform.js.map +1 -1
  95. package/resolver/app/validation/detail.d.ts +19 -72
  96. package/resolver/app/validation/detail.js +33 -46
  97. package/resolver/app/validation/detail.js.map +1 -1
  98. package/resolver/app/validation/event.d.ts +29 -188
  99. package/resolver/app/validation/event.js +21 -30
  100. package/resolver/app/validation/event.js.map +1 -1
  101. package/resolver/app/validation/numericString.d.ts +1 -1
  102. package/resolver/app/validation/numericString.js +9 -20
  103. package/resolver/app/validation/numericString.js.map +1 -1
  104. package/resolver/app/validation/system.d.ts +2 -14
  105. package/resolver/app/validation/system.js +9 -18
  106. package/resolver/app/validation/system.js.map +1 -1
  107. package/resolver/deployment/Deployment.d.ts +2 -3
  108. package/resolver/deployment/Deployment.js +27 -44
  109. package/resolver/deployment/Deployment.js.map +1 -1
  110. package/resolver/deployment/Deployments.js +19 -30
  111. package/resolver/deployment/Deployments.js.map +1 -1
  112. package/resolver/deployment/DeploymentsFetcher.js +82 -102
  113. package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
  114. package/resolver/deployment/types.d.ts +4 -6
  115. package/resolver/deployment/types.js +0 -7
  116. package/resolver/lambda/LambdaTrigger.js +25 -34
  117. package/resolver/lambda/LambdaTrigger.js.map +1 -1
  118. package/resolver/plugins/CommandHandlerPlugin.d.ts +3 -3
  119. package/resolver/plugins/CommandHandlerPlugin.js +17 -24
  120. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
  121. package/resolver/plugins/StorerAfterEachPlugin.d.ts +2 -2
  122. package/resolver/plugins/StorerAfterEachPlugin.js +21 -29
  123. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
  124. package/resolver/plugins/TransformRecordPlugin.d.ts +3 -3
  125. package/resolver/plugins/TransformRecordPlugin.js +20 -27
  126. package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
  127. package/resolver/recordTypes/fileManager/CopyFile.js +44 -74
  128. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
  129. package/resolver/recordTypes/fileManager/DeleteFile.d.ts +1 -1
  130. package/resolver/recordTypes/fileManager/DeleteFile.js +40 -65
  131. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
  132. package/resolver/recordTypes/fileManager/fileManager.d.ts +1 -1
  133. package/resolver/recordTypes/fileManager/fileManager.js +7 -12
  134. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
  135. package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +1 -1
  136. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +27 -45
  137. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
  138. package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +1 -1
  139. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +27 -45
  140. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
  141. package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +1 -1
  142. package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -34
  143. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
  144. package/resolver/recordTypes/fileManager/types.d.ts +2 -2
  145. package/resolver/recordTypes/fileManager/types.js +0 -7
  146. package/resolver/recordTypes/users/CopyUser.d.ts +2 -2
  147. package/resolver/recordTypes/users/CopyUser.js +44 -61
  148. package/resolver/recordTypes/users/CopyUser.js.map +1 -1
  149. package/resolver/recordTypes/users/DeleteUser.d.ts +2 -2
  150. package/resolver/recordTypes/users/DeleteUser.js +40 -58
  151. package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
  152. package/resolver/recordTypes/users/shouldBeHandled.d.ts +1 -1
  153. package/resolver/recordTypes/users/shouldBeHandled.js +10 -33
  154. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
  155. package/resolver/recordTypes/users/types.d.ts +1 -1
  156. package/resolver/recordTypes/users/types.js +0 -7
  157. package/resolver/recordTypes/users/users.js +7 -12
  158. package/resolver/recordTypes/users/users.js.map +1 -1
  159. package/resolver/recordTypes/users/usersOnDelete.d.ts +2 -2
  160. package/resolver/recordTypes/users/usersOnDelete.js +26 -44
  161. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
  162. package/resolver/recordTypes/users/usersOnPut.d.ts +2 -2
  163. package/resolver/recordTypes/users/usersOnPut.js +27 -45
  164. package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
  165. package/sync/ApiGatewaySyncDecorator.d.ts +14 -0
  166. package/sync/ApiGatewaySyncDecorator.js +49 -0
  167. package/sync/ApiGatewaySyncDecorator.js.map +1 -0
  168. package/sync/FilterOutRecord.d.ts +2 -2
  169. package/sync/FilterOutRecord.js +8 -24
  170. package/sync/FilterOutRecord.js.map +1 -1
  171. package/sync/SyncSystemConfig.d.ts +11 -0
  172. package/sync/SyncSystemConfig.js +5 -0
  173. package/sync/SyncSystemConfig.js.map +1 -0
  174. package/sync/attachToDynamoDbDocument.d.ts +1 -1
  175. package/sync/attachToDynamoDbDocument.js +48 -75
  176. package/sync/attachToDynamoDbDocument.js.map +1 -1
  177. package/sync/createHandler.js +44 -60
  178. package/sync/createHandler.js.map +1 -1
  179. package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +1 -1
  180. package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -86
  181. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
  182. package/sync/handler/Handler.d.ts +2 -2
  183. package/sync/handler/Handler.js +66 -86
  184. package/sync/handler/Handler.js.map +1 -1
  185. package/sync/handler/HandlerConverter.js +20 -36
  186. package/sync/handler/HandlerConverter.js.map +1 -1
  187. package/sync/handler/converter/BatchGetCommandConverter.js +13 -20
  188. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
  189. package/sync/handler/converter/BatchWriteCommandConverter.js +13 -20
  190. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
  191. package/sync/handler/converter/DeleteCommandConverter.js +13 -20
  192. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
  193. package/sync/handler/converter/GetCommandConverter.js +13 -20
  194. package/sync/handler/converter/GetCommandConverter.js.map +1 -1
  195. package/sync/handler/converter/PutCommandConverter.js +13 -20
  196. package/sync/handler/converter/PutCommandConverter.js.map +1 -1
  197. package/sync/handler/converter/QueryCommandConverter.js +13 -20
  198. package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
  199. package/sync/handler/converter/ScanCommandConverter.js +13 -20
  200. package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
  201. package/sync/handler/converter/UpdateCommandConverter.js +13 -20
  202. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
  203. package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +2 -2
  204. package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -44
  205. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
  206. package/sync/handler/converter/commands/DeleteCommandValue.d.ts +2 -2
  207. package/sync/handler/converter/commands/DeleteCommandValue.js +19 -23
  208. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
  209. package/sync/handler/converter/commands/NullCommandValue.d.ts +1 -1
  210. package/sync/handler/converter/commands/NullCommandValue.js +7 -14
  211. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
  212. package/sync/handler/converter/commands/PutCommandValue.d.ts +2 -2
  213. package/sync/handler/converter/commands/PutCommandValue.js +19 -23
  214. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
  215. package/sync/handler/converter/commands/UpdateCommandValue.d.ts +2 -2
  216. package/sync/handler/converter/commands/UpdateCommandValue.js +19 -23
  217. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
  218. package/sync/handler/types.d.ts +3 -3
  219. package/sync/handler/types.js +0 -7
  220. package/sync/plugins/FilterOutRecordPlugin.d.ts +1 -1
  221. package/sync/plugins/FilterOutRecordPlugin.js +18 -28
  222. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
  223. package/sync/types.js +0 -7
  224. package/sync/utils/getTableType.js +11 -19
  225. package/sync/utils/getTableType.js.map +1 -1
  226. package/sync/utils/manifest.d.ts +3 -7
  227. package/sync/utils/manifest.js +30 -47
  228. package/sync/utils/manifest.js.map +1 -1
  229. package/sync/utils/validateSystemInput.d.ts +1 -1
  230. package/sync/utils/validateSystemInput.js +22 -37
  231. package/sync/utils/validateSystemInput.js.map +1 -1
  232. package/types.d.ts +1 -5
  233. package/types.js +6 -12
  234. package/types.js.map +1 -1
  235. package/utils/createSystemName.js +5 -10
  236. package/utils/createSystemName.js.map +1 -1
  237. package/worker/SyncWorkerConfig.d.ts +9 -0
  238. package/worker/SyncWorkerConfig.js +5 -0
  239. package/worker/SyncWorkerConfig.js.map +1 -0
  240. package/worker/SyncWorkerEventHandler.d.ts +14 -0
  241. package/worker/SyncWorkerEventHandler.js +5 -0
  242. package/worker/SyncWorkerEventHandler.js.map +1 -0
  243. package/worker/SyncWorkerEventType.d.ts +10 -0
  244. package/worker/SyncWorkerEventType.js +24 -0
  245. package/worker/SyncWorkerEventType.js.map +1 -0
  246. package/worker/SyncWorkerLambdaHandler.d.ts +13 -0
  247. package/worker/SyncWorkerLambdaHandler.js +61 -0
  248. package/worker/SyncWorkerLambdaHandler.js.map +1 -0
  249. package/worker/actions/copyFile/CopyFile.js +185 -268
  250. package/worker/actions/copyFile/CopyFile.js.map +1 -1
  251. package/worker/actions/copyFile/copyFileAction.d.ts +1 -1
  252. package/worker/actions/copyFile/copyFileAction.js +30 -45
  253. package/worker/actions/copyFile/copyFileAction.js.map +1 -1
  254. package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
  255. package/worker/actions/copyFile/copyFileSchema.js +14 -23
  256. package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
  257. package/worker/actions/copyFile/types.js +0 -7
  258. package/worker/actions/createUser/CreateUser.d.ts +1 -1
  259. package/worker/actions/createUser/CreateUser.js +53 -83
  260. package/worker/actions/createUser/CreateUser.js.map +1 -1
  261. package/worker/actions/createUser/createUserAction.d.ts +2 -2
  262. package/worker/actions/createUser/createUserAction.js +28 -39
  263. package/worker/actions/createUser/createUserAction.js.map +1 -1
  264. package/worker/actions/createUser/createUserSchema.d.ts +6 -38
  265. package/worker/actions/createUser/createUserSchema.js +14 -23
  266. package/worker/actions/createUser/createUserSchema.js.map +1 -1
  267. package/worker/actions/createUser/types.js +0 -7
  268. package/worker/actions/deleteFile/DeleteFile.js +52 -74
  269. package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
  270. package/worker/actions/deleteFile/deleteFileAction.d.ts +1 -1
  271. package/worker/actions/deleteFile/deleteFileAction.js +25 -40
  272. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
  273. package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
  274. package/worker/actions/deleteFile/deleteFileSchema.js +14 -23
  275. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
  276. package/worker/actions/deleteFile/types.js +0 -7
  277. package/worker/actions/deleteUser/DeleteUser.d.ts +2 -2
  278. package/worker/actions/deleteUser/DeleteUser.js +39 -60
  279. package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
  280. package/worker/actions/deleteUser/deleteUserAction.d.ts +1 -1
  281. package/worker/actions/deleteUser/deleteUserAction.js +26 -37
  282. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
  283. package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
  284. package/worker/actions/deleteUser/deleteUserSchema.js +13 -22
  285. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
  286. package/worker/actions/deleteUser/types.js +0 -7
  287. package/worker/actions/logValidationError.js +6 -14
  288. package/worker/actions/logValidationError.js.map +1 -1
  289. package/worker/actions/removeCognitoUserAttributes.js +9 -22
  290. package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
  291. package/worker/actions/updateUser/UpdateUser.d.ts +1 -1
  292. package/worker/actions/updateUser/UpdateUser.js +50 -74
  293. package/worker/actions/updateUser/UpdateUser.js.map +1 -1
  294. package/worker/actions/updateUser/types.js +0 -7
  295. package/worker/actions/updateUser/updateUserAction.d.ts +2 -2
  296. package/worker/actions/updateUser/updateUserAction.js +28 -39
  297. package/worker/actions/updateUser/updateUserAction.js.map +1 -1
  298. package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
  299. package/worker/actions/updateUser/updateUserSchema.js +14 -23
  300. package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
  301. package/worker/handler/WorkerActionHandler.d.ts +2 -2
  302. package/worker/handler/WorkerActionHandler.js +19 -28
  303. package/worker/handler/WorkerActionHandler.js.map +1 -1
  304. package/worker/plugins/WorkerActionPlugin.d.ts +1 -1
  305. package/worker/plugins/WorkerActionPlugin.js +18 -25
  306. package/worker/plugins/WorkerActionPlugin.js.map +1 -1
  307. package/worker/types.js +0 -7
  308. package/index.js.map +0 -1
  309. package/resolver/app/abstractions/RecordHandler.js.map +0 -1
  310. package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
  311. package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
  312. package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
  313. package/resolver/app/bundler/types.js.map +0 -1
  314. package/resolver/app/data/types.js.map +0 -1
  315. package/resolver/app/fetcher/types.js.map +0 -1
  316. package/resolver/app/ingestor/types.js.map +0 -1
  317. package/resolver/app/storer/types.js.map +0 -1
  318. package/resolver/createEventHandlerPlugin.d.ts +0 -10
  319. package/resolver/createEventHandlerPlugin.js +0 -127
  320. package/resolver/createEventHandlerPlugin.js.map +0 -1
  321. package/resolver/createResolverHandler.d.ts +0 -21
  322. package/resolver/createResolverHandler.js +0 -79
  323. package/resolver/createResolverHandler.js.map +0 -1
  324. package/resolver/deployment/types.js.map +0 -1
  325. package/resolver/recordTypes/fileManager/types.js.map +0 -1
  326. package/resolver/recordTypes/users/types.js.map +0 -1
  327. package/sync/createSendDataToEventBridgeOnRequestEnd.d.ts +0 -2
  328. package/sync/createSendDataToEventBridgeOnRequestEnd.js +0 -51
  329. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +0 -1
  330. package/sync/createSyncSystem.d.ts +0 -16
  331. package/sync/createSyncSystem.js +0 -42
  332. package/sync/createSyncSystem.js.map +0 -1
  333. package/sync/handler/types.js.map +0 -1
  334. package/sync/requestPlugin.d.ts +0 -9
  335. package/sync/requestPlugin.js +0 -59
  336. package/sync/requestPlugin.js.map +0 -1
  337. package/sync/types.js.map +0 -1
  338. package/worker/actions/copyFile/types.js.map +0 -1
  339. package/worker/actions/createUser/types.js.map +0 -1
  340. package/worker/actions/deleteFile/types.js.map +0 -1
  341. package/worker/actions/deleteUser/types.js.map +0 -1
  342. package/worker/actions/updateUser/types.js.map +0 -1
  343. package/worker/createWorkerHandler.d.ts +0 -11
  344. package/worker/createWorkerHandler.js +0 -48
  345. package/worker/createWorkerHandler.js.map +0 -1
  346. package/worker/handler/eventHandler.d.ts +0 -1
  347. package/worker/handler/eventHandler.js +0 -31
  348. package/worker/handler/eventHandler.js.map +0 -1
  349. package/worker/types.js.map +0 -1
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=types.js.map
@@ -1,6 +1,6 @@
1
- import type { IFetcher, IFetcherExecParams, IFetcherExecResult } from "./types";
2
- import { type DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
3
- import type { IDeployment } from "../../deployment/types.js";
1
+ import type { IFetcher, IFetcherExecParams, IFetcherExecResult } from "./types.js";
2
+ import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb/index.js";
3
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
4
4
  export interface IFetcherParamsCreateDocumentClientCallable {
5
5
  (deployment: Pick<IDeployment, "region">): Pick<DynamoDBDocument, "send">;
6
6
  }
@@ -1,132 +1,98 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createFetcher = exports.Fetcher = void 0;
8
- var _clientDynamodb = require("@webiny/aws-sdk/client-dynamodb");
9
- var _chunk = _interopRequireDefault(require("lodash/chunk"));
10
- var _SourceDataContainer = require("../data/SourceDataContainer.js");
11
- var _utils = require("@webiny/utils");
12
- var _Retry = require("../utils/Retry.js");
1
+ import { BatchGetCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
2
+ import chunk from "lodash/chunk.js";
3
+ import { SourceDataContainer } from "../data/SourceDataContainer.js";
4
+ import { convertException } from "@webiny/utils";
5
+ import { createRetry } from "../utils/Retry.js";
13
6
  class Fetcher {
14
- constructor(params) {
15
- this.createDocumentClient = params.createDocumentClient;
16
- this.maxRetries = params.maxRetries || 10;
17
- this.retryDelay = params.retryDelay || 1000;
18
- }
19
- async exec(params) {
20
- const {
21
- deployment,
22
- items: input,
23
- table,
24
- maxBatchSize = 25
25
- } = params;
26
- if (input.length === 0) {
27
- return {
28
- items: _SourceDataContainer.SourceDataContainer.create()
29
- };
7
+ constructor(params){
8
+ this.createDocumentClient = params.createDocumentClient;
9
+ this.maxRetries = params.maxRetries || 10;
10
+ this.retryDelay = params.retryDelay || 1000;
30
11
  }
31
- const client = this.createDocumentClient(deployment);
32
- const results = await this.execute({
33
- client,
34
- table,
35
- maxBatchSize,
36
- records: input
37
- });
38
- const items = _SourceDataContainer.SourceDataContainer.create();
39
- for (const item of input) {
40
- const data = results.find(result => {
41
- return item.PK === result.PK && item.SK === result.SK;
42
- });
43
- items.add({
44
- PK: item.PK,
45
- SK: item.SK,
46
- table,
47
- source: deployment
48
- }, data || null);
12
+ async exec(params) {
13
+ const { deployment, items: input, table, maxBatchSize = 25 } = params;
14
+ if (0 === input.length) return {
15
+ items: SourceDataContainer.create()
16
+ };
17
+ const client = this.createDocumentClient(deployment);
18
+ const results = await this.execute({
19
+ client,
20
+ table,
21
+ maxBatchSize,
22
+ records: input
23
+ });
24
+ const items = SourceDataContainer.create();
25
+ for (const item of input){
26
+ const data = results.find((result)=>item.PK === result.PK && item.SK === result.SK);
27
+ items.add({
28
+ PK: item.PK,
29
+ SK: item.SK,
30
+ table,
31
+ source: deployment
32
+ }, data || null);
33
+ }
34
+ return {
35
+ items
36
+ };
49
37
  }
50
- return {
51
- items
52
- };
53
- }
54
- async execute(params) {
55
- const {
56
- client,
57
- table,
58
- records: items,
59
- maxBatchSize
60
- } = params;
61
- const batches = (0, _chunk.default)(items, maxBatchSize);
62
- const results = [];
63
- for (const batch of batches) {
64
- let keys = this.getKeys(batch);
65
- while (keys.length > 0) {
66
- const command = new _clientDynamodb.BatchGetCommand({
67
- RequestItems: {
68
- [table.name]: {
69
- Keys: keys
38
+ async execute(params) {
39
+ const { client, table, records: items, maxBatchSize } = params;
40
+ const batches = chunk(items, maxBatchSize);
41
+ const results = [];
42
+ for (const batch of batches){
43
+ let keys = this.getKeys(batch);
44
+ while(keys.length > 0){
45
+ const command = new BatchGetCommand({
46
+ RequestItems: {
47
+ [table.name]: {
48
+ Keys: keys
49
+ }
50
+ }
51
+ });
52
+ const { items, unprocessedKeys } = await this.runCommand({
53
+ command,
54
+ client,
55
+ table: table.name
56
+ });
57
+ results.push(...items);
58
+ keys = unprocessedKeys;
70
59
  }
71
- }
60
+ }
61
+ return results;
62
+ }
63
+ async runCommand(params) {
64
+ const { command, table, client } = params;
65
+ const retry = createRetry({
66
+ maxRetries: this.maxRetries,
67
+ retryDelay: this.retryDelay
72
68
  });
73
- const {
74
- items,
75
- unprocessedKeys
76
- } = await this.runCommand({
77
- command,
78
- client,
79
- table: table.name
69
+ return await retry.retry(async ()=>{
70
+ const result = await client.send(command);
71
+ return {
72
+ items: result.Responses?.[table] || [],
73
+ unprocessedKeys: result.UnprocessedKeys?.[table]?.Keys || []
74
+ };
75
+ }, {
76
+ onFail: (ex)=>{
77
+ console.error(`Max retries reached. Could not fetch items from table: ${table}`);
78
+ console.log(convertException(ex));
79
+ console.log(JSON.stringify(command));
80
+ }
80
81
  });
81
- results.push(...items);
82
- keys = unprocessedKeys;
83
- }
84
82
  }
85
- return results;
86
- }
87
- async runCommand(params) {
88
- const {
89
- command,
90
- table,
91
- client
92
- } = params;
93
- const retry = (0, _Retry.createRetry)({
94
- maxRetries: this.maxRetries,
95
- retryDelay: this.retryDelay
96
- });
97
- return await retry.retry(async () => {
98
- const result = await client.send(command);
99
- return {
100
- items: result.Responses?.[table] || [],
101
- unprocessedKeys: result.UnprocessedKeys?.[table]?.Keys || []
102
- };
103
- }, {
104
- onFail: ex => {
105
- console.error(`Max retries reached. Could not fetch items from table: ${table}`);
106
- console.log((0, _utils.convertException)(ex));
107
- console.log(JSON.stringify(command));
108
- }
109
- });
110
- }
111
- getKeys(items) {
112
- const keys = new Map();
113
- for (const item of items) {
114
- const key = `PK:${item.PK}#SK:${item.SK}`;
115
- if (keys.has(key)) {
116
- continue;
117
- }
118
- keys.set(key, {
119
- PK: item.PK,
120
- SK: item.SK
121
- });
83
+ getKeys(items) {
84
+ const keys = new Map();
85
+ for (const item of items){
86
+ const key = `PK:${item.PK}#SK:${item.SK}`;
87
+ if (!keys.has(key)) keys.set(key, {
88
+ PK: item.PK,
89
+ SK: item.SK
90
+ });
91
+ }
92
+ return Array.from(keys.values());
122
93
  }
123
- return Array.from(keys.values());
124
- }
125
94
  }
126
- exports.Fetcher = Fetcher;
127
- const createFetcher = params => {
128
- return new Fetcher(params);
129
- };
130
- exports.createFetcher = createFetcher;
95
+ const createFetcher = (params)=>new Fetcher(params);
96
+ export { Fetcher, createFetcher };
131
97
 
132
98
  //# sourceMappingURL=Fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clientDynamodb","require","_chunk","_interopRequireDefault","_SourceDataContainer","_utils","_Retry","Fetcher","constructor","params","createDocumentClient","maxRetries","retryDelay","exec","deployment","items","input","table","maxBatchSize","length","SourceDataContainer","create","client","results","execute","records","item","data","find","result","PK","SK","add","source","batches","lodashChunk","batch","keys","getKeys","command","BatchGetCommand","RequestItems","name","Keys","unprocessedKeys","runCommand","push","retry","createRetry","send","Responses","UnprocessedKeys","onFail","ex","console","error","log","convertException","JSON","stringify","Map","key","has","set","Array","from","values","exports","createFetcher"],"sources":["Fetcher.ts"],"sourcesContent":["import type { IFetcher, IFetcherExecParams, IFetcherExecResult } from \"./types\";\nimport { BatchGetCommand, type DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport lodashChunk from \"lodash/chunk\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport { SourceDataContainer } from \"~/resolver/app/data/SourceDataContainer.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { IStoreItem } from \"~/resolver/app/storer/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\nimport { createRetry } from \"~/resolver/app/utils/Retry.js\";\n\nexport interface IFetcherParamsCreateDocumentClientCallable {\n (deployment: Pick<IDeployment, \"region\">): Pick<DynamoDBDocument, \"send\">;\n}\n\nexport interface IFetcherParams {\n maxRetries?: number;\n retryDelay?: number;\n createDocumentClient: IFetcherParamsCreateDocumentClientCallable;\n}\n\ninterface IKeys {\n PK: string;\n SK: string;\n}\n\ninterface IFetcherExecuteRunCommandParams {\n command: BatchGetCommand;\n table: string;\n client: Pick<DynamoDBDocument, \"send\">;\n}\n\ninterface IFetcherExecuteRunCommandResult<T = GenericRecord> {\n items: T[];\n unprocessedKeys: IKeys[];\n}\n\ninterface IFetchExecuteExecuteParamsItem {\n PK: string;\n SK: string;\n}\n\ninterface IFetchExecuteExecuteParams {\n maxBatchSize: number;\n client: Pick<DynamoDBDocument, \"send\">;\n table: ITable;\n records: IFetchExecuteExecuteParamsItem[];\n}\n\nexport class Fetcher implements IFetcher {\n private readonly createDocumentClient: IFetcherParamsCreateDocumentClientCallable;\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n\n public constructor(params: IFetcherParams) {\n this.createDocumentClient = params.createDocumentClient;\n this.maxRetries = params.maxRetries || 10;\n this.retryDelay = params.retryDelay || 1000;\n }\n\n public async exec(params: IFetcherExecParams): Promise<IFetcherExecResult> {\n const { deployment, items: input, table, maxBatchSize = 25 } = params;\n if (input.length === 0) {\n return {\n items: SourceDataContainer.create()\n };\n }\n\n const client = this.createDocumentClient(deployment);\n\n const results = await this.execute({\n client,\n table,\n maxBatchSize,\n records: input\n });\n\n const items = SourceDataContainer.create();\n\n for (const item of input) {\n const data = results.find(result => {\n return item.PK === result.PK && item.SK === result.SK;\n });\n items.add(\n {\n PK: item.PK,\n SK: item.SK,\n table,\n source: deployment\n },\n data || null\n );\n }\n\n return {\n items\n };\n }\n\n private async execute<T = IStoreItem>(params: IFetchExecuteExecuteParams) {\n const { client, table, records: items, maxBatchSize } = params;\n const batches = lodashChunk(items, maxBatchSize);\n\n const results: T[] = [];\n for (const batch of batches) {\n let keys = this.getKeys(batch);\n\n while (keys.length > 0) {\n const command = new BatchGetCommand({\n RequestItems: {\n [table.name]: {\n Keys: keys\n }\n }\n });\n const { items, unprocessedKeys } = await this.runCommand<T>({\n command,\n client,\n table: table.name\n });\n\n results.push(...items);\n\n keys = unprocessedKeys;\n }\n }\n return results;\n }\n\n private async runCommand<T = GenericRecord>(\n params: IFetcherExecuteRunCommandParams\n ): Promise<IFetcherExecuteRunCommandResult<T>> {\n const { command, table, client } = params;\n\n const retry = createRetry({\n maxRetries: this.maxRetries,\n retryDelay: this.retryDelay\n });\n\n return await retry.retry(\n async () => {\n const result = await client.send(command);\n\n return {\n items: (result.Responses?.[table] || []) as T[],\n unprocessedKeys: (result.UnprocessedKeys?.[table]?.Keys || []) as IKeys[]\n };\n },\n {\n onFail: ex => {\n console.error(\n `Max retries reached. Could not fetch items from table: ${table}`\n );\n console.log(convertException(ex));\n console.log(JSON.stringify(command));\n }\n }\n );\n }\n\n private getKeys(items: IFetchExecuteExecuteParamsItem[]): IKeys[] {\n const keys = new Map<string, IKeys>();\n\n for (const item of items) {\n const key = `PK:${item.PK}#SK:${item.SK}`;\n if (keys.has(key)) {\n continue;\n }\n keys.set(key, {\n PK: item.PK,\n SK: item.SK\n });\n }\n\n return Array.from(keys.values());\n }\n}\n\nexport const createFetcher = (params: IFetcherParams): IFetcher => {\n return new Fetcher(params);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/fetcher/Fetcher.js","sources":["../../../../src/resolver/app/fetcher/Fetcher.ts"],"sourcesContent":["import type { IFetcher, IFetcherExecParams, IFetcherExecResult } from \"./types.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { BatchGetCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport lodashChunk from \"lodash/chunk.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport { SourceDataContainer } from \"~/resolver/app/data/SourceDataContainer.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { IStoreItem } from \"~/resolver/app/storer/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\nimport { createRetry } from \"~/resolver/app/utils/Retry.js\";\n\nexport interface IFetcherParamsCreateDocumentClientCallable {\n (deployment: Pick<IDeployment, \"region\">): Pick<DynamoDBDocument, \"send\">;\n}\n\nexport interface IFetcherParams {\n maxRetries?: number;\n retryDelay?: number;\n createDocumentClient: IFetcherParamsCreateDocumentClientCallable;\n}\n\ninterface IKeys {\n PK: string;\n SK: string;\n}\n\ninterface IFetcherExecuteRunCommandParams {\n command: BatchGetCommand;\n table: string;\n client: Pick<DynamoDBDocument, \"send\">;\n}\n\ninterface IFetcherExecuteRunCommandResult<T = GenericRecord> {\n items: T[];\n unprocessedKeys: IKeys[];\n}\n\ninterface IFetchExecuteExecuteParamsItem {\n PK: string;\n SK: string;\n}\n\ninterface IFetchExecuteExecuteParams {\n maxBatchSize: number;\n client: Pick<DynamoDBDocument, \"send\">;\n table: ITable;\n records: IFetchExecuteExecuteParamsItem[];\n}\n\nexport class Fetcher implements IFetcher {\n private readonly createDocumentClient: IFetcherParamsCreateDocumentClientCallable;\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n\n public constructor(params: IFetcherParams) {\n this.createDocumentClient = params.createDocumentClient;\n this.maxRetries = params.maxRetries || 10;\n this.retryDelay = params.retryDelay || 1000;\n }\n\n public async exec(params: IFetcherExecParams): Promise<IFetcherExecResult> {\n const { deployment, items: input, table, maxBatchSize = 25 } = params;\n if (input.length === 0) {\n return {\n items: SourceDataContainer.create()\n };\n }\n\n const client = this.createDocumentClient(deployment);\n\n const results = await this.execute({\n client,\n table,\n maxBatchSize,\n records: input\n });\n\n const items = SourceDataContainer.create();\n\n for (const item of input) {\n const data = results.find(result => {\n return item.PK === result.PK && item.SK === result.SK;\n });\n items.add(\n {\n PK: item.PK,\n SK: item.SK,\n table,\n source: deployment\n },\n data || null\n );\n }\n\n return {\n items\n };\n }\n\n private async execute<T = IStoreItem>(params: IFetchExecuteExecuteParams) {\n const { client, table, records: items, maxBatchSize } = params;\n const batches = lodashChunk(items, maxBatchSize);\n\n const results: T[] = [];\n for (const batch of batches) {\n let keys = this.getKeys(batch);\n\n while (keys.length > 0) {\n const command = new BatchGetCommand({\n RequestItems: {\n [table.name]: {\n Keys: keys\n }\n }\n });\n const { items, unprocessedKeys } = await this.runCommand<T>({\n command,\n client,\n table: table.name\n });\n\n results.push(...items);\n\n keys = unprocessedKeys;\n }\n }\n return results;\n }\n\n private async runCommand<T = GenericRecord>(\n params: IFetcherExecuteRunCommandParams\n ): Promise<IFetcherExecuteRunCommandResult<T>> {\n const { command, table, client } = params;\n\n const retry = createRetry({\n maxRetries: this.maxRetries,\n retryDelay: this.retryDelay\n });\n\n return await retry.retry(\n async () => {\n const result = await client.send(command);\n\n return {\n items: (result.Responses?.[table] || []) as T[],\n unprocessedKeys: (result.UnprocessedKeys?.[table]?.Keys || []) as IKeys[]\n };\n },\n {\n onFail: ex => {\n console.error(\n `Max retries reached. Could not fetch items from table: ${table}`\n );\n console.log(convertException(ex));\n console.log(JSON.stringify(command));\n }\n }\n );\n }\n\n private getKeys(items: IFetchExecuteExecuteParamsItem[]): IKeys[] {\n const keys = new Map<string, IKeys>();\n\n for (const item of items) {\n const key = `PK:${item.PK}#SK:${item.SK}`;\n if (keys.has(key)) {\n continue;\n }\n keys.set(key, {\n PK: item.PK,\n SK: item.SK\n });\n }\n\n return Array.from(keys.values());\n }\n}\n\nexport const createFetcher = (params: IFetcherParams): IFetcher => {\n return new Fetcher(params);\n};\n"],"names":["Fetcher","params","deployment","input","table","maxBatchSize","SourceDataContainer","client","results","items","item","data","result","batches","lodashChunk","batch","keys","command","BatchGetCommand","unprocessedKeys","retry","createRetry","ex","console","convertException","JSON","Map","key","Array","createFetcher"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { IDeployment } from "../../deployment/types.js";
1
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
2
2
  import type { ITable } from "../../../sync/types.js";
3
- import type { ISourceDataContainer } from "../data/types.js";
3
+ import type { ISourceDataContainer } from "../../../resolver/app/data/types.js";
4
4
  export interface IFetcherExecParamsItem {
5
5
  PK: string;
6
6
  SK: string;
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=types.js.map
@@ -1,5 +1,5 @@
1
1
  import type { IIngestor, IIngestorIngestParams, IIngestorResult } from "./types.js";
2
- import type { IDeployment } from "../../deployment/types.js";
2
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
3
3
  export interface IIngestorParams {
4
4
  createIngestorResult: () => IIngestorResult;
5
5
  getSource: (name: string) => IDeployment | null;
@@ -1,44 +1,31 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createIngestor = exports.Ingestor = void 0;
7
1
  class Ingestor {
8
- constructor(params) {
9
- this.createIngestorResult = params.createIngestorResult;
10
- this.getSource = params.getSource;
11
- }
12
- async ingest(params) {
13
- const {
14
- records
15
- } = params;
16
- const result = this.createIngestorResult();
17
- for (const record of records) {
18
- const detail = record.body.detail;
19
- const source = this.getSource(detail.source.name);
20
- if (!source) {
21
- console.error(`Could not find deployment for SQS Record source: ${detail.source.name}. More info in next log line.`);
22
- console.log(JSON.stringify({
23
- source: detail.source,
24
- items: detail.items
25
- }));
26
- continue;
27
- }
28
- for (const item of detail.items) {
29
- result.add({
30
- item,
31
- source
32
- });
33
- }
2
+ constructor(params){
3
+ this.createIngestorResult = params.createIngestorResult;
4
+ this.getSource = params.getSource;
5
+ }
6
+ async ingest(params) {
7
+ const { records } = params;
8
+ const result = this.createIngestorResult();
9
+ for (const record of records){
10
+ const detail = record.body.detail;
11
+ const source = this.getSource(detail.source.name);
12
+ if (!source) {
13
+ console.error(`Could not find deployment for SQS Record source: ${detail.source.name}. More info in next log line.`);
14
+ console.log(JSON.stringify({
15
+ source: detail.source,
16
+ items: detail.items
17
+ }));
18
+ continue;
19
+ }
20
+ for (const item of detail.items)result.add({
21
+ item,
22
+ source
23
+ });
24
+ }
25
+ return result;
34
26
  }
35
- return result;
36
- }
37
27
  }
38
- exports.Ingestor = Ingestor;
39
- const createIngestor = params => {
40
- return new Ingestor(params);
41
- };
42
- exports.createIngestor = createIngestor;
28
+ const createIngestor = (params)=>new Ingestor(params);
29
+ export { Ingestor, createIngestor };
43
30
 
44
31
  //# sourceMappingURL=Ingestor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Ingestor","constructor","params","createIngestorResult","getSource","ingest","records","result","record","detail","body","source","name","console","error","log","JSON","stringify","items","item","add","exports","createIngestor"],"sources":["Ingestor.ts"],"sourcesContent":["import type { IIngestor, IIngestorIngestParams, IIngestorResult } from \"./types.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\n\nexport interface IIngestorParams {\n createIngestorResult: () => IIngestorResult;\n getSource: (name: string) => IDeployment | null;\n}\n\nexport class Ingestor implements IIngestor {\n private readonly createIngestorResult: () => IIngestorResult;\n private readonly getSource: (name: string) => IDeployment | null;\n\n public constructor(params: IIngestorParams) {\n this.createIngestorResult = params.createIngestorResult;\n this.getSource = params.getSource;\n }\n\n public async ingest(params: IIngestorIngestParams): Promise<IIngestorResult> {\n const { records } = params;\n\n const result = this.createIngestorResult();\n\n for (const record of records) {\n const detail = record.body.detail;\n const source = this.getSource(detail.source.name);\n if (!source) {\n console.error(\n `Could not find deployment for SQS Record source: ${detail.source.name}. More info in next log line.`\n );\n console.log(\n JSON.stringify({\n source: detail.source,\n items: detail.items\n })\n );\n continue;\n }\n\n for (const item of detail.items) {\n result.add({\n item,\n source\n });\n }\n }\n\n return result;\n }\n}\n\nexport const createIngestor = (params: IIngestorParams): IIngestor => {\n return new Ingestor(params);\n};\n"],"mappings":";;;;;;AAQO,MAAMA,QAAQ,CAAsB;EAIhCC,WAAWA,CAACC,MAAuB,EAAE;IACxC,IAAI,CAACC,oBAAoB,GAAGD,MAAM,CAACC,oBAAoB;IACvD,IAAI,CAACC,SAAS,GAAGF,MAAM,CAACE,SAAS;EACrC;EAEA,MAAaC,MAAMA,CAACH,MAA6B,EAA4B;IACzE,MAAM;MAAEI;IAAQ,CAAC,GAAGJ,MAAM;IAE1B,MAAMK,MAAM,GAAG,IAAI,CAACJ,oBAAoB,CAAC,CAAC;IAE1C,KAAK,MAAMK,MAAM,IAAIF,OAAO,EAAE;MAC1B,MAAMG,MAAM,GAAGD,MAAM,CAACE,IAAI,CAACD,MAAM;MACjC,MAAME,MAAM,GAAG,IAAI,CAACP,SAAS,CAACK,MAAM,CAACE,MAAM,CAACC,IAAI,CAAC;MACjD,IAAI,CAACD,MAAM,EAAE;QACTE,OAAO,CAACC,KAAK,CACT,oDAAoDL,MAAM,CAACE,MAAM,CAACC,IAAI,+BAC1E,CAAC;QACDC,OAAO,CAACE,GAAG,CACPC,IAAI,CAACC,SAAS,CAAC;UACXN,MAAM,EAAEF,MAAM,CAACE,MAAM;UACrBO,KAAK,EAAET,MAAM,CAACS;QAClB,CAAC,CACL,CAAC;QACD;MACJ;MAEA,KAAK,MAAMC,IAAI,IAAIV,MAAM,CAACS,KAAK,EAAE;QAC7BX,MAAM,CAACa,GAAG,CAAC;UACPD,IAAI;UACJR;QACJ,CAAC,CAAC;MACN;IACJ;IAEA,OAAOJ,MAAM;EACjB;AACJ;AAACc,OAAA,CAAArB,QAAA,GAAAA,QAAA;AAEM,MAAMsB,cAAc,GAAIpB,MAAuB,IAAgB;EAClE,OAAO,IAAIF,QAAQ,CAACE,MAAM,CAAC;AAC/B,CAAC;AAACmB,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/ingestor/Ingestor.js","sources":["../../../../src/resolver/app/ingestor/Ingestor.ts"],"sourcesContent":["import type { IIngestor, IIngestorIngestParams, IIngestorResult } from \"./types.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\n\nexport interface IIngestorParams {\n createIngestorResult: () => IIngestorResult;\n getSource: (name: string) => IDeployment | null;\n}\n\nexport class Ingestor implements IIngestor {\n private readonly createIngestorResult: () => IIngestorResult;\n private readonly getSource: (name: string) => IDeployment | null;\n\n public constructor(params: IIngestorParams) {\n this.createIngestorResult = params.createIngestorResult;\n this.getSource = params.getSource;\n }\n\n public async ingest(params: IIngestorIngestParams): Promise<IIngestorResult> {\n const { records } = params;\n\n const result = this.createIngestorResult();\n\n for (const record of records) {\n const detail = record.body.detail;\n const source = this.getSource(detail.source.name);\n if (!source) {\n console.error(\n `Could not find deployment for SQS Record source: ${detail.source.name}. More info in next log line.`\n );\n console.log(\n JSON.stringify({\n source: detail.source,\n items: detail.items\n })\n );\n continue;\n }\n\n for (const item of detail.items) {\n result.add({\n item,\n source\n });\n }\n }\n\n return result;\n }\n}\n\nexport const createIngestor = (params: IIngestorParams): IIngestor => {\n return new Ingestor(params);\n};\n"],"names":["Ingestor","params","records","result","record","detail","source","console","JSON","item","createIngestor"],"mappings":"AAQO,MAAMA;IAIT,YAAmBC,MAAuB,CAAE;QACxC,IAAI,CAAC,oBAAoB,GAAGA,OAAO,oBAAoB;QACvD,IAAI,CAAC,SAAS,GAAGA,OAAO,SAAS;IACrC;IAEA,MAAa,OAAOA,MAA6B,EAA4B;QACzE,MAAM,EAAEC,OAAO,EAAE,GAAGD;QAEpB,MAAME,SAAS,IAAI,CAAC,oBAAoB;QAExC,KAAK,MAAMC,UAAUF,QAAS;YAC1B,MAAMG,SAASD,OAAO,IAAI,CAAC,MAAM;YACjC,MAAME,SAAS,IAAI,CAAC,SAAS,CAACD,OAAO,MAAM,CAAC,IAAI;YAChD,IAAI,CAACC,QAAQ;gBACTC,QAAQ,KAAK,CACT,CAAC,iDAAiD,EAAEF,OAAO,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC;gBAEzGE,QAAQ,GAAG,CACPC,KAAK,SAAS,CAAC;oBACX,QAAQH,OAAO,MAAM;oBACrB,OAAOA,OAAO,KAAK;gBACvB;gBAEJ;YACJ;YAEA,KAAK,MAAMI,QAAQJ,OAAO,KAAK,CAC3BF,OAAO,GAAG,CAAC;gBACPM;gBACAH;YACJ;QAER;QAEA,OAAOH;IACX;AACJ;AAEO,MAAMO,iBAAiB,CAACT,SACpB,IAAID,SAASC"}
@@ -1,45 +1,33 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createIngestorResult = exports.IngestorResult = void 0;
7
1
  class IngestorResult {
8
- items = new Map();
9
- add(params) {
10
- const {
11
- item,
12
- source
13
- } = params;
14
- let table;
15
- try {
16
- table = source.getTable(item.tableType);
17
- } catch (ex) {
18
- console.error(`Could not find table for SQS Record source: ${item.tableName} / ${item.tableType}. More info in next log line.`);
19
- console.log(JSON.stringify(item));
20
- return;
2
+ add(params) {
3
+ const { item, source } = params;
4
+ let table;
5
+ try {
6
+ table = source.getTable(item.tableType);
7
+ } catch {
8
+ console.error(`Could not find table for SQS Record source: ${item.tableName} / ${item.tableType}. More info in next log line.`);
9
+ console.log(JSON.stringify(item));
10
+ return;
11
+ }
12
+ const command = "delete" === item.command ? "delete" : "put";
13
+ const key = `PK:${item.PK}#SK:${item.SK}#cmd:${command}#source:${source.name}`;
14
+ if (this.items.has(key)) return;
15
+ this.items.set(key, {
16
+ PK: item.PK,
17
+ SK: item.SK,
18
+ source,
19
+ command,
20
+ table
21
+ });
22
+ }
23
+ getItems() {
24
+ return Array.from(this.items.values());
21
25
  }
22
- const command = item.command === "delete" ? "delete" : "put";
23
- const key = `PK:${item.PK}#SK:${item.SK}#cmd:${command}#source:${source.name}`;
24
- if (this.items.has(key)) {
25
- return;
26
+ constructor(){
27
+ this.items = new Map();
26
28
  }
27
- this.items.set(key, {
28
- PK: item.PK,
29
- SK: item.SK,
30
- source,
31
- command,
32
- table
33
- });
34
- }
35
- getItems() {
36
- return Array.from(this.items.values());
37
- }
38
29
  }
39
- exports.IngestorResult = IngestorResult;
40
- const createIngestorResult = () => {
41
- return new IngestorResult();
42
- };
43
- exports.createIngestorResult = createIngestorResult;
30
+ const createIngestorResult = ()=>new IngestorResult();
31
+ export { IngestorResult, createIngestorResult };
44
32
 
45
33
  //# sourceMappingURL=IngestorResult.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IngestorResult","items","Map","add","params","item","source","table","getTable","tableType","ex","console","error","tableName","log","JSON","stringify","command","key","PK","SK","name","has","set","getItems","Array","from","values","exports","createIngestorResult"],"sources":["IngestorResult.ts"],"sourcesContent":["import type { IIngestorResult, IIngestorResultAddParams, IIngestorResultItem } from \"./types.js\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport class IngestorResult implements IIngestorResult {\n private readonly items: Map<string, IIngestorResultItem> = new Map();\n\n public add(params: IIngestorResultAddParams): void {\n const { item, source } = params;\n let table: ITable;\n try {\n table = source.getTable(item.tableType);\n } catch (ex) {\n console.error(\n `Could not find table for SQS Record source: ${item.tableName} / ${item.tableType}. More info in next log line.`\n );\n console.log(JSON.stringify(item));\n return;\n }\n\n const command = item.command === \"delete\" ? \"delete\" : \"put\";\n\n const key = `PK:${item.PK}#SK:${item.SK}#cmd:${command}#source:${source.name}`;\n\n if (this.items.has(key)) {\n return;\n }\n\n this.items.set(key, {\n PK: item.PK,\n SK: item.SK,\n source,\n command,\n table\n });\n }\n\n public getItems(): IIngestorResultItem[] {\n return Array.from(this.items.values());\n }\n}\n\nexport const createIngestorResult = (): IIngestorResult => {\n return new IngestorResult();\n};\n"],"mappings":";;;;;;AAGO,MAAMA,cAAc,CAA4B;EAClCC,KAAK,GAAqC,IAAIC,GAAG,CAAC,CAAC;EAE7DC,GAAGA,CAACC,MAAgC,EAAQ;IAC/C,MAAM;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAGF,MAAM;IAC/B,IAAIG,KAAa;IACjB,IAAI;MACAA,KAAK,GAAGD,MAAM,CAACE,QAAQ,CAACH,IAAI,CAACI,SAAS,CAAC;IAC3C,CAAC,CAAC,OAAOC,EAAE,EAAE;MACTC,OAAO,CAACC,KAAK,CACT,+CAA+CP,IAAI,CAACQ,SAAS,MAAMR,IAAI,CAACI,SAAS,+BACrF,CAAC;MACDE,OAAO,CAACG,GAAG,CAACC,IAAI,CAACC,SAAS,CAACX,IAAI,CAAC,CAAC;MACjC;IACJ;IAEA,MAAMY,OAAO,GAAGZ,IAAI,CAACY,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAG,KAAK;IAE5D,MAAMC,GAAG,GAAG,MAAMb,IAAI,CAACc,EAAE,OAAOd,IAAI,CAACe,EAAE,QAAQH,OAAO,WAAWX,MAAM,CAACe,IAAI,EAAE;IAE9E,IAAI,IAAI,CAACpB,KAAK,CAACqB,GAAG,CAACJ,GAAG,CAAC,EAAE;MACrB;IACJ;IAEA,IAAI,CAACjB,KAAK,CAACsB,GAAG,CAACL,GAAG,EAAE;MAChBC,EAAE,EAAEd,IAAI,CAACc,EAAE;MACXC,EAAE,EAAEf,IAAI,CAACe,EAAE;MACXd,MAAM;MACNW,OAAO;MACPV;IACJ,CAAC,CAAC;EACN;EAEOiB,QAAQA,CAAA,EAA0B;IACrC,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACzB,KAAK,CAAC0B,MAAM,CAAC,CAAC,CAAC;EAC1C;AACJ;AAACC,OAAA,CAAA5B,cAAA,GAAAA,cAAA;AAEM,MAAM6B,oBAAoB,GAAGA,CAAA,KAAuB;EACvD,OAAO,IAAI7B,cAAc,CAAC,CAAC;AAC/B,CAAC;AAAC4B,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/ingestor/IngestorResult.js","sources":["../../../../src/resolver/app/ingestor/IngestorResult.ts"],"sourcesContent":["import type { IIngestorResult, IIngestorResultAddParams, IIngestorResultItem } from \"./types.js\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport class IngestorResult implements IIngestorResult {\n private readonly items: Map<string, IIngestorResultItem> = new Map();\n\n public add(params: IIngestorResultAddParams): void {\n const { item, source } = params;\n let table: ITable;\n try {\n table = source.getTable(item.tableType);\n } catch {\n console.error(\n `Could not find table for SQS Record source: ${item.tableName} / ${item.tableType}. More info in next log line.`\n );\n console.log(JSON.stringify(item));\n return;\n }\n\n const command = item.command === \"delete\" ? \"delete\" : \"put\";\n\n const key = `PK:${item.PK}#SK:${item.SK}#cmd:${command}#source:${source.name}`;\n\n if (this.items.has(key)) {\n return;\n }\n\n this.items.set(key, {\n PK: item.PK,\n SK: item.SK,\n source,\n command,\n table\n });\n }\n\n public getItems(): IIngestorResultItem[] {\n return Array.from(this.items.values());\n }\n}\n\nexport const createIngestorResult = (): IIngestorResult => {\n return new IngestorResult();\n};\n"],"names":["IngestorResult","params","item","source","table","console","JSON","command","key","Array","Map","createIngestorResult"],"mappings":"AAGO,MAAMA;IAGF,IAAIC,MAAgC,EAAQ;QAC/C,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGF;QACzB,IAAIG;QACJ,IAAI;YACAA,QAAQD,OAAO,QAAQ,CAACD,KAAK,SAAS;QAC1C,EAAE,OAAM;YACJG,QAAQ,KAAK,CACT,CAAC,4CAA4C,EAAEH,KAAK,SAAS,CAAC,GAAG,EAAEA,KAAK,SAAS,CAAC,6BAA6B,CAAC;YAEpHG,QAAQ,GAAG,CAACC,KAAK,SAAS,CAACJ;YAC3B;QACJ;QAEA,MAAMK,UAAUL,AAAiB,aAAjBA,KAAK,OAAO,GAAgB,WAAW;QAEvD,MAAMM,MAAM,CAAC,GAAG,EAAEN,KAAK,EAAE,CAAC,IAAI,EAAEA,KAAK,EAAE,CAAC,KAAK,EAAEK,QAAQ,QAAQ,EAAEJ,OAAO,IAAI,EAAE;QAE9E,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAACK,MACf;QAGJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA,KAAK;YAChB,IAAIN,KAAK,EAAE;YACX,IAAIA,KAAK,EAAE;YACXC;YACAI;YACAH;QACJ;IACJ;IAEO,WAAkC;QACrC,OAAOK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;IACvC;;aAlCiB,KAAK,GAAqC,IAAIC;;AAmCnE;AAEO,MAAMC,uBAAuB,IACzB,IAAIX"}
@@ -1,8 +1,8 @@
1
1
  import type { CommandType } from "../../../types.js";
2
- import type { IResolverSQSRecord } from "../abstractions/ResolverRecord.js";
2
+ import type { IResolverSQSRecord } from "../../../resolver/app/abstractions/ResolverRecord.js";
3
3
  import type { IDetailItem } from "../../../sync/handler/types.js";
4
4
  import type { ITable } from "../../../sync/types.js";
5
- import type { IDeployment } from "../../deployment/types.js";
5
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
6
6
  export interface IIngestorIngestParams {
7
7
  records: IResolverSQSRecord[];
8
8
  }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
- import type { IStoreItem, IStorer, IStorerExecParams } from "./types";
2
- import type { IDeployment } from "../../deployment/types.js";
1
+ import type { IStoreItem, IStorer, IStorerExecParams } from "./types.js";
2
+ import type { IDeployment } from "../../../resolver/deployment/types.js";
3
3
  import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb/index.js";
4
- import type { CommandType } from "../../../types";
4
+ import type { CommandType } from "../../../types.js";
5
5
  import type { ITable } from "../../../sync/types.js";
6
6
  export interface IStorerParamsCreateDocumentClientCallable {
7
7
  (deployment: Pick<IDeployment, "region">): Pick<DynamoDBDocument, "send">;