@webiny/api-sync-system 0.0.0-unstable.a4637c5ce6 → 0.0.0-unstable.a4f3e4ea8b

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 (321) hide show
  1. package/README.md +6 -108
  2. package/constants.js +2 -7
  3. package/constants.js.map +1 -1
  4. package/index.js +3 -40
  5. package/package.json +29 -26
  6. package/resolver/app/RecordHandler.d.ts +6 -6
  7. package/resolver/app/RecordHandler.js +84 -114
  8. package/resolver/app/RecordHandler.js.map +1 -1
  9. package/resolver/app/RecordsValidation.js +13 -24
  10. package/resolver/app/RecordsValidation.js.map +1 -1
  11. package/resolver/app/ResolverApplication.d.ts +1 -1
  12. package/resolver/app/ResolverApplication.js +27 -42
  13. package/resolver/app/ResolverApplication.js.map +1 -1
  14. package/resolver/app/abstractions/RecordHandler.d.ts +1 -1
  15. package/resolver/app/abstractions/RecordHandler.js +0 -7
  16. package/resolver/app/abstractions/RecordsValidation.d.ts +2 -2
  17. package/resolver/app/abstractions/RecordsValidation.js +0 -7
  18. package/resolver/app/abstractions/ResolverApplication.js +0 -7
  19. package/resolver/app/abstractions/ResolverRecord.d.ts +1 -1
  20. package/resolver/app/abstractions/ResolverRecord.js +0 -7
  21. package/resolver/app/bundler/BaseBundle.d.ts +6 -6
  22. package/resolver/app/bundler/BaseBundle.js +16 -22
  23. package/resolver/app/bundler/BaseBundle.js.map +1 -1
  24. package/resolver/app/bundler/Bundler.d.ts +1 -1
  25. package/resolver/app/bundler/Bundler.js +12 -25
  26. package/resolver/app/bundler/Bundler.js.map +1 -1
  27. package/resolver/app/bundler/Bundles.d.ts +2 -2
  28. package/resolver/app/bundler/Bundles.js +20 -33
  29. package/resolver/app/bundler/Bundles.js.map +1 -1
  30. package/resolver/app/bundler/CommandBundle.d.ts +1 -1
  31. package/resolver/app/bundler/CommandBundle.js +8 -25
  32. package/resolver/app/bundler/CommandBundle.js.map +1 -1
  33. package/resolver/app/bundler/TableBundle.d.ts +1 -1
  34. package/resolver/app/bundler/TableBundle.js +7 -22
  35. package/resolver/app/bundler/TableBundle.js.map +1 -1
  36. package/resolver/app/bundler/types.d.ts +2 -2
  37. package/resolver/app/bundler/types.js +0 -7
  38. package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +3 -3
  39. package/resolver/app/commandHandler/DeleteCommandHandler.js +21 -35
  40. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
  41. package/resolver/app/commandHandler/PutCommandHandler.d.ts +4 -4
  42. package/resolver/app/commandHandler/PutCommandHandler.js +15 -28
  43. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
  44. package/resolver/app/commandHandler/delete.d.ts +1 -1
  45. package/resolver/app/commandHandler/delete.js +13 -21
  46. package/resolver/app/commandHandler/delete.js.map +1 -1
  47. package/resolver/app/commandHandler/put.d.ts +1 -1
  48. package/resolver/app/commandHandler/put.js +13 -21
  49. package/resolver/app/commandHandler/put.js.map +1 -1
  50. package/resolver/app/data/SourceDataContainer.d.ts +3 -3
  51. package/resolver/app/data/SourceDataContainer.js +27 -36
  52. package/resolver/app/data/SourceDataContainer.js.map +1 -1
  53. package/resolver/app/data/types.d.ts +2 -2
  54. package/resolver/app/data/types.js +0 -7
  55. package/resolver/app/fetcher/Fetcher.d.ts +3 -3
  56. package/resolver/app/fetcher/Fetcher.js +87 -121
  57. package/resolver/app/fetcher/Fetcher.js.map +1 -1
  58. package/resolver/app/fetcher/types.d.ts +2 -2
  59. package/resolver/app/fetcher/types.js +0 -7
  60. package/resolver/app/ingestor/Ingestor.d.ts +1 -1
  61. package/resolver/app/ingestor/Ingestor.js +26 -39
  62. package/resolver/app/ingestor/Ingestor.js.map +1 -1
  63. package/resolver/app/ingestor/IngestorResult.js +27 -39
  64. package/resolver/app/ingestor/IngestorResult.js.map +1 -1
  65. package/resolver/app/ingestor/types.d.ts +2 -2
  66. package/resolver/app/ingestor/types.js +0 -7
  67. package/resolver/app/storer/Storer.d.ts +3 -3
  68. package/resolver/app/storer/Storer.js +73 -95
  69. package/resolver/app/storer/Storer.js.map +1 -1
  70. package/resolver/app/storer/types.d.ts +2 -2
  71. package/resolver/app/storer/types.js +0 -7
  72. package/resolver/app/transform/TransformHandler.d.ts +4 -4
  73. package/resolver/app/transform/TransformHandler.js +46 -64
  74. package/resolver/app/transform/TransformHandler.js.map +1 -1
  75. package/resolver/app/transform/middleware.d.ts +1 -1
  76. package/resolver/app/transform/middleware.js +12 -25
  77. package/resolver/app/transform/middleware.js.map +1 -1
  78. package/resolver/app/utils/Retry.js +21 -32
  79. package/resolver/app/utils/Retry.js.map +1 -1
  80. package/resolver/app/utils/sleep.js +4 -12
  81. package/resolver/app/utils/sleep.js.map +1 -1
  82. package/resolver/app/validation/body.d.ts +25 -124
  83. package/resolver/app/validation/body.js +31 -44
  84. package/resolver/app/validation/body.js.map +1 -1
  85. package/resolver/app/validation/createJsonTransform.d.ts +1 -1
  86. package/resolver/app/validation/createJsonTransform.js +13 -22
  87. package/resolver/app/validation/createJsonTransform.js.map +1 -1
  88. package/resolver/app/validation/detail.d.ts +19 -72
  89. package/resolver/app/validation/detail.js +33 -46
  90. package/resolver/app/validation/detail.js.map +1 -1
  91. package/resolver/app/validation/event.d.ts +29 -188
  92. package/resolver/app/validation/event.js +21 -30
  93. package/resolver/app/validation/event.js.map +1 -1
  94. package/resolver/app/validation/numericString.d.ts +1 -1
  95. package/resolver/app/validation/numericString.js +9 -20
  96. package/resolver/app/validation/numericString.js.map +1 -1
  97. package/resolver/app/validation/system.d.ts +2 -14
  98. package/resolver/app/validation/system.js +9 -18
  99. package/resolver/app/validation/system.js.map +1 -1
  100. package/resolver/createEventHandlerPlugin.d.ts +2 -1
  101. package/resolver/createEventHandlerPlugin.js +85 -121
  102. package/resolver/createEventHandlerPlugin.js.map +1 -1
  103. package/resolver/createResolverHandler.d.ts +1 -1
  104. package/resolver/createResolverHandler.js +60 -75
  105. package/resolver/createResolverHandler.js.map +1 -1
  106. package/resolver/deployment/Deployment.d.ts +2 -3
  107. package/resolver/deployment/Deployment.js +27 -44
  108. package/resolver/deployment/Deployment.js.map +1 -1
  109. package/resolver/deployment/Deployments.js +19 -30
  110. package/resolver/deployment/Deployments.js.map +1 -1
  111. package/resolver/deployment/DeploymentsFetcher.js +82 -102
  112. package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
  113. package/resolver/deployment/types.d.ts +4 -6
  114. package/resolver/deployment/types.js +0 -7
  115. package/resolver/lambda/LambdaTrigger.js +25 -34
  116. package/resolver/lambda/LambdaTrigger.js.map +1 -1
  117. package/resolver/plugins/CommandHandlerPlugin.d.ts +3 -3
  118. package/resolver/plugins/CommandHandlerPlugin.js +17 -24
  119. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
  120. package/resolver/plugins/StorerAfterEachPlugin.d.ts +2 -2
  121. package/resolver/plugins/StorerAfterEachPlugin.js +21 -29
  122. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
  123. package/resolver/plugins/TransformRecordPlugin.d.ts +3 -3
  124. package/resolver/plugins/TransformRecordPlugin.js +20 -27
  125. package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
  126. package/resolver/recordTypes/fileManager/CopyFile.js +44 -74
  127. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
  128. package/resolver/recordTypes/fileManager/DeleteFile.d.ts +1 -1
  129. package/resolver/recordTypes/fileManager/DeleteFile.js +40 -65
  130. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
  131. package/resolver/recordTypes/fileManager/fileManager.d.ts +1 -1
  132. package/resolver/recordTypes/fileManager/fileManager.js +7 -12
  133. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
  134. package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +1 -1
  135. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +27 -45
  136. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
  137. package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +1 -1
  138. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +27 -45
  139. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
  140. package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +1 -1
  141. package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -34
  142. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
  143. package/resolver/recordTypes/fileManager/types.d.ts +2 -2
  144. package/resolver/recordTypes/fileManager/types.js +0 -7
  145. package/resolver/recordTypes/users/CopyUser.d.ts +2 -2
  146. package/resolver/recordTypes/users/CopyUser.js +44 -61
  147. package/resolver/recordTypes/users/CopyUser.js.map +1 -1
  148. package/resolver/recordTypes/users/DeleteUser.d.ts +2 -2
  149. package/resolver/recordTypes/users/DeleteUser.js +40 -58
  150. package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
  151. package/resolver/recordTypes/users/shouldBeHandled.d.ts +1 -1
  152. package/resolver/recordTypes/users/shouldBeHandled.js +10 -33
  153. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
  154. package/resolver/recordTypes/users/types.d.ts +1 -1
  155. package/resolver/recordTypes/users/types.js +0 -7
  156. package/resolver/recordTypes/users/users.js +7 -12
  157. package/resolver/recordTypes/users/users.js.map +1 -1
  158. package/resolver/recordTypes/users/usersOnDelete.d.ts +2 -2
  159. package/resolver/recordTypes/users/usersOnDelete.js +26 -44
  160. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
  161. package/resolver/recordTypes/users/usersOnPut.d.ts +2 -2
  162. package/resolver/recordTypes/users/usersOnPut.js +27 -45
  163. package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
  164. package/sync/FilterOutRecord.d.ts +2 -2
  165. package/sync/FilterOutRecord.js +8 -24
  166. package/sync/FilterOutRecord.js.map +1 -1
  167. package/sync/attachToDynamoDbDocument.d.ts +1 -1
  168. package/sync/attachToDynamoDbDocument.js +48 -75
  169. package/sync/attachToDynamoDbDocument.js.map +1 -1
  170. package/sync/createHandler.js +44 -60
  171. package/sync/createHandler.js.map +1 -1
  172. package/sync/createSendDataToEventBridgeOnRequestEnd.js +34 -46
  173. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -1
  174. package/sync/createSyncSystem.d.ts +1 -1
  175. package/sync/createSyncSystem.js +27 -36
  176. package/sync/createSyncSystem.js.map +1 -1
  177. package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +1 -1
  178. package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -86
  179. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
  180. package/sync/handler/Handler.d.ts +2 -2
  181. package/sync/handler/Handler.js +66 -86
  182. package/sync/handler/Handler.js.map +1 -1
  183. package/sync/handler/HandlerConverter.js +20 -36
  184. package/sync/handler/HandlerConverter.js.map +1 -1
  185. package/sync/handler/converter/BatchGetCommandConverter.js +13 -20
  186. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
  187. package/sync/handler/converter/BatchWriteCommandConverter.js +13 -20
  188. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
  189. package/sync/handler/converter/DeleteCommandConverter.js +13 -20
  190. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
  191. package/sync/handler/converter/GetCommandConverter.js +13 -20
  192. package/sync/handler/converter/GetCommandConverter.js.map +1 -1
  193. package/sync/handler/converter/PutCommandConverter.js +13 -20
  194. package/sync/handler/converter/PutCommandConverter.js.map +1 -1
  195. package/sync/handler/converter/QueryCommandConverter.js +13 -20
  196. package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
  197. package/sync/handler/converter/ScanCommandConverter.js +13 -20
  198. package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
  199. package/sync/handler/converter/UpdateCommandConverter.js +13 -20
  200. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
  201. package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +2 -2
  202. package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -44
  203. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
  204. package/sync/handler/converter/commands/DeleteCommandValue.d.ts +2 -2
  205. package/sync/handler/converter/commands/DeleteCommandValue.js +19 -23
  206. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
  207. package/sync/handler/converter/commands/NullCommandValue.d.ts +1 -1
  208. package/sync/handler/converter/commands/NullCommandValue.js +7 -14
  209. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
  210. package/sync/handler/converter/commands/PutCommandValue.d.ts +2 -2
  211. package/sync/handler/converter/commands/PutCommandValue.js +19 -23
  212. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
  213. package/sync/handler/converter/commands/UpdateCommandValue.d.ts +2 -2
  214. package/sync/handler/converter/commands/UpdateCommandValue.js +19 -23
  215. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
  216. package/sync/handler/types.d.ts +3 -3
  217. package/sync/handler/types.js +0 -7
  218. package/sync/plugins/FilterOutRecordPlugin.d.ts +1 -1
  219. package/sync/plugins/FilterOutRecordPlugin.js +18 -28
  220. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
  221. package/sync/requestPlugin.d.ts +1 -1
  222. package/sync/requestPlugin.js +39 -55
  223. package/sync/requestPlugin.js.map +1 -1
  224. package/sync/types.js +0 -7
  225. package/sync/utils/getTableType.js +11 -19
  226. package/sync/utils/getTableType.js.map +1 -1
  227. package/sync/utils/manifest.d.ts +3 -7
  228. package/sync/utils/manifest.js +30 -47
  229. package/sync/utils/manifest.js.map +1 -1
  230. package/sync/utils/validateSystemInput.d.ts +1 -1
  231. package/sync/utils/validateSystemInput.js +22 -37
  232. package/sync/utils/validateSystemInput.js.map +1 -1
  233. package/types.d.ts +3 -5
  234. package/types.js +6 -12
  235. package/types.js.map +1 -1
  236. package/utils/createSystemName.js +5 -10
  237. package/utils/createSystemName.js.map +1 -1
  238. package/worker/actions/copyFile/CopyFile.js +185 -268
  239. package/worker/actions/copyFile/CopyFile.js.map +1 -1
  240. package/worker/actions/copyFile/copyFileAction.d.ts +1 -1
  241. package/worker/actions/copyFile/copyFileAction.js +30 -45
  242. package/worker/actions/copyFile/copyFileAction.js.map +1 -1
  243. package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
  244. package/worker/actions/copyFile/copyFileSchema.js +14 -23
  245. package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
  246. package/worker/actions/copyFile/types.js +0 -7
  247. package/worker/actions/createUser/CreateUser.d.ts +1 -1
  248. package/worker/actions/createUser/CreateUser.js +53 -83
  249. package/worker/actions/createUser/CreateUser.js.map +1 -1
  250. package/worker/actions/createUser/createUserAction.d.ts +2 -2
  251. package/worker/actions/createUser/createUserAction.js +28 -39
  252. package/worker/actions/createUser/createUserAction.js.map +1 -1
  253. package/worker/actions/createUser/createUserSchema.d.ts +6 -38
  254. package/worker/actions/createUser/createUserSchema.js +14 -23
  255. package/worker/actions/createUser/createUserSchema.js.map +1 -1
  256. package/worker/actions/createUser/types.js +0 -7
  257. package/worker/actions/deleteFile/DeleteFile.js +52 -74
  258. package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
  259. package/worker/actions/deleteFile/deleteFileAction.d.ts +1 -1
  260. package/worker/actions/deleteFile/deleteFileAction.js +25 -40
  261. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
  262. package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
  263. package/worker/actions/deleteFile/deleteFileSchema.js +14 -23
  264. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
  265. package/worker/actions/deleteFile/types.js +0 -7
  266. package/worker/actions/deleteUser/DeleteUser.d.ts +2 -2
  267. package/worker/actions/deleteUser/DeleteUser.js +39 -60
  268. package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
  269. package/worker/actions/deleteUser/deleteUserAction.d.ts +1 -1
  270. package/worker/actions/deleteUser/deleteUserAction.js +26 -37
  271. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
  272. package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
  273. package/worker/actions/deleteUser/deleteUserSchema.js +13 -22
  274. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
  275. package/worker/actions/deleteUser/types.js +0 -7
  276. package/worker/actions/logValidationError.js +6 -14
  277. package/worker/actions/logValidationError.js.map +1 -1
  278. package/worker/actions/removeCognitoUserAttributes.js +9 -22
  279. package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
  280. package/worker/actions/updateUser/UpdateUser.d.ts +1 -1
  281. package/worker/actions/updateUser/UpdateUser.js +50 -74
  282. package/worker/actions/updateUser/UpdateUser.js.map +1 -1
  283. package/worker/actions/updateUser/types.js +0 -7
  284. package/worker/actions/updateUser/updateUserAction.d.ts +2 -2
  285. package/worker/actions/updateUser/updateUserAction.js +28 -39
  286. package/worker/actions/updateUser/updateUserAction.js.map +1 -1
  287. package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
  288. package/worker/actions/updateUser/updateUserSchema.js +14 -23
  289. package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
  290. package/worker/createWorkerHandler.js +32 -45
  291. package/worker/createWorkerHandler.js.map +1 -1
  292. package/worker/handler/WorkerActionHandler.d.ts +2 -2
  293. package/worker/handler/WorkerActionHandler.js +19 -28
  294. package/worker/handler/WorkerActionHandler.js.map +1 -1
  295. package/worker/handler/eventHandler.js +18 -27
  296. package/worker/handler/eventHandler.js.map +1 -1
  297. package/worker/plugins/WorkerActionPlugin.d.ts +1 -1
  298. package/worker/plugins/WorkerActionPlugin.js +18 -25
  299. package/worker/plugins/WorkerActionPlugin.js.map +1 -1
  300. package/worker/types.js +0 -7
  301. package/index.js.map +0 -1
  302. package/resolver/app/abstractions/RecordHandler.js.map +0 -1
  303. package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
  304. package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
  305. package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
  306. package/resolver/app/bundler/types.js.map +0 -1
  307. package/resolver/app/data/types.js.map +0 -1
  308. package/resolver/app/fetcher/types.js.map +0 -1
  309. package/resolver/app/ingestor/types.js.map +0 -1
  310. package/resolver/app/storer/types.js.map +0 -1
  311. package/resolver/deployment/types.js.map +0 -1
  312. package/resolver/recordTypes/fileManager/types.js.map +0 -1
  313. package/resolver/recordTypes/users/types.js.map +0 -1
  314. package/sync/handler/types.js.map +0 -1
  315. package/sync/types.js.map +0 -1
  316. package/worker/actions/copyFile/types.js.map +0 -1
  317. package/worker/actions/createUser/types.js.map +0 -1
  318. package/worker/actions/deleteFile/types.js.map +0 -1
  319. package/worker/actions/deleteUser/types.js.map +0 -1
  320. package/worker/actions/updateUser/types.js.map +0 -1
  321. package/worker/types.js.map +0 -1
@@ -1,42 +1,33 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createSyncSystem = void 0;
7
- var _validateSystemInput = require("./utils/validateSystemInput.js");
8
- var _requestPlugin = require("./requestPlugin.js");
9
- var _createDefaultFilterOutRecordPlugins = require("./filter/createDefaultFilterOutRecordPlugins.js");
1
+ import { validateSystemInput } from "./utils/validateSystemInput.js";
2
+ import { createSyncSystemHandlerOnRequestPlugin } from "./requestPlugin.js";
3
+ import { createDefaultFilterOutRecordPlugins } from "./filter/createDefaultFilterOutRecordPlugins.js";
10
4
  const emptyResponse = {
11
- plugins() {
12
- return [];
13
- }
5
+ plugins () {
6
+ return [];
7
+ }
14
8
  };
15
- const createSyncSystem = params => {
16
- const {
17
- system,
18
- error
19
- } = (0, _validateSystemInput.validateSystemInput)(params.system);
20
- /**
21
- * We do not want to throw any errors. We will log them and just return a function which returns empty array as plugins.
22
- */
23
- if (error) {
24
- console.error(error);
25
- return emptyResponse;
26
- } else if (!system) {
27
- console.error("Sync System: No system provided. Sync System will not be attached.");
28
- return emptyResponse;
29
- }
30
- return {
31
- plugins: () => {
32
- return [...(params.plugins || []), ...(0, _createDefaultFilterOutRecordPlugins.createDefaultFilterOutRecordPlugins)(), (0, _requestPlugin.createSyncSystemHandlerOnRequestPlugin)({
33
- getDocumentClient: params.getDocumentClient,
34
- getEventBridgeClient: params.getEventBridgeClient,
35
- system
36
- })];
9
+ const createSyncSystem = (params)=>{
10
+ const { system, error } = validateSystemInput(params.system);
11
+ if (error) {
12
+ console.error(error);
13
+ return emptyResponse;
14
+ }
15
+ if (!system) {
16
+ console.error("Sync System: No system provided. Sync System will not be attached.");
17
+ return emptyResponse;
37
18
  }
38
- };
19
+ return {
20
+ plugins: ()=>[
21
+ ...params.plugins || [],
22
+ ...createDefaultFilterOutRecordPlugins(),
23
+ createSyncSystemHandlerOnRequestPlugin({
24
+ getDocumentClient: params.getDocumentClient,
25
+ getEventBridgeClient: params.getEventBridgeClient,
26
+ system
27
+ })
28
+ ]
29
+ };
39
30
  };
40
- exports.createSyncSystem = createSyncSystem;
31
+ export { createSyncSystem };
41
32
 
42
33
  //# sourceMappingURL=createSyncSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_validateSystemInput","require","_requestPlugin","_createDefaultFilterOutRecordPlugins","emptyResponse","plugins","createSyncSystem","params","system","error","validateSystemInput","console","createDefaultFilterOutRecordPlugins","createSyncSystemHandlerOnRequestPlugin","getDocumentClient","getEventBridgeClient","exports"],"sources":["createSyncSystem.ts"],"sourcesContent":["import type { Plugin } from \"@webiny/plugins/types.js\";\nimport type { IGetEventBridgeCallable, ISystem } from \"./types.js\";\nimport { validateSystemInput } from \"./utils/validateSystemInput.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { PossiblyUndefinedProperties } from \"@webiny/api/types\";\nimport { createSyncSystemHandlerOnRequestPlugin } from \"./requestPlugin.js\";\nimport type { FilterOutRecordPlugin } from \"./plugins/FilterOutRecordPlugin.js\";\nimport { createDefaultFilterOutRecordPlugins } from \"./filter/createDefaultFilterOutRecordPlugins.js\";\n\nexport type IAllowedPlugins = FilterOutRecordPlugin;\n\nexport interface ICreateSyncSystemParams {\n getDocumentClient(): Pick<DynamoDBDocument, \"send\">;\n getEventBridgeClient: IGetEventBridgeCallable;\n system: PossiblyUndefinedProperties<Omit<ISystem, \"name\">>;\n plugins?: IAllowedPlugins[];\n}\n\nexport interface ICreateSyncSystemResponse {\n plugins(): Plugin[];\n}\n\nconst emptyResponse: ICreateSyncSystemResponse = {\n plugins(): Plugin[] {\n return [];\n }\n};\n\nexport const createSyncSystem = (params: ICreateSyncSystemParams): ICreateSyncSystemResponse => {\n const { system, error } = validateSystemInput(params.system);\n /**\n * We do not want to throw any errors. We will log them and just return a function which returns empty array as plugins.\n */\n if (error) {\n console.error(error);\n return emptyResponse;\n } else if (!system) {\n console.error(\"Sync System: No system provided. Sync System will not be attached.\");\n return emptyResponse;\n }\n\n return {\n plugins: () => {\n return [\n ...(params.plugins || []),\n ...createDefaultFilterOutRecordPlugins(),\n createSyncSystemHandlerOnRequestPlugin({\n getDocumentClient: params.getDocumentClient,\n getEventBridgeClient: params.getEventBridgeClient,\n system\n })\n ];\n }\n };\n};\n"],"mappings":";;;;;;AAEA,IAAAA,oBAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,oCAAA,GAAAF,OAAA;AAeA,MAAMG,aAAwC,GAAG;EAC7CC,OAAOA,CAAA,EAAa;IAChB,OAAO,EAAE;EACb;AACJ,CAAC;AAEM,MAAMC,gBAAgB,GAAIC,MAA+B,IAAgC;EAC5F,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,wCAAmB,EAACH,MAAM,CAACC,MAAM,CAAC;EAC5D;AACJ;AACA;EACI,IAAIC,KAAK,EAAE;IACPE,OAAO,CAACF,KAAK,CAACA,KAAK,CAAC;IACpB,OAAOL,aAAa;EACxB,CAAC,MAAM,IAAI,CAACI,MAAM,EAAE;IAChBG,OAAO,CAACF,KAAK,CAAC,oEAAoE,CAAC;IACnF,OAAOL,aAAa;EACxB;EAEA,OAAO;IACHC,OAAO,EAAEA,CAAA,KAAM;MACX,OAAO,CACH,IAAIE,MAAM,CAACF,OAAO,IAAI,EAAE,CAAC,EACzB,GAAG,IAAAO,wEAAmC,EAAC,CAAC,EACxC,IAAAC,qDAAsC,EAAC;QACnCC,iBAAiB,EAAEP,MAAM,CAACO,iBAAiB;QAC3CC,oBAAoB,EAAER,MAAM,CAACQ,oBAAoB;QACjDP;MACJ,CAAC,CAAC,CACL;IACL;EACJ,CAAC;AACL,CAAC;AAACQ,OAAA,CAAAV,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"file":"sync/createSyncSystem.js","sources":["../../src/sync/createSyncSystem.ts"],"sourcesContent":["import type { Plugin } from \"@webiny/plugins/types.js\";\nimport type { IGetEventBridgeCallable, ISystem } from \"./types.js\";\nimport { validateSystemInput } from \"./utils/validateSystemInput.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { PossiblyUndefinedProperties } from \"@webiny/api/types.js\";\nimport { createSyncSystemHandlerOnRequestPlugin } from \"./requestPlugin.js\";\nimport type { FilterOutRecordPlugin } from \"./plugins/FilterOutRecordPlugin.js\";\nimport { createDefaultFilterOutRecordPlugins } from \"./filter/createDefaultFilterOutRecordPlugins.js\";\n\nexport type IAllowedPlugins = FilterOutRecordPlugin;\n\nexport interface ICreateSyncSystemParams {\n getDocumentClient(): Pick<DynamoDBDocument, \"send\">;\n getEventBridgeClient: IGetEventBridgeCallable;\n system: PossiblyUndefinedProperties<Omit<ISystem, \"name\">>;\n plugins?: IAllowedPlugins[];\n}\n\nexport interface ICreateSyncSystemResponse {\n plugins(): Plugin[];\n}\n\nconst emptyResponse: ICreateSyncSystemResponse = {\n plugins(): Plugin[] {\n return [];\n }\n};\n\nexport const createSyncSystem = (params: ICreateSyncSystemParams): ICreateSyncSystemResponse => {\n const { system, error } = validateSystemInput(params.system);\n /**\n * We do not want to throw any errors. We will log them and just return a function which returns empty array as plugins.\n */\n if (error) {\n console.error(error);\n return emptyResponse;\n } else if (!system) {\n console.error(\"Sync System: No system provided. Sync System will not be attached.\");\n return emptyResponse;\n }\n\n return {\n plugins: () => {\n return [\n ...(params.plugins || []),\n ...createDefaultFilterOutRecordPlugins(),\n createSyncSystemHandlerOnRequestPlugin({\n getDocumentClient: params.getDocumentClient,\n getEventBridgeClient: params.getEventBridgeClient,\n system\n })\n ];\n }\n };\n};\n"],"names":["emptyResponse","createSyncSystem","params","system","error","validateSystemInput","console","createDefaultFilterOutRecordPlugins","createSyncSystemHandlerOnRequestPlugin"],"mappings":";;;AAsBA,MAAMA,gBAA2C;IAC7C;QACI,OAAO,EAAE;IACb;AACJ;AAEO,MAAMC,mBAAmB,CAACC;IAC7B,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAGC,oBAAoBH,OAAO,MAAM;IAI3D,IAAIE,OAAO;QACPE,QAAQ,KAAK,CAACF;QACd,OAAOJ;IACX;IAAO,IAAI,CAACG,QAAQ;QAChBG,QAAQ,KAAK,CAAC;QACd,OAAON;IACX;IAEA,OAAO;QACH,SAAS,IACE;mBACCE,OAAO,OAAO,IAAI,EAAE;mBACrBK;gBACHC,uCAAuC;oBACnC,mBAAmBN,OAAO,iBAAiB;oBAC3C,sBAAsBA,OAAO,oBAAoB;oBACjDC;gBACJ;aACH;IAET;AACJ"}
@@ -1,4 +1,4 @@
1
- import { FilterOutRecordPlugin } from "../plugins/FilterOutRecordPlugin.js";
1
+ import { FilterOutRecordPlugin } from "../../sync/plugins/FilterOutRecordPlugin.js";
2
2
  /**
3
3
  * Order keys by what is most like to be filtered out - most inserts/updates/deletes.
4
4
  * This is out of my head, so it might not be the best order.
@@ -1,88 +1,39 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.startsWithKeys = exports.skipModels = exports.equalKeys = exports.createDefaultFilterOutRecordPlugins = void 0;
7
- var _FilterOutRecordPlugin = require("../plugins/FilterOutRecordPlugin.js");
8
- /**
9
- * Order keys by what is most like to be filtered out - most inserts/updates/deletes.
10
- * This is out of my head, so it might not be the best order.
11
- */
12
- const equalKeys = exports.equalKeys = [
13
- // Logging - every request
14
- "LOG",
15
- // P
16
- "PS#SETTINGS",
17
- // Websockets - on every user login
18
- "WS#CONNECTIONS",
19
- /**
20
- * packages/db-dynamodb/src/DynamoDbDriver.ts
21
- */
22
- //`W#INTERNAL`,
23
- /**
24
- * APW settings
25
- */
26
- "APW#SETTINGS",
27
- // Deployments - on every deployment
28
- "DEPLOYMENTS",
29
- // Admin
30
- "ADMIN#SETTINGS"].map(key => {
31
- return key.toLowerCase();
32
- });
33
- const startsWithKeys = exports.startsWithKeys = [
34
- // Websockets - on every user login
35
- "WS#",
36
- // Migrations - on every deployment
37
- "MIGRATION_RUN#", "MIGRATION#",
38
- // Service Manifest - on deployment if something was changed in the service manifest
39
- "SERVICE_MANIFEST#",
40
- // Deployments - on every deployment
41
- "DEPLOYMENT#"].map(key => {
42
- return key.toLowerCase();
43
- });
44
- /**
45
- * TODO figure out a way to skip these models.
46
- * When deleting a record, we do not have a modelId in the values.
47
- */
48
- const skipModels = exports.skipModels = [
49
- // APW
50
- "apwChangeRequestModelDefinition", "apwCommentModelDefinition", "apwContentReviewModelDefinition", "apwReviewerModelDefinition", "apwWorkflowModelDefnition", "apwWorkflowModelDefinition",
51
- // AUDIT LOGS
52
- "acoSearchRecord-auditlogs",
53
- // RECORD LOCKING
54
- "wby_recordLocking",
55
- // TASKS
56
- "webinyTaskLog", "webinyTask"].map(key => {
57
- return key.toLowerCase();
58
- });
59
- const createDefaultFilterOutRecordPlugins = () => {
60
- return [(0, _FilterOutRecordPlugin.createFilterOutRecordPlugin)({
61
- name: _FilterOutRecordPlugin.FilterOutRecordPlugin.createName("default"),
62
- filterOut: record => {
63
- const pk = record.PK.toLowerCase();
64
- if (equalKeys.includes(pk)) {
65
- return true;
66
- }
67
- for (const key of startsWithKeys) {
68
- if (pk.startsWith(key)) {
69
- return true;
70
- }
71
- }
72
- /**
73
- * TODO figure out a way to skip models without using expect-error.
74
- */
75
- // @ts-expect-error
76
- const modelId = record.input?.input?.Item?.modelId?.toLowerCase();
77
- if (!modelId) {
78
- return false;
79
- } else if (skipModels.includes(modelId)) {
80
- return true;
81
- }
82
- return false;
83
- }
84
- })];
85
- };
86
- exports.createDefaultFilterOutRecordPlugins = createDefaultFilterOutRecordPlugins;
1
+ import { FilterOutRecordPlugin, createFilterOutRecordPlugin } from "../plugins/FilterOutRecordPlugin.js";
2
+ const equalKeys = [
3
+ "LOG",
4
+ "PS#SETTINGS",
5
+ "WS#CONNECTIONS",
6
+ "APW#SETTINGS",
7
+ "DEPLOYMENTS",
8
+ "ADMIN#SETTINGS"
9
+ ].map((key)=>key.toLowerCase());
10
+ const startsWithKeys = [
11
+ "WS#",
12
+ "MIGRATION_RUN#",
13
+ "MIGRATION#",
14
+ "SERVICE_MANIFEST#",
15
+ "DEPLOYMENT#"
16
+ ].map((key)=>key.toLowerCase());
17
+ const skipModels = [
18
+ "wbyRecordLock",
19
+ "wbyTaskLog",
20
+ "wbyTask"
21
+ ].map((key)=>key.toLowerCase());
22
+ const createDefaultFilterOutRecordPlugins = ()=>[
23
+ createFilterOutRecordPlugin({
24
+ name: FilterOutRecordPlugin.createName("default"),
25
+ filterOut: (record)=>{
26
+ const pk = record.PK.toLowerCase();
27
+ if (equalKeys.includes(pk)) return true;
28
+ for (const key of startsWithKeys)if (pk.startsWith(key)) return true;
29
+ const modelId = record.input?.input?.Item?.modelId?.toLowerCase();
30
+ if (modelId) {
31
+ if (skipModels.includes(modelId)) return true;
32
+ }
33
+ return false;
34
+ }
35
+ })
36
+ ];
37
+ export { createDefaultFilterOutRecordPlugins, equalKeys, skipModels, startsWithKeys };
87
38
 
88
39
  //# sourceMappingURL=createDefaultFilterOutRecordPlugins.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_FilterOutRecordPlugin","require","equalKeys","exports","map","key","toLowerCase","startsWithKeys","skipModels","createDefaultFilterOutRecordPlugins","createFilterOutRecordPlugin","name","FilterOutRecordPlugin","createName","filterOut","record","pk","PK","includes","startsWith","modelId","input","Item"],"sources":["createDefaultFilterOutRecordPlugins.ts"],"sourcesContent":["import {\n createFilterOutRecordPlugin,\n FilterOutRecordPlugin\n} from \"~/sync/plugins/FilterOutRecordPlugin.js\";\n\n/**\n * Order keys by what is most like to be filtered out - most inserts/updates/deletes.\n * This is out of my head, so it might not be the best order.\n */\nexport const equalKeys: string[] = [\n // Logging - every request\n \"LOG\",\n // P\n \"PS#SETTINGS\",\n // Websockets - on every user login\n \"WS#CONNECTIONS\",\n /**\n * packages/db-dynamodb/src/DynamoDbDriver.ts\n */\n //`W#INTERNAL`,\n /**\n * APW settings\n */\n \"APW#SETTINGS\",\n // Deployments - on every deployment\n \"DEPLOYMENTS\",\n // Admin\n \"ADMIN#SETTINGS\"\n].map(key => {\n return key.toLowerCase();\n});\n\nexport const startsWithKeys: string[] = [\n // Websockets - on every user login\n \"WS#\",\n // Migrations - on every deployment\n \"MIGRATION_RUN#\",\n \"MIGRATION#\",\n // Service Manifest - on deployment if something was changed in the service manifest\n \"SERVICE_MANIFEST#\",\n // Deployments - on every deployment\n \"DEPLOYMENT#\"\n].map(key => {\n return key.toLowerCase();\n});\n/**\n * TODO figure out a way to skip these models.\n * When deleting a record, we do not have a modelId in the values.\n */\nexport const skipModels: string[] = [\n // APW\n \"apwChangeRequestModelDefinition\",\n \"apwCommentModelDefinition\",\n \"apwContentReviewModelDefinition\",\n \"apwReviewerModelDefinition\",\n \"apwWorkflowModelDefnition\",\n \"apwWorkflowModelDefinition\",\n // AUDIT LOGS\n \"acoSearchRecord-auditlogs\",\n // RECORD LOCKING\n \"wby_recordLocking\",\n // TASKS\n \"webinyTaskLog\",\n \"webinyTask\"\n].map(key => {\n return key.toLowerCase();\n});\n\nexport const createDefaultFilterOutRecordPlugins = (): FilterOutRecordPlugin[] => {\n return [\n createFilterOutRecordPlugin({\n name: FilterOutRecordPlugin.createName(\"default\"),\n filterOut: record => {\n const pk = record.PK.toLowerCase();\n if (equalKeys.includes(pk)) {\n return true;\n }\n for (const key of startsWithKeys) {\n if (pk.startsWith(key)) {\n return true;\n }\n }\n /**\n * TODO figure out a way to skip models without using expect-error.\n */\n // @ts-expect-error\n const modelId = record.input?.input?.Item?.modelId?.toLowerCase();\n if (!modelId) {\n return false;\n } else if (skipModels.includes(modelId)) {\n return true;\n }\n return false;\n }\n })\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAKA;AACA;AACA;AACA;AACO,MAAMC,SAAmB,GAAAC,OAAA,CAAAD,SAAA,GAAG;AAC/B;AACA,KAAK;AACL;AACA,aAAa;AACb;AACA,gBAAgB;AAChB;AACJ;AACA;AACI;AACA;AACJ;AACA;AACI,cAAc;AACd;AACA,aAAa;AACb;AACA,gBAAgB,CACnB,CAACE,GAAG,CAACC,GAAG,IAAI;EACT,OAAOA,GAAG,CAACC,WAAW,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEK,MAAMC,cAAwB,GAAAJ,OAAA,CAAAI,cAAA,GAAG;AACpC;AACA,KAAK;AACL;AACA,gBAAgB,EAChB,YAAY;AACZ;AACA,mBAAmB;AACnB;AACA,aAAa,CAChB,CAACH,GAAG,CAACC,GAAG,IAAI;EACT,OAAOA,GAAG,CAACC,WAAW,CAAC,CAAC;AAC5B,CAAC,CAAC;AACF;AACA;AACA;AACA;AACO,MAAME,UAAoB,GAAAL,OAAA,CAAAK,UAAA,GAAG;AAChC;AACA,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B;AAC5B;AACA,2BAA2B;AAC3B;AACA,mBAAmB;AACnB;AACA,eAAe,EACf,YAAY,CACf,CAACJ,GAAG,CAACC,GAAG,IAAI;EACT,OAAOA,GAAG,CAACC,WAAW,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEK,MAAMG,mCAAmC,GAAGA,CAAA,KAA+B;EAC9E,OAAO,CACH,IAAAC,kDAA2B,EAAC;IACxBC,IAAI,EAAEC,4CAAqB,CAACC,UAAU,CAAC,SAAS,CAAC;IACjDC,SAAS,EAAEC,MAAM,IAAI;MACjB,MAAMC,EAAE,GAAGD,MAAM,CAACE,EAAE,CAACX,WAAW,CAAC,CAAC;MAClC,IAAIJ,SAAS,CAACgB,QAAQ,CAACF,EAAE,CAAC,EAAE;QACxB,OAAO,IAAI;MACf;MACA,KAAK,MAAMX,GAAG,IAAIE,cAAc,EAAE;QAC9B,IAAIS,EAAE,CAACG,UAAU,CAACd,GAAG,CAAC,EAAE;UACpB,OAAO,IAAI;QACf;MACJ;MACA;AAChB;AACA;MACgB;MACA,MAAMe,OAAO,GAAGL,MAAM,CAACM,KAAK,EAAEA,KAAK,EAAEC,IAAI,EAAEF,OAAO,EAAEd,WAAW,CAAC,CAAC;MACjE,IAAI,CAACc,OAAO,EAAE;QACV,OAAO,KAAK;MAChB,CAAC,MAAM,IAAIZ,UAAU,CAACU,QAAQ,CAACE,OAAO,CAAC,EAAE;QACrC,OAAO,IAAI;MACf;MACA,OAAO,KAAK;IAChB;EACJ,CAAC,CAAC,CACL;AACL,CAAC;AAACjB,OAAA,CAAAM,mCAAA,GAAAA,mCAAA","ignoreList":[]}
1
+ {"version":3,"file":"sync/filter/createDefaultFilterOutRecordPlugins.js","sources":["../../../src/sync/filter/createDefaultFilterOutRecordPlugins.ts"],"sourcesContent":["import {\n createFilterOutRecordPlugin,\n FilterOutRecordPlugin\n} from \"~/sync/plugins/FilterOutRecordPlugin.js\";\n\n/**\n * Order keys by what is most like to be filtered out - most inserts/updates/deletes.\n * This is out of my head, so it might not be the best order.\n */\nexport const equalKeys: string[] = [\n // Logging - every request\n \"LOG\",\n // P\n \"PS#SETTINGS\",\n // Websockets - on every user login\n \"WS#CONNECTIONS\",\n /**\n * packages/db-dynamodb/src/DynamoDbDriver.ts\n */\n //`W#INTERNAL`,\n /**\n * APW settings\n */\n \"APW#SETTINGS\",\n // Deployments - on every deployment\n \"DEPLOYMENTS\",\n // Admin\n \"ADMIN#SETTINGS\"\n].map(key => {\n return key.toLowerCase();\n});\n\nexport const startsWithKeys: string[] = [\n // Websockets - on every user login\n \"WS#\",\n // Migrations - on every deployment\n \"MIGRATION_RUN#\",\n \"MIGRATION#\",\n // Service Manifest - on deployment if something was changed in the service manifest\n \"SERVICE_MANIFEST#\",\n // Deployments - on every deployment\n \"DEPLOYMENT#\"\n].map(key => {\n return key.toLowerCase();\n});\n/**\n * TODO figure out a way to skip these models.\n * When deleting a record, we do not have a modelId in the values.\n */\nexport const skipModels: string[] = [\n // RECORD LOCKING\n \"wbyRecordLock\",\n // TASKS\n \"wbyTaskLog\",\n \"wbyTask\"\n].map(key => {\n return key.toLowerCase();\n});\n\nexport const createDefaultFilterOutRecordPlugins = (): FilterOutRecordPlugin[] => {\n return [\n createFilterOutRecordPlugin({\n name: FilterOutRecordPlugin.createName(\"default\"),\n filterOut: record => {\n const pk = record.PK.toLowerCase();\n if (equalKeys.includes(pk)) {\n return true;\n }\n for (const key of startsWithKeys) {\n if (pk.startsWith(key)) {\n return true;\n }\n }\n /**\n * TODO figure out a way to skip models without using expect-error.\n */\n // @ts-expect-error\n const modelId = record.input?.input?.Item?.modelId?.toLowerCase();\n if (!modelId) {\n return false;\n } else if (skipModels.includes(modelId)) {\n return true;\n }\n return false;\n }\n })\n ];\n};\n"],"names":["equalKeys","key","startsWithKeys","skipModels","createDefaultFilterOutRecordPlugins","createFilterOutRecordPlugin","FilterOutRecordPlugin","record","pk","modelId"],"mappings":";AASO,MAAMA,YAAsB;IAE/B;IAEA;IAEA;IAQA;IAEA;IAEA;CACH,CAAC,GAAG,CAACC,CAAAA,MACKA,IAAI,WAAW;AAGnB,MAAMC,iBAA2B;IAEpC;IAEA;IACA;IAEA;IAEA;CACH,CAAC,GAAG,CAACD,CAAAA,MACKA,IAAI,WAAW;AAMnB,MAAME,aAAuB;IAEhC;IAEA;IACA;CACH,CAAC,GAAG,CAACF,CAAAA,MACKA,IAAI,WAAW;AAGnB,MAAMG,sCAAsC,IACxC;QACHC,4BAA4B;YACxB,MAAMC,sBAAsB,UAAU,CAAC;YACvC,WAAWC,CAAAA;gBACP,MAAMC,KAAKD,OAAO,EAAE,CAAC,WAAW;gBAChC,IAAIP,UAAU,QAAQ,CAACQ,KACnB,OAAO;gBAEX,KAAK,MAAMP,OAAOC,eACd,IAAIM,GAAG,UAAU,CAACP,MACd,OAAO;gBAOf,MAAMQ,UAAUF,OAAO,KAAK,EAAE,OAAO,MAAM,SAAS;gBACpD,IAAKE,SAEE;oBAAA,IAAIN,WAAW,QAAQ,CAACM,UAC3B,OAAO;gBACX;gBACA,OAAO;YACX;QACJ;KACH"}
@@ -1,6 +1,6 @@
1
1
  import type { IDynamoDbCommand, IHandler, IHandlerConverter, ISystem } from "../types.js";
2
- import type { EventBridgeClient, PutEventsCommandOutput } from "@webiny/aws-sdk/client-eventbridge";
3
- import type { FilterOutRecord } from "../FilterOutRecord.js";
2
+ import type { EventBridgeClient, PutEventsCommandOutput } from "@webiny/aws-sdk/client-eventbridge/index.js";
3
+ import type { FilterOutRecord } from "../../sync/FilterOutRecord.js";
4
4
  export interface IHandlerEventBus {
5
5
  name: string;
6
6
  arn: string;
@@ -1,93 +1,73 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createSyncHandler = exports.Handler = void 0;
7
- var _clientEventbridge = require("@webiny/aws-sdk/client-eventbridge");
8
- var _utils = require("@webiny/utils");
9
- var _generateId = require("@webiny/utils/generateId.js");
1
+ import { PutEventsCommand } from "@webiny/aws-sdk/client-eventbridge/index.js";
2
+ import { convertException } from "@webiny/utils";
3
+ import { generateAlphaNumericId } from "@webiny/utils/generateId.js";
10
4
  class Handler {
11
- id = (0, _generateId.generateAlphaNumericId)();
12
- commands = [];
13
- constructor(params) {
14
- this.getEventBridgeClient = params.getEventBridgeClient;
15
- this.system = params.system;
16
- this.converter = params.converter;
17
- this.eventBus = params.eventBus;
18
- this.filterOutRecord = params.filterOutRecord;
19
- }
20
- add(input) {
21
- const cmd = this.converter.convert(input);
22
- this.commands.push(cmd);
23
- }
24
- async flush() {
25
- const items = this.createEventBusEvent();
26
- if (!items?.length) {
27
- return null;
5
+ constructor(params){
6
+ this.id = generateAlphaNumericId();
7
+ this.commands = [];
8
+ this.getEventBridgeClient = params.getEventBridgeClient;
9
+ this.system = params.system;
10
+ this.converter = params.converter;
11
+ this.eventBus = params.eventBus;
12
+ this.filterOutRecord = params.filterOutRecord;
28
13
  }
29
- const detail = {
30
- /**
31
- * We need a random ID because there can be multiple commands with same items sent - but that does not mean they are duplicates.
32
- */
33
- id: (0, _generateId.generateAlphaNumericId)(),
34
- items,
35
- source: this.system
36
- };
37
- const input = {
38
- Entries: [{
39
- DetailType: "synchronization-input",
40
- Detail: JSON.stringify(detail),
41
- Source: `webiny:${this.system.name}`,
42
- EventBusName: this.eventBus.name
43
- }]
44
- };
45
- const command = new _clientEventbridge.PutEventsCommand(input);
46
- try {
47
- const eventBridgeClient = this.getEventBridgeClient();
48
- return await eventBridgeClient.send(command);
49
- } catch (ex) {
50
- console.log("Could not send events to Sync System EventBridge.");
51
- console.error(ex.message);
52
- console.error((0, _utils.convertException)(ex, ["message"]));
53
- console.log(JSON.stringify({
54
- event: items
55
- }));
56
- throw ex;
14
+ add(input) {
15
+ const cmd = this.converter.convert(input);
16
+ this.commands.push(cmd);
57
17
  }
58
- }
59
- createEventBusEvent() {
60
- const commands = Array.from(this.commands);
61
- /**
62
- * Remove all existing commands so we can start fresh.
63
- */
64
- this.commands = [];
65
- const everything = commands.reduce((items, cmd) => {
66
- const commandItems = cmd.getItems();
67
- if (!commandItems?.length) {
68
- return items;
69
- }
70
- for (const item of commandItems) {
71
- if (this.filterOutRecord.filterOut(item)) {
72
- continue;
18
+ async flush() {
19
+ const items = this.createEventBusEvent();
20
+ if (!items?.length) return null;
21
+ const detail = {
22
+ id: generateAlphaNumericId(),
23
+ items,
24
+ source: this.system
25
+ };
26
+ const input = {
27
+ Entries: [
28
+ {
29
+ DetailType: "synchronization-input",
30
+ Detail: JSON.stringify(detail),
31
+ Source: `webiny:${this.system.name}`,
32
+ EventBusName: this.eventBus.name
33
+ }
34
+ ]
35
+ };
36
+ const command = new PutEventsCommand(input);
37
+ try {
38
+ const eventBridgeClient = this.getEventBridgeClient();
39
+ return await eventBridgeClient.send(command);
40
+ } catch (ex) {
41
+ console.log("Could not send events to Sync System EventBridge.");
42
+ console.error(ex.message);
43
+ console.error(convertException(ex, [
44
+ "message"
45
+ ]));
46
+ console.log(JSON.stringify({
47
+ event: items
48
+ }));
49
+ throw ex;
73
50
  }
74
- items.push({
75
- tableName: item.tableName,
76
- command: item.command,
77
- tableType: item.tableType,
78
- PK: item.PK,
79
- SK: item.SK
80
- });
81
- }
82
- return items;
83
- }, []);
84
- return everything.length === 0 ? null : everything;
85
- }
51
+ }
52
+ createEventBusEvent() {
53
+ const commands = Array.from(this.commands);
54
+ this.commands = [];
55
+ const everything = commands.reduce((items, cmd)=>{
56
+ const commandItems = cmd.getItems();
57
+ if (!commandItems?.length) return items;
58
+ for (const item of commandItems)if (!this.filterOutRecord.filterOut(item)) items.push({
59
+ tableName: item.tableName,
60
+ command: item.command,
61
+ tableType: item.tableType,
62
+ PK: item.PK,
63
+ SK: item.SK
64
+ });
65
+ return items;
66
+ }, []);
67
+ return 0 === everything.length ? null : everything;
68
+ }
86
69
  }
87
- exports.Handler = Handler;
88
- const createSyncHandler = params => {
89
- return new Handler(params);
90
- };
91
- exports.createSyncHandler = createSyncHandler;
70
+ const createSyncHandler = (params)=>new Handler(params);
71
+ export { Handler, createSyncHandler };
92
72
 
93
73
  //# sourceMappingURL=Handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clientEventbridge","require","_utils","_generateId","Handler","id","generateAlphaNumericId","commands","constructor","params","getEventBridgeClient","system","converter","eventBus","filterOutRecord","add","input","cmd","convert","push","flush","items","createEventBusEvent","length","detail","source","Entries","DetailType","Detail","JSON","stringify","Source","name","EventBusName","command","PutEventsCommand","eventBridgeClient","send","ex","console","log","error","message","convertException","event","Array","from","everything","reduce","commandItems","getItems","item","filterOut","tableName","tableType","PK","SK","exports","createSyncHandler"],"sources":["Handler.ts"],"sourcesContent":["import type {\n ICommandValue,\n ICommandValueItem,\n ICommandValueItemExtended,\n IDynamoDbCommand,\n IHandler,\n IHandlerConverter,\n ISystem\n} from \"../types.js\";\nimport type {\n EventBridgeClient,\n PutEventsCommandInput,\n PutEventsCommandOutput\n} from \"@webiny/aws-sdk/client-eventbridge\";\nimport { PutEventsCommand } from \"@webiny/aws-sdk/client-eventbridge\";\nimport { convertException } from \"@webiny/utils\";\nimport { generateAlphaNumericId } from \"@webiny/utils/generateId.js\";\nimport type { IDetail } from \"~/sync/handler/types.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { FilterOutRecord } from \"~/sync/FilterOutRecord.js\";\n\nexport interface IHandlerEventBus {\n name: string;\n arn: string;\n}\n\nexport interface IHandlerParams {\n getEventBridgeClient(): Pick<EventBridgeClient, \"send\">;\n converter: IHandlerConverter;\n eventBus: IHandlerEventBus;\n system: ISystem;\n filterOutRecord: FilterOutRecord;\n}\n\nexport class Handler implements IHandler {\n public readonly id = generateAlphaNumericId();\n private readonly system: ISystem;\n private readonly getEventBridgeClient: () => Pick<EventBridgeClient, \"send\">;\n private commands: ICommandValue[] = [];\n private readonly converter: IHandlerConverter;\n private readonly eventBus: IHandlerEventBus;\n private readonly filterOutRecord: FilterOutRecord;\n\n public constructor(params: IHandlerParams) {\n this.getEventBridgeClient = params.getEventBridgeClient;\n this.system = params.system;\n this.converter = params.converter;\n this.eventBus = params.eventBus;\n this.filterOutRecord = params.filterOutRecord;\n }\n\n public add(input: IDynamoDbCommand): void {\n const cmd = this.converter.convert(input);\n this.commands.push(cmd);\n }\n\n public async flush(): Promise<PutEventsCommandOutput | null> {\n const items = this.createEventBusEvent();\n\n if (!items?.length) {\n return null;\n }\n\n const detail: IDetail = {\n /**\n * We need a random ID because there can be multiple commands with same items sent - but that does not mean they are duplicates.\n */\n id: generateAlphaNumericId(),\n items,\n source: this.system\n };\n\n const input: PutEventsCommandInput = {\n Entries: [\n {\n DetailType: \"synchronization-input\",\n Detail: JSON.stringify(detail),\n Source: `webiny:${this.system.name}`,\n EventBusName: this.eventBus.name\n }\n ]\n };\n const command = new PutEventsCommand(input);\n\n try {\n const eventBridgeClient = this.getEventBridgeClient();\n return await eventBridgeClient.send(command);\n } catch (ex) {\n console.log(\"Could not send events to Sync System EventBridge.\");\n console.error(ex.message);\n console.error(convertException(ex, [\"message\"]));\n console.log(\n JSON.stringify({\n event: items\n })\n );\n throw ex;\n }\n }\n\n private createEventBusEvent(): NonEmptyArray<ICommandValueItem> | null {\n const commands = Array.from(this.commands);\n /**\n * Remove all existing commands so we can start fresh.\n */\n this.commands = [];\n const everything = commands.reduce<ICommandValueItem[]>((items, cmd) => {\n const commandItems = cmd.getItems();\n if (!commandItems?.length) {\n return items;\n }\n\n for (const item of commandItems) {\n if (this.filterOutRecord.filterOut(item)) {\n continue;\n }\n items.push({\n tableName: item.tableName,\n command: item.command,\n tableType: item.tableType,\n PK: item.PK,\n SK: item.SK\n });\n }\n\n return items;\n }, []);\n\n return everything.length === 0\n ? null\n : (everything as NonEmptyArray<ICommandValueItemExtended>);\n }\n}\n\nexport const createSyncHandler = (params: IHandlerParams): IHandler => {\n return new Handler(params);\n};\n"],"mappings":";;;;;;AAcA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAkBO,MAAMG,OAAO,CAAqB;EACrBC,EAAE,GAAG,IAAAC,kCAAsB,EAAC,CAAC;EAGrCC,QAAQ,GAAoB,EAAE;EAK/BC,WAAWA,CAACC,MAAsB,EAAE;IACvC,IAAI,CAACC,oBAAoB,GAAGD,MAAM,CAACC,oBAAoB;IACvD,IAAI,CAACC,MAAM,GAAGF,MAAM,CAACE,MAAM;IAC3B,IAAI,CAACC,SAAS,GAAGH,MAAM,CAACG,SAAS;IACjC,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACI,QAAQ;IAC/B,IAAI,CAACC,eAAe,GAAGL,MAAM,CAACK,eAAe;EACjD;EAEOC,GAAGA,CAACC,KAAuB,EAAQ;IACtC,MAAMC,GAAG,GAAG,IAAI,CAACL,SAAS,CAACM,OAAO,CAACF,KAAK,CAAC;IACzC,IAAI,CAACT,QAAQ,CAACY,IAAI,CAACF,GAAG,CAAC;EAC3B;EAEA,MAAaG,KAAKA,CAAA,EAA2C;IACzD,MAAMC,KAAK,GAAG,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAExC,IAAI,CAACD,KAAK,EAAEE,MAAM,EAAE;MAChB,OAAO,IAAI;IACf;IAEA,MAAMC,MAAe,GAAG;MACpB;AACZ;AACA;MACYnB,EAAE,EAAE,IAAAC,kCAAsB,EAAC,CAAC;MAC5Be,KAAK;MACLI,MAAM,EAAE,IAAI,CAACd;IACjB,CAAC;IAED,MAAMK,KAA4B,GAAG;MACjCU,OAAO,EAAE,CACL;QACIC,UAAU,EAAE,uBAAuB;QACnCC,MAAM,EAAEC,IAAI,CAACC,SAAS,CAACN,MAAM,CAAC;QAC9BO,MAAM,EAAE,UAAU,IAAI,CAACpB,MAAM,CAACqB,IAAI,EAAE;QACpCC,YAAY,EAAE,IAAI,CAACpB,QAAQ,CAACmB;MAChC,CAAC;IAET,CAAC;IACD,MAAME,OAAO,GAAG,IAAIC,mCAAgB,CAACnB,KAAK,CAAC;IAE3C,IAAI;MACA,MAAMoB,iBAAiB,GAAG,IAAI,CAAC1B,oBAAoB,CAAC,CAAC;MACrD,OAAO,MAAM0B,iBAAiB,CAACC,IAAI,CAACH,OAAO,CAAC;IAChD,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;MAChED,OAAO,CAACE,KAAK,CAACH,EAAE,CAACI,OAAO,CAAC;MACzBH,OAAO,CAACE,KAAK,CAAC,IAAAE,uBAAgB,EAACL,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;MAChDC,OAAO,CAACC,GAAG,CACPX,IAAI,CAACC,SAAS,CAAC;QACXc,KAAK,EAAEvB;MACX,CAAC,CACL,CAAC;MACD,MAAMiB,EAAE;IACZ;EACJ;EAEQhB,mBAAmBA,CAAA,EAA4C;IACnE,MAAMf,QAAQ,GAAGsC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACvC,QAAQ,CAAC;IAC1C;AACR;AACA;IACQ,IAAI,CAACA,QAAQ,GAAG,EAAE;IAClB,MAAMwC,UAAU,GAAGxC,QAAQ,CAACyC,MAAM,CAAsB,CAAC3B,KAAK,EAAEJ,GAAG,KAAK;MACpE,MAAMgC,YAAY,GAAGhC,GAAG,CAACiC,QAAQ,CAAC,CAAC;MACnC,IAAI,CAACD,YAAY,EAAE1B,MAAM,EAAE;QACvB,OAAOF,KAAK;MAChB;MAEA,KAAK,MAAM8B,IAAI,IAAIF,YAAY,EAAE;QAC7B,IAAI,IAAI,CAACnC,eAAe,CAACsC,SAAS,CAACD,IAAI,CAAC,EAAE;UACtC;QACJ;QACA9B,KAAK,CAACF,IAAI,CAAC;UACPkC,SAAS,EAAEF,IAAI,CAACE,SAAS;UACzBnB,OAAO,EAAEiB,IAAI,CAACjB,OAAO;UACrBoB,SAAS,EAAEH,IAAI,CAACG,SAAS;UACzBC,EAAE,EAAEJ,IAAI,CAACI,EAAE;UACXC,EAAE,EAAEL,IAAI,CAACK;QACb,CAAC,CAAC;MACN;MAEA,OAAOnC,KAAK;IAChB,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO0B,UAAU,CAACxB,MAAM,KAAK,CAAC,GACxB,IAAI,GACHwB,UAAuD;EAClE;AACJ;AAACU,OAAA,CAAArD,OAAA,GAAAA,OAAA;AAEM,MAAMsD,iBAAiB,GAAIjD,MAAsB,IAAe;EACnE,OAAO,IAAIL,OAAO,CAACK,MAAM,CAAC;AAC9B,CAAC;AAACgD,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"sync/handler/Handler.js","sources":["../../../src/sync/handler/Handler.ts"],"sourcesContent":["import type {\n ICommandValue,\n ICommandValueItem,\n ICommandValueItemExtended,\n IDynamoDbCommand,\n IHandler,\n IHandlerConverter,\n ISystem\n} from \"../types.js\";\nimport type {\n EventBridgeClient,\n PutEventsCommandInput,\n PutEventsCommandOutput\n} from \"@webiny/aws-sdk/client-eventbridge/index.js\";\nimport { PutEventsCommand } from \"@webiny/aws-sdk/client-eventbridge/index.js\";\nimport { convertException } from \"@webiny/utils\";\nimport { generateAlphaNumericId } from \"@webiny/utils/generateId.js\";\nimport type { IDetail } from \"~/sync/handler/types.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { FilterOutRecord } from \"~/sync/FilterOutRecord.js\";\n\nexport interface IHandlerEventBus {\n name: string;\n arn: string;\n}\n\nexport interface IHandlerParams {\n getEventBridgeClient(): Pick<EventBridgeClient, \"send\">;\n converter: IHandlerConverter;\n eventBus: IHandlerEventBus;\n system: ISystem;\n filterOutRecord: FilterOutRecord;\n}\n\nexport class Handler implements IHandler {\n public readonly id = generateAlphaNumericId();\n private readonly system: ISystem;\n private readonly getEventBridgeClient: () => Pick<EventBridgeClient, \"send\">;\n private commands: ICommandValue[] = [];\n private readonly converter: IHandlerConverter;\n private readonly eventBus: IHandlerEventBus;\n private readonly filterOutRecord: FilterOutRecord;\n\n public constructor(params: IHandlerParams) {\n this.getEventBridgeClient = params.getEventBridgeClient;\n this.system = params.system;\n this.converter = params.converter;\n this.eventBus = params.eventBus;\n this.filterOutRecord = params.filterOutRecord;\n }\n\n public add(input: IDynamoDbCommand): void {\n const cmd = this.converter.convert(input);\n this.commands.push(cmd);\n }\n\n public async flush(): Promise<PutEventsCommandOutput | null> {\n const items = this.createEventBusEvent();\n\n if (!items?.length) {\n return null;\n }\n\n const detail: IDetail = {\n /**\n * We need a random ID because there can be multiple commands with same items sent - but that does not mean they are duplicates.\n */\n id: generateAlphaNumericId(),\n items,\n source: this.system\n };\n\n const input: PutEventsCommandInput = {\n Entries: [\n {\n DetailType: \"synchronization-input\",\n Detail: JSON.stringify(detail),\n Source: `webiny:${this.system.name}`,\n EventBusName: this.eventBus.name\n }\n ]\n };\n const command = new PutEventsCommand(input);\n\n try {\n const eventBridgeClient = this.getEventBridgeClient();\n return await eventBridgeClient.send(command);\n } catch (ex) {\n console.log(\"Could not send events to Sync System EventBridge.\");\n console.error(ex.message);\n console.error(convertException(ex, [\"message\"]));\n console.log(\n JSON.stringify({\n event: items\n })\n );\n throw ex;\n }\n }\n\n private createEventBusEvent(): NonEmptyArray<ICommandValueItem> | null {\n const commands = Array.from(this.commands);\n /**\n * Remove all existing commands so we can start fresh.\n */\n this.commands = [];\n const everything = commands.reduce<ICommandValueItem[]>((items, cmd) => {\n const commandItems = cmd.getItems();\n if (!commandItems?.length) {\n return items;\n }\n\n for (const item of commandItems) {\n if (this.filterOutRecord.filterOut(item)) {\n continue;\n }\n items.push({\n tableName: item.tableName,\n command: item.command,\n tableType: item.tableType,\n PK: item.PK,\n SK: item.SK\n });\n }\n\n return items;\n }, []);\n\n return everything.length === 0\n ? null\n : (everything as NonEmptyArray<ICommandValueItemExtended>);\n }\n}\n\nexport const createSyncHandler = (params: IHandlerParams): IHandler => {\n return new Handler(params);\n};\n"],"names":["Handler","params","generateAlphaNumericId","input","cmd","items","detail","JSON","command","PutEventsCommand","eventBridgeClient","ex","console","convertException","commands","Array","everything","commandItems","item","createSyncHandler"],"mappings":";;;AAkCO,MAAMA;IAST,YAAmBC,MAAsB,CAAE;aAR3B,EAAE,GAAGC;aAGb,QAAQ,GAAoB,EAAE;QAMlC,IAAI,CAAC,oBAAoB,GAAGD,OAAO,oBAAoB;QACvD,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,SAAS,GAAGA,OAAO,SAAS;QACjC,IAAI,CAAC,QAAQ,GAAGA,OAAO,QAAQ;QAC/B,IAAI,CAAC,eAAe,GAAGA,OAAO,eAAe;IACjD;IAEO,IAAIE,KAAuB,EAAQ;QACtC,MAAMC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACC;IACvB;IAEA,MAAa,QAAgD;QACzD,MAAMC,QAAQ,IAAI,CAAC,mBAAmB;QAEtC,IAAI,CAACA,OAAO,QACR,OAAO;QAGX,MAAMC,SAAkB;YAIpB,IAAIJ;YACJG;YACA,QAAQ,IAAI,CAAC,MAAM;QACvB;QAEA,MAAMF,QAA+B;YACjC,SAAS;gBACL;oBACI,YAAY;oBACZ,QAAQI,KAAK,SAAS,CAACD;oBACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBACpC,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACpC;aACH;QACL;QACA,MAAME,UAAU,IAAIC,iBAAiBN;QAErC,IAAI;YACA,MAAMO,oBAAoB,IAAI,CAAC,oBAAoB;YACnD,OAAO,MAAMA,kBAAkB,IAAI,CAACF;QACxC,EAAE,OAAOG,IAAI;YACTC,QAAQ,GAAG,CAAC;YACZA,QAAQ,KAAK,CAACD,GAAG,OAAO;YACxBC,QAAQ,KAAK,CAACC,iBAAiBF,IAAI;gBAAC;aAAU;YAC9CC,QAAQ,GAAG,CACPL,KAAK,SAAS,CAAC;gBACX,OAAOF;YACX;YAEJ,MAAMM;QACV;IACJ;IAEQ,sBAA+D;QACnE,MAAMG,WAAWC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;QAIzC,IAAI,CAAC,QAAQ,GAAG,EAAE;QAClB,MAAMC,aAAaF,SAAS,MAAM,CAAsB,CAACT,OAAOD;YAC5D,MAAMa,eAAeb,IAAI,QAAQ;YACjC,IAAI,CAACa,cAAc,QACf,OAAOZ;YAGX,KAAK,MAAMa,QAAQD,aACf,KAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAACC,OAGnCb,MAAM,IAAI,CAAC;gBACP,WAAWa,KAAK,SAAS;gBACzB,SAASA,KAAK,OAAO;gBACrB,WAAWA,KAAK,SAAS;gBACzB,IAAIA,KAAK,EAAE;gBACX,IAAIA,KAAK,EAAE;YACf;YAGJ,OAAOb;QACX,GAAG,EAAE;QAEL,OAAOW,AAAsB,MAAtBA,WAAW,MAAM,GAClB,OACCA;IACX;AACJ;AAEO,MAAMG,oBAAoB,CAAClB,SACvB,IAAID,QAAQC"}
@@ -1,43 +1,27 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createHandlerConverter = exports.HandlerConverter = void 0;
7
1
  class HandlerConverter {
8
- converters = [];
9
- constructor(params) {
10
- this.defaultValue = params.defaultValue;
11
- }
12
- register(input) {
13
- if (Array.isArray(input)) {
14
- this.converters.push(...input);
15
- return;
2
+ constructor(params){
3
+ this.converters = [];
4
+ this.defaultValue = params.defaultValue;
16
5
  }
17
- this.converters.push(input);
18
- }
19
- convert(command) {
20
- for (const converter of this.converters) {
21
- if (converter.can(command)) {
22
- return converter.convert(command);
23
- }
6
+ register(input) {
7
+ if (Array.isArray(input)) return void this.converters.push(...input);
8
+ this.converters.push(input);
24
9
  }
25
- if (process.env.DEBUG === "true") {
26
- console.error(`Unknown command: ${command.constructor?.name || "unknown"}`);
27
- if (!command.constructor?.name) {
28
- console.error("Command is not an instance of a class, it might be a plain object. Stringified command is in next line.");
29
- console.log(JSON.stringify({
30
- command
31
- }));
32
- }
10
+ convert(command) {
11
+ for (const converter of this.converters)if (converter.can(command)) return converter.convert(command);
12
+ if ("true" === process.env.DEBUG) {
13
+ console.error(`Unknown command: ${command.constructor?.name || "unknown"}`);
14
+ if (!command.constructor?.name) {
15
+ console.error("Command is not an instance of a class, it might be a plain object. Stringified command is in next line.");
16
+ console.log(JSON.stringify({
17
+ command
18
+ }));
19
+ }
20
+ }
21
+ return this.defaultValue;
33
22
  }
34
- return this.defaultValue;
35
- }
36
23
  }
37
- exports.HandlerConverter = HandlerConverter;
38
- const createHandlerConverter = params => {
39
- return new HandlerConverter(params);
40
- };
41
- exports.createHandlerConverter = createHandlerConverter;
24
+ const createHandlerConverter = (params)=>new HandlerConverter(params);
25
+ export { HandlerConverter, createHandlerConverter };
42
26
 
43
27
  //# sourceMappingURL=HandlerConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HandlerConverter","converters","constructor","params","defaultValue","register","input","Array","isArray","push","convert","command","converter","can","process","env","DEBUG","console","error","name","log","JSON","stringify","exports","createHandlerConverter"],"sources":["HandlerConverter.ts"],"sourcesContent":["import type {\n ICommandConverter,\n ICommandValue,\n IDynamoDbCommand,\n IHandlerConverter\n} from \"../types.js\";\n\nexport interface IHandlerConverterParams {\n defaultValue: ICommandValue;\n}\n\nexport class HandlerConverter implements IHandlerConverter {\n private readonly defaultValue: ICommandValue;\n private readonly converters: ICommandConverter[] = [];\n\n public constructor(params: IHandlerConverterParams) {\n this.defaultValue = params.defaultValue;\n }\n\n public register(input: ICommandConverter | ICommandConverter[]): void {\n if (Array.isArray(input)) {\n this.converters.push(...input);\n return;\n }\n\n this.converters.push(input);\n }\n\n public convert(command: IDynamoDbCommand): ICommandValue {\n for (const converter of this.converters) {\n if (converter.can(command)) {\n return converter.convert(command);\n }\n }\n if (process.env.DEBUG === \"true\") {\n console.error(`Unknown command: ${command.constructor?.name || \"unknown\"}`);\n if (!command.constructor?.name) {\n console.error(\n \"Command is not an instance of a class, it might be a plain object. Stringified command is in next line.\"\n );\n console.log(\n JSON.stringify({\n command\n })\n );\n }\n }\n\n return this.defaultValue;\n }\n}\n\nexport const createHandlerConverter = (params: IHandlerConverterParams): IHandlerConverter => {\n return new HandlerConverter(params);\n};\n"],"mappings":";;;;;;AAWO,MAAMA,gBAAgB,CAA8B;EAEtCC,UAAU,GAAwB,EAAE;EAE9CC,WAAWA,CAACC,MAA+B,EAAE;IAChD,IAAI,CAACC,YAAY,GAAGD,MAAM,CAACC,YAAY;EAC3C;EAEOC,QAAQA,CAACC,KAA8C,EAAQ;IAClE,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,IAAI,CAACL,UAAU,CAACQ,IAAI,CAAC,GAAGH,KAAK,CAAC;MAC9B;IACJ;IAEA,IAAI,CAACL,UAAU,CAACQ,IAAI,CAACH,KAAK,CAAC;EAC/B;EAEOI,OAAOA,CAACC,OAAyB,EAAiB;IACrD,KAAK,MAAMC,SAAS,IAAI,IAAI,CAACX,UAAU,EAAE;MACrC,IAAIW,SAAS,CAACC,GAAG,CAACF,OAAO,CAAC,EAAE;QACxB,OAAOC,SAAS,CAACF,OAAO,CAACC,OAAO,CAAC;MACrC;IACJ;IACA,IAAIG,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,EAAE;MAC9BC,OAAO,CAACC,KAAK,CAAC,oBAAoBP,OAAO,CAACT,WAAW,EAAEiB,IAAI,IAAI,SAAS,EAAE,CAAC;MAC3E,IAAI,CAACR,OAAO,CAACT,WAAW,EAAEiB,IAAI,EAAE;QAC5BF,OAAO,CAACC,KAAK,CACT,yGACJ,CAAC;QACDD,OAAO,CAACG,GAAG,CACPC,IAAI,CAACC,SAAS,CAAC;UACXX;QACJ,CAAC,CACL,CAAC;MACL;IACJ;IAEA,OAAO,IAAI,CAACP,YAAY;EAC5B;AACJ;AAACmB,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA;AAEM,MAAMwB,sBAAsB,GAAIrB,MAA+B,IAAwB;EAC1F,OAAO,IAAIH,gBAAgB,CAACG,MAAM,CAAC;AACvC,CAAC;AAACoB,OAAA,CAAAC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"file":"sync/handler/HandlerConverter.js","sources":["../../../src/sync/handler/HandlerConverter.ts"],"sourcesContent":["import type {\n ICommandConverter,\n ICommandValue,\n IDynamoDbCommand,\n IHandlerConverter\n} from \"../types.js\";\n\nexport interface IHandlerConverterParams {\n defaultValue: ICommandValue;\n}\n\nexport class HandlerConverter implements IHandlerConverter {\n private readonly defaultValue: ICommandValue;\n private readonly converters: ICommandConverter[] = [];\n\n public constructor(params: IHandlerConverterParams) {\n this.defaultValue = params.defaultValue;\n }\n\n public register(input: ICommandConverter | ICommandConverter[]): void {\n if (Array.isArray(input)) {\n this.converters.push(...input);\n return;\n }\n\n this.converters.push(input);\n }\n\n public convert(command: IDynamoDbCommand): ICommandValue {\n for (const converter of this.converters) {\n if (converter.can(command)) {\n return converter.convert(command);\n }\n }\n if (process.env.DEBUG === \"true\") {\n console.error(`Unknown command: ${command.constructor?.name || \"unknown\"}`);\n if (!command.constructor?.name) {\n console.error(\n \"Command is not an instance of a class, it might be a plain object. Stringified command is in next line.\"\n );\n console.log(\n JSON.stringify({\n command\n })\n );\n }\n }\n\n return this.defaultValue;\n }\n}\n\nexport const createHandlerConverter = (params: IHandlerConverterParams): IHandlerConverter => {\n return new HandlerConverter(params);\n};\n"],"names":["HandlerConverter","params","input","Array","command","converter","process","console","JSON","createHandlerConverter"],"mappings":"AAWO,MAAMA;IAIT,YAAmBC,MAA+B,CAAE;aAFnC,UAAU,GAAwB,EAAE;QAGjD,IAAI,CAAC,YAAY,GAAGA,OAAO,YAAY;IAC3C;IAEO,SAASC,KAA8C,EAAQ;QAClE,IAAIC,MAAM,OAAO,CAACD,QAAQ,YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,IAAIA;QAI5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA;IACzB;IAEO,QAAQE,OAAyB,EAAiB;QACrD,KAAK,MAAMC,aAAa,IAAI,CAAC,UAAU,CACnC,IAAIA,UAAU,GAAG,CAACD,UACd,OAAOC,UAAU,OAAO,CAACD;QAGjC,IAAIE,AAAsB,WAAtBA,QAAQ,GAAG,CAAC,KAAK,EAAa;YAC9BC,QAAQ,KAAK,CAAC,CAAC,iBAAiB,EAAEH,QAAQ,WAAW,EAAE,QAAQ,WAAW;YAC1E,IAAI,CAACA,QAAQ,WAAW,EAAE,MAAM;gBAC5BG,QAAQ,KAAK,CACT;gBAEJA,QAAQ,GAAG,CACPC,KAAK,SAAS,CAAC;oBACXJ;gBACJ;YAER;QACJ;QAEA,OAAO,IAAI,CAAC,YAAY;IAC5B;AACJ;AAEO,MAAMK,yBAAyB,CAACR,SAC5B,IAAID,iBAAiBC"}
@@ -1,24 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBatchGetCommandConverter = exports.BatchGetCommandConverter = void 0;
7
- var _index = require("@webiny/aws-sdk/client-dynamodb/index.js");
8
- var _NullCommandValue = require("./commands/NullCommandValue.js");
1
+ import { BatchGetCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
2
+ import { NullCommandValue } from "./commands/NullCommandValue.js";
9
3
  class BatchGetCommandConverter {
10
- name = "batchGet";
11
- can(input) {
12
- return input instanceof _index.BatchGetCommand;
13
- }
14
- convert() {
15
- return new _NullCommandValue.NullCommandValue();
16
- }
4
+ can(input) {
5
+ return input instanceof BatchGetCommand;
6
+ }
7
+ convert() {
8
+ return new NullCommandValue();
9
+ }
10
+ constructor(){
11
+ this.name = "batchGet";
12
+ }
17
13
  }
18
- exports.BatchGetCommandConverter = BatchGetCommandConverter;
19
- const createBatchGetCommandConverter = () => {
20
- return new BatchGetCommandConverter();
21
- };
22
- exports.createBatchGetCommandConverter = createBatchGetCommandConverter;
14
+ const createBatchGetCommandConverter = ()=>new BatchGetCommandConverter();
15
+ export { BatchGetCommandConverter, createBatchGetCommandConverter };
23
16
 
24
17
  //# sourceMappingURL=BatchGetCommandConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_NullCommandValue","BatchGetCommandConverter","name","can","input","BatchGetCommand","convert","NullCommandValue","exports","createBatchGetCommandConverter"],"sources":["BatchGetCommandConverter.ts"],"sourcesContent":["import { BatchGetCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class BatchGetCommandConverter implements ICommandConverter {\n public readonly name: string = \"batchGet\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof BatchGetCommand;\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createBatchGetCommandConverter = (): ICommandConverter => {\n return new BatchGetCommandConverter();\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAEO,MAAME,wBAAwB,CAA8B;EAC/CC,IAAI,GAAW,UAAU;EAElCC,GAAGA,CAACC,KAAuB,EAAW;IACzC,OAAOA,KAAK,YAAYC,sBAAe;EAC3C;EAEOC,OAAOA,CAAA,EAAG;IACb,OAAO,IAAIC,kCAAgB,CAAC,CAAC;EACjC;AACJ;AAACC,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAEM,MAAMQ,8BAA8B,GAAGA,CAAA,KAAyB;EACnE,OAAO,IAAIR,wBAAwB,CAAC,CAAC;AACzC,CAAC;AAACO,OAAA,CAAAC,8BAAA,GAAAA,8BAAA","ignoreList":[]}
1
+ {"version":3,"file":"sync/handler/converter/BatchGetCommandConverter.js","sources":["../../../../src/sync/handler/converter/BatchGetCommandConverter.ts"],"sourcesContent":["import { BatchGetCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class BatchGetCommandConverter implements ICommandConverter {\n public readonly name: string = \"batchGet\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof BatchGetCommand;\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createBatchGetCommandConverter = (): ICommandConverter => {\n return new BatchGetCommandConverter();\n};\n"],"names":["BatchGetCommandConverter","input","BatchGetCommand","NullCommandValue","createBatchGetCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IAEO,UAAU;QACb,OAAO,IAAIC;IACf;;aARgB,IAAI,GAAW;;AASnC;AAEO,MAAMC,iCAAiC,IACnC,IAAIJ"}