@webiny/api-sync-system 0.0.0-unstable.e53eceafb5

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 (360) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -0
  3. package/constants.d.ts +1 -0
  4. package/constants.js +9 -0
  5. package/constants.js.map +1 -0
  6. package/index.d.ts +3 -0
  7. package/index.js +40 -0
  8. package/index.js.map +1 -0
  9. package/package.json +45 -0
  10. package/resolver/app/RecordHandler.d.ts +34 -0
  11. package/resolver/app/RecordHandler.js +126 -0
  12. package/resolver/app/RecordHandler.js.map +1 -0
  13. package/resolver/app/RecordsValidation.d.ts +6 -0
  14. package/resolver/app/RecordsValidation.js +29 -0
  15. package/resolver/app/RecordsValidation.js.map +1 -0
  16. package/resolver/app/ResolverApplication.d.ts +14 -0
  17. package/resolver/app/ResolverApplication.js +48 -0
  18. package/resolver/app/ResolverApplication.js.map +1 -0
  19. package/resolver/app/abstractions/RecordHandler.d.ts +7 -0
  20. package/resolver/app/abstractions/RecordHandler.js +7 -0
  21. package/resolver/app/abstractions/RecordHandler.js.map +1 -0
  22. package/resolver/app/abstractions/RecordsValidation.d.ts +14 -0
  23. package/resolver/app/abstractions/RecordsValidation.js +7 -0
  24. package/resolver/app/abstractions/RecordsValidation.js.map +1 -0
  25. package/resolver/app/abstractions/ResolverApplication.d.ts +7 -0
  26. package/resolver/app/abstractions/ResolverApplication.js +7 -0
  27. package/resolver/app/abstractions/ResolverApplication.js.map +1 -0
  28. package/resolver/app/abstractions/ResolverRecord.d.ts +42 -0
  29. package/resolver/app/abstractions/ResolverRecord.js +7 -0
  30. package/resolver/app/abstractions/ResolverRecord.js.map +1 -0
  31. package/resolver/app/bundler/BaseBundle.d.ts +21 -0
  32. package/resolver/app/bundler/BaseBundle.js +26 -0
  33. package/resolver/app/bundler/BaseBundle.js.map +1 -0
  34. package/resolver/app/bundler/Bundler.d.ts +10 -0
  35. package/resolver/app/bundler/Bundler.js +30 -0
  36. package/resolver/app/bundler/Bundler.js.map +1 -0
  37. package/resolver/app/bundler/Bundles.d.ts +14 -0
  38. package/resolver/app/bundler/Bundles.js +38 -0
  39. package/resolver/app/bundler/Bundles.js.map +1 -0
  40. package/resolver/app/bundler/CommandBundle.d.ts +15 -0
  41. package/resolver/app/bundler/CommandBundle.js +28 -0
  42. package/resolver/app/bundler/CommandBundle.js.map +1 -0
  43. package/resolver/app/bundler/TableBundle.d.ts +13 -0
  44. package/resolver/app/bundler/TableBundle.js +25 -0
  45. package/resolver/app/bundler/TableBundle.js.map +1 -0
  46. package/resolver/app/bundler/types.d.ts +29 -0
  47. package/resolver/app/bundler/types.js +7 -0
  48. package/resolver/app/bundler/types.js.map +1 -0
  49. package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +18 -0
  50. package/resolver/app/commandHandler/DeleteCommandHandler.js +39 -0
  51. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -0
  52. package/resolver/app/commandHandler/PutCommandHandler.d.ts +18 -0
  53. package/resolver/app/commandHandler/PutCommandHandler.js +32 -0
  54. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -0
  55. package/resolver/app/commandHandler/delete.d.ts +2 -0
  56. package/resolver/app/commandHandler/delete.js +24 -0
  57. package/resolver/app/commandHandler/delete.js.map +1 -0
  58. package/resolver/app/commandHandler/put.d.ts +2 -0
  59. package/resolver/app/commandHandler/put.js +24 -0
  60. package/resolver/app/commandHandler/put.js.map +1 -0
  61. package/resolver/app/data/SourceDataContainer.d.ts +12 -0
  62. package/resolver/app/data/SourceDataContainer.js +42 -0
  63. package/resolver/app/data/SourceDataContainer.js.map +1 -0
  64. package/resolver/app/data/types.d.ts +23 -0
  65. package/resolver/app/data/types.js +7 -0
  66. package/resolver/app/data/types.js.map +1 -0
  67. package/resolver/app/fetcher/Fetcher.d.ts +22 -0
  68. package/resolver/app/fetcher/Fetcher.js +132 -0
  69. package/resolver/app/fetcher/Fetcher.js.map +1 -0
  70. package/resolver/app/fetcher/types.d.ts +25 -0
  71. package/resolver/app/fetcher/types.js +7 -0
  72. package/resolver/app/fetcher/types.js.map +1 -0
  73. package/resolver/app/ingestor/Ingestor.d.ts +13 -0
  74. package/resolver/app/ingestor/Ingestor.js +44 -0
  75. package/resolver/app/ingestor/Ingestor.js.map +1 -0
  76. package/resolver/app/ingestor/IngestorResult.d.ts +7 -0
  77. package/resolver/app/ingestor/IngestorResult.js +45 -0
  78. package/resolver/app/ingestor/IngestorResult.js.map +1 -0
  79. package/resolver/app/ingestor/types.d.ts +26 -0
  80. package/resolver/app/ingestor/types.js +7 -0
  81. package/resolver/app/ingestor/types.js.map +1 -0
  82. package/resolver/app/storer/Storer.d.ts +44 -0
  83. package/resolver/app/storer/Storer.js +103 -0
  84. package/resolver/app/storer/Storer.js.map +1 -0
  85. package/resolver/app/storer/types.d.ts +21 -0
  86. package/resolver/app/storer/types.js +7 -0
  87. package/resolver/app/storer/types.js.map +1 -0
  88. package/resolver/app/transform/TransformHandler.d.ts +34 -0
  89. package/resolver/app/transform/TransformHandler.js +70 -0
  90. package/resolver/app/transform/TransformHandler.js.map +1 -0
  91. package/resolver/app/transform/middleware.d.ts +3 -0
  92. package/resolver/app/transform/middleware.js +29 -0
  93. package/resolver/app/transform/middleware.js.map +1 -0
  94. package/resolver/app/utils/Retry.d.ts +18 -0
  95. package/resolver/app/utils/Retry.js +38 -0
  96. package/resolver/app/utils/Retry.js.map +1 -0
  97. package/resolver/app/utils/sleep.d.ts +1 -0
  98. package/resolver/app/utils/sleep.js +14 -0
  99. package/resolver/app/utils/sleep.js.map +1 -0
  100. package/resolver/app/validation/body.d.ts +142 -0
  101. package/resolver/app/validation/body.js +46 -0
  102. package/resolver/app/validation/body.js.map +1 -0
  103. package/resolver/app/validation/createJsonTransform.d.ts +2 -0
  104. package/resolver/app/validation/createJsonTransform.js +24 -0
  105. package/resolver/app/validation/createJsonTransform.js.map +1 -0
  106. package/resolver/app/validation/detail.d.ts +89 -0
  107. package/resolver/app/validation/detail.js +50 -0
  108. package/resolver/app/validation/detail.js.map +1 -0
  109. package/resolver/app/validation/event.d.ts +217 -0
  110. package/resolver/app/validation/event.js +32 -0
  111. package/resolver/app/validation/event.js.map +1 -0
  112. package/resolver/app/validation/numericString.d.ts +2 -0
  113. package/resolver/app/validation/numericString.js +23 -0
  114. package/resolver/app/validation/numericString.js.map +1 -0
  115. package/resolver/app/validation/system.d.ts +20 -0
  116. package/resolver/app/validation/system.js +20 -0
  117. package/resolver/app/validation/system.js.map +1 -0
  118. package/resolver/createEventHandlerPlugin.d.ts +10 -0
  119. package/resolver/createEventHandlerPlugin.js +127 -0
  120. package/resolver/createEventHandlerPlugin.js.map +1 -0
  121. package/resolver/createResolverHandler.d.ts +21 -0
  122. package/resolver/createResolverHandler.js +79 -0
  123. package/resolver/createResolverHandler.js.map +1 -0
  124. package/resolver/deployment/Deployment.d.ts +17 -0
  125. package/resolver/deployment/Deployment.js +50 -0
  126. package/resolver/deployment/Deployment.js.map +1 -0
  127. package/resolver/deployment/Deployments.d.ts +13 -0
  128. package/resolver/deployment/Deployments.js +34 -0
  129. package/resolver/deployment/Deployments.js.map +1 -0
  130. package/resolver/deployment/DeploymentsFetcher.d.ts +16 -0
  131. package/resolver/deployment/DeploymentsFetcher.js +112 -0
  132. package/resolver/deployment/DeploymentsFetcher.js.map +1 -0
  133. package/resolver/deployment/types.d.ts +34 -0
  134. package/resolver/deployment/types.js +7 -0
  135. package/resolver/deployment/types.js.map +1 -0
  136. package/resolver/lambda/LambdaTrigger.d.ts +18 -0
  137. package/resolver/lambda/LambdaTrigger.js +39 -0
  138. package/resolver/lambda/LambdaTrigger.js.map +1 -0
  139. package/resolver/plugins/CommandHandlerPlugin.d.ts +31 -0
  140. package/resolver/plugins/CommandHandlerPlugin.js +27 -0
  141. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -0
  142. package/resolver/plugins/StorerAfterEachPlugin.d.ts +31 -0
  143. package/resolver/plugins/StorerAfterEachPlugin.js +33 -0
  144. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -0
  145. package/resolver/plugins/TransformRecordPlugin.d.ts +38 -0
  146. package/resolver/plugins/TransformRecordPlugin.js +30 -0
  147. package/resolver/plugins/TransformRecordPlugin.js.map +1 -0
  148. package/resolver/recordTypes/fileManager/CopyFile.d.ts +14 -0
  149. package/resolver/recordTypes/fileManager/CopyFile.js +81 -0
  150. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -0
  151. package/resolver/recordTypes/fileManager/DeleteFile.d.ts +14 -0
  152. package/resolver/recordTypes/fileManager/DeleteFile.js +72 -0
  153. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -0
  154. package/resolver/recordTypes/fileManager/fileManager.d.ts +6 -0
  155. package/resolver/recordTypes/fileManager/fileManager.js +14 -0
  156. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -0
  157. package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +5 -0
  158. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +48 -0
  159. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -0
  160. package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +5 -0
  161. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +48 -0
  162. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -0
  163. package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +2 -0
  164. package/resolver/recordTypes/fileManager/shouldBeHandled.js +37 -0
  165. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -0
  166. package/resolver/recordTypes/fileManager/types.d.ts +26 -0
  167. package/resolver/recordTypes/fileManager/types.js +7 -0
  168. package/resolver/recordTypes/fileManager/types.js.map +1 -0
  169. package/resolver/recordTypes/users/CopyUser.d.ts +18 -0
  170. package/resolver/recordTypes/users/CopyUser.js +67 -0
  171. package/resolver/recordTypes/users/CopyUser.js.map +1 -0
  172. package/resolver/recordTypes/users/DeleteUser.d.ts +18 -0
  173. package/resolver/recordTypes/users/DeleteUser.js +65 -0
  174. package/resolver/recordTypes/users/DeleteUser.js.map +1 -0
  175. package/resolver/recordTypes/users/shouldBeHandled.d.ts +2 -0
  176. package/resolver/recordTypes/users/shouldBeHandled.js +36 -0
  177. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -0
  178. package/resolver/recordTypes/users/types.d.ts +24 -0
  179. package/resolver/recordTypes/users/types.js +7 -0
  180. package/resolver/recordTypes/users/types.js.map +1 -0
  181. package/resolver/recordTypes/users/users.d.ts +6 -0
  182. package/resolver/recordTypes/users/users.js +14 -0
  183. package/resolver/recordTypes/users/users.js.map +1 -0
  184. package/resolver/recordTypes/users/usersOnDelete.d.ts +5 -0
  185. package/resolver/recordTypes/users/usersOnDelete.js +47 -0
  186. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -0
  187. package/resolver/recordTypes/users/usersOnPut.d.ts +5 -0
  188. package/resolver/recordTypes/users/usersOnPut.js +48 -0
  189. package/resolver/recordTypes/users/usersOnPut.js.map +1 -0
  190. package/sync/FilterOutRecord.d.ts +11 -0
  191. package/sync/FilterOutRecord.js +29 -0
  192. package/sync/FilterOutRecord.js.map +1 -0
  193. package/sync/attachToDynamoDbDocument.d.ts +11 -0
  194. package/sync/attachToDynamoDbDocument.js +79 -0
  195. package/sync/attachToDynamoDbDocument.js.map +1 -0
  196. package/sync/createHandler.d.ts +14 -0
  197. package/sync/createHandler.js +63 -0
  198. package/sync/createHandler.js.map +1 -0
  199. package/sync/createSendDataToEventBridgeOnRequestEnd.d.ts +2 -0
  200. package/sync/createSendDataToEventBridgeOnRequestEnd.js +51 -0
  201. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -0
  202. package/sync/createSyncSystem.d.ts +16 -0
  203. package/sync/createSyncSystem.js +42 -0
  204. package/sync/createSyncSystem.js.map +1 -0
  205. package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +13 -0
  206. package/sync/filter/createDefaultFilterOutRecordPlugins.js +88 -0
  207. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -0
  208. package/sync/handler/Handler.d.ts +28 -0
  209. package/sync/handler/Handler.js +93 -0
  210. package/sync/handler/Handler.js.map +1 -0
  211. package/sync/handler/HandlerConverter.d.ts +12 -0
  212. package/sync/handler/HandlerConverter.js +43 -0
  213. package/sync/handler/HandlerConverter.js.map +1 -0
  214. package/sync/handler/converter/BatchGetCommandConverter.d.ts +8 -0
  215. package/sync/handler/converter/BatchGetCommandConverter.js +24 -0
  216. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -0
  217. package/sync/handler/converter/BatchWriteCommandConverter.d.ts +9 -0
  218. package/sync/handler/converter/BatchWriteCommandConverter.js +24 -0
  219. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -0
  220. package/sync/handler/converter/DeleteCommandConverter.d.ts +9 -0
  221. package/sync/handler/converter/DeleteCommandConverter.js +24 -0
  222. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -0
  223. package/sync/handler/converter/GetCommandConverter.d.ts +8 -0
  224. package/sync/handler/converter/GetCommandConverter.js +24 -0
  225. package/sync/handler/converter/GetCommandConverter.js.map +1 -0
  226. package/sync/handler/converter/PutCommandConverter.d.ts +9 -0
  227. package/sync/handler/converter/PutCommandConverter.js +24 -0
  228. package/sync/handler/converter/PutCommandConverter.js.map +1 -0
  229. package/sync/handler/converter/QueryCommandConverter.d.ts +8 -0
  230. package/sync/handler/converter/QueryCommandConverter.js +24 -0
  231. package/sync/handler/converter/QueryCommandConverter.js.map +1 -0
  232. package/sync/handler/converter/ScanCommandConverter.d.ts +8 -0
  233. package/sync/handler/converter/ScanCommandConverter.js +24 -0
  234. package/sync/handler/converter/ScanCommandConverter.js.map +1 -0
  235. package/sync/handler/converter/UpdateCommandConverter.d.ts +9 -0
  236. package/sync/handler/converter/UpdateCommandConverter.js +24 -0
  237. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -0
  238. package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +9 -0
  239. package/sync/handler/converter/commands/BatchWriteCommandValue.js +51 -0
  240. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -0
  241. package/sync/handler/converter/commands/DeleteCommandValue.d.ts +9 -0
  242. package/sync/handler/converter/commands/DeleteCommandValue.js +27 -0
  243. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -0
  244. package/sync/handler/converter/commands/NullCommandValue.d.ts +8 -0
  245. package/sync/handler/converter/commands/NullCommandValue.js +18 -0
  246. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -0
  247. package/sync/handler/converter/commands/PutCommandValue.d.ts +9 -0
  248. package/sync/handler/converter/commands/PutCommandValue.js +27 -0
  249. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -0
  250. package/sync/handler/converter/commands/UpdateCommandValue.d.ts +9 -0
  251. package/sync/handler/converter/commands/UpdateCommandValue.js +27 -0
  252. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -0
  253. package/sync/handler/types.d.ts +18 -0
  254. package/sync/handler/types.js +7 -0
  255. package/sync/handler/types.js.map +1 -0
  256. package/sync/plugins/FilterOutRecordPlugin.d.ts +23 -0
  257. package/sync/plugins/FilterOutRecordPlugin.js +31 -0
  258. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -0
  259. package/sync/requestPlugin.d.ts +9 -0
  260. package/sync/requestPlugin.js +59 -0
  261. package/sync/requestPlugin.js.map +1 -0
  262. package/sync/types.d.ts +64 -0
  263. package/sync/types.js +7 -0
  264. package/sync/types.js.map +1 -0
  265. package/sync/utils/getTableType.d.ts +2 -0
  266. package/sync/utils/getTableType.js +22 -0
  267. package/sync/utils/getTableType.js.map +1 -0
  268. package/sync/utils/manifest.d.ts +17 -0
  269. package/sync/utils/manifest.js +52 -0
  270. package/sync/utils/manifest.js.map +1 -0
  271. package/sync/utils/validateSystemInput.d.ts +11 -0
  272. package/sync/utils/validateSystemInput.js +44 -0
  273. package/sync/utils/validateSystemInput.js.map +1 -0
  274. package/types.d.ts +42 -0
  275. package/types.js +15 -0
  276. package/types.js.map +1 -0
  277. package/utils/createSystemName.d.ts +5 -0
  278. package/utils/createSystemName.js +12 -0
  279. package/utils/createSystemName.js.map +1 -0
  280. package/worker/actions/copyFile/CopyFile.d.ts +63 -0
  281. package/worker/actions/copyFile/CopyFile.js +283 -0
  282. package/worker/actions/copyFile/CopyFile.js.map +1 -0
  283. package/worker/actions/copyFile/copyFileAction.d.ts +6 -0
  284. package/worker/actions/copyFile/copyFileAction.js +47 -0
  285. package/worker/actions/copyFile/copyFileAction.js.map +1 -0
  286. package/worker/actions/copyFile/copyFileSchema.d.ts +47 -0
  287. package/worker/actions/copyFile/copyFileSchema.js +25 -0
  288. package/worker/actions/copyFile/copyFileSchema.js.map +1 -0
  289. package/worker/actions/copyFile/types.d.ts +10 -0
  290. package/worker/actions/copyFile/types.js +7 -0
  291. package/worker/actions/copyFile/types.js.map +1 -0
  292. package/worker/actions/createUser/CreateUser.d.ts +17 -0
  293. package/worker/actions/createUser/CreateUser.js +90 -0
  294. package/worker/actions/createUser/CreateUser.js.map +1 -0
  295. package/worker/actions/createUser/createUserAction.d.ts +6 -0
  296. package/worker/actions/createUser/createUserAction.js +42 -0
  297. package/worker/actions/createUser/createUserAction.js.map +1 -0
  298. package/worker/actions/createUser/createUserSchema.d.ts +47 -0
  299. package/worker/actions/createUser/createUserSchema.js +25 -0
  300. package/worker/actions/createUser/createUserSchema.js.map +1 -0
  301. package/worker/actions/createUser/types.d.ts +10 -0
  302. package/worker/actions/createUser/types.js +7 -0
  303. package/worker/actions/createUser/types.js.map +1 -0
  304. package/worker/actions/deleteFile/DeleteFile.d.ts +24 -0
  305. package/worker/actions/deleteFile/DeleteFile.js +82 -0
  306. package/worker/actions/deleteFile/DeleteFile.js.map +1 -0
  307. package/worker/actions/deleteFile/deleteFileAction.d.ts +6 -0
  308. package/worker/actions/deleteFile/deleteFileAction.js +42 -0
  309. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -0
  310. package/worker/actions/deleteFile/deleteFileSchema.d.ts +47 -0
  311. package/worker/actions/deleteFile/deleteFileSchema.js +25 -0
  312. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -0
  313. package/worker/actions/deleteFile/types.d.ts +9 -0
  314. package/worker/actions/deleteFile/types.js +7 -0
  315. package/worker/actions/deleteFile/types.js.map +1 -0
  316. package/worker/actions/deleteUser/DeleteUser.d.ts +16 -0
  317. package/worker/actions/deleteUser/DeleteUser.js +67 -0
  318. package/worker/actions/deleteUser/DeleteUser.js.map +1 -0
  319. package/worker/actions/deleteUser/deleteUserAction.d.ts +6 -0
  320. package/worker/actions/deleteUser/deleteUserAction.js +40 -0
  321. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -0
  322. package/worker/actions/deleteUser/deleteUserSchema.d.ts +29 -0
  323. package/worker/actions/deleteUser/deleteUserSchema.js +24 -0
  324. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -0
  325. package/worker/actions/deleteUser/types.d.ts +9 -0
  326. package/worker/actions/deleteUser/types.js +7 -0
  327. package/worker/actions/deleteUser/types.js.map +1 -0
  328. package/worker/actions/logValidationError.d.ts +2 -0
  329. package/worker/actions/logValidationError.js +17 -0
  330. package/worker/actions/logValidationError.js.map +1 -0
  331. package/worker/actions/removeCognitoUserAttributes.d.ts +6 -0
  332. package/worker/actions/removeCognitoUserAttributes.js +24 -0
  333. package/worker/actions/removeCognitoUserAttributes.js.map +1 -0
  334. package/worker/actions/updateUser/UpdateUser.d.ts +17 -0
  335. package/worker/actions/updateUser/UpdateUser.js +81 -0
  336. package/worker/actions/updateUser/UpdateUser.js.map +1 -0
  337. package/worker/actions/updateUser/types.d.ts +10 -0
  338. package/worker/actions/updateUser/types.js +7 -0
  339. package/worker/actions/updateUser/types.js.map +1 -0
  340. package/worker/actions/updateUser/updateUserAction.d.ts +6 -0
  341. package/worker/actions/updateUser/updateUserAction.js +42 -0
  342. package/worker/actions/updateUser/updateUserAction.js.map +1 -0
  343. package/worker/actions/updateUser/updateUserSchema.d.ts +47 -0
  344. package/worker/actions/updateUser/updateUserSchema.js +25 -0
  345. package/worker/actions/updateUser/updateUserSchema.js.map +1 -0
  346. package/worker/createWorkerHandler.d.ts +11 -0
  347. package/worker/createWorkerHandler.js +48 -0
  348. package/worker/createWorkerHandler.js.map +1 -0
  349. package/worker/handler/WorkerActionHandler.d.ts +10 -0
  350. package/worker/handler/WorkerActionHandler.js +33 -0
  351. package/worker/handler/WorkerActionHandler.js.map +1 -0
  352. package/worker/handler/eventHandler.d.ts +1 -0
  353. package/worker/handler/eventHandler.js +31 -0
  354. package/worker/handler/eventHandler.js.map +1 -0
  355. package/worker/plugins/WorkerActionPlugin.d.ts +10 -0
  356. package/worker/plugins/WorkerActionPlugin.js +28 -0
  357. package/worker/plugins/WorkerActionPlugin.js.map +1 -0
  358. package/worker/types.d.ts +14 -0
  359. package/worker/types.js +7 -0
  360. package/worker/types.js.map +1 -0
@@ -0,0 +1,34 @@
1
+ import type { ITable } from "../../../sync/types";
2
+ import type { IDeployment } from "../../deployment/types.js";
3
+ import type { PluginsContainer } from "@webiny/plugins/types";
4
+ import type { IStoreItem } from "../storer/types";
5
+ export interface IMiddlewareParams {
6
+ readonly plugins: PluginsContainer;
7
+ readonly record: IStoreItem;
8
+ readonly sourceDeployment: IDeployment;
9
+ readonly targetDeployment: IDeployment;
10
+ readonly sourceTable: ITable;
11
+ readonly targetTable: ITable;
12
+ }
13
+ export interface ITransformHandlerTransformParams {
14
+ readonly sourceTable: ITable;
15
+ readonly sourceDeployment: IDeployment;
16
+ readonly targetTable: ITable;
17
+ readonly targetDeployment: IDeployment;
18
+ readonly items: IStoreItem[];
19
+ }
20
+ export interface ITransformHandlerTransformResult {
21
+ items: IStoreItem[];
22
+ }
23
+ export interface ITransformHandler {
24
+ transform(params: ITransformHandlerTransformParams): Promise<ITransformHandlerTransformResult>;
25
+ }
26
+ export interface ITransformHandlerParams {
27
+ readonly plugins: PluginsContainer;
28
+ }
29
+ export declare class TransformHandler implements ITransformHandler {
30
+ private readonly pluginsContainer;
31
+ private readonly plugins;
32
+ constructor(params: ITransformHandlerParams);
33
+ transform(params: ITransformHandlerTransformParams): Promise<ITransformHandlerTransformResult>;
34
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TransformHandler = void 0;
7
+ var _TransformRecordPlugin = require("../../plugins/TransformRecordPlugin.js");
8
+ var _middleware = require("./middleware.js");
9
+ class TransformHandler {
10
+ constructor(params) {
11
+ this.pluginsContainer = params.plugins;
12
+ this.plugins = params.plugins.byType(_TransformRecordPlugin.TransformRecordPlugin.type);
13
+ }
14
+ async transform(params) {
15
+ const {
16
+ sourceTable,
17
+ sourceDeployment,
18
+ targetDeployment,
19
+ targetTable,
20
+ items
21
+ } = params;
22
+ if (this.plugins.length === 0) {
23
+ process.env.DEBUG === "true" && console.log("There are no transform plugins registered in the system.");
24
+ return {
25
+ items
26
+ };
27
+ }
28
+ const plugins = this.plugins.filter(plugin => {
29
+ if (plugin.isForTableType(sourceTable.type) === false) {
30
+ return false;
31
+ }
32
+ return plugin.canTransform({
33
+ from: sourceDeployment,
34
+ to: targetDeployment
35
+ });
36
+ });
37
+ if (plugins.length === 0) {
38
+ process.env.DEBUG === "true" && console.log("There are no transform plugins registered for the given deployment versions or sourceTable type.", {
39
+ sourceVersion: sourceDeployment.version.format(),
40
+ targetVersion: targetDeployment.version.format(),
41
+ sourceTable
42
+ });
43
+ return {
44
+ items
45
+ };
46
+ }
47
+ const runner = (0, _middleware.middleware)(plugins.map(plugin => {
48
+ return async (params, next) => {
49
+ return await plugin.transform(params, next);
50
+ };
51
+ }));
52
+ const results = await Promise.all(items.map(async input => {
53
+ const record = Object.freeze(input);
54
+ return await runner({
55
+ plugins: this.pluginsContainer,
56
+ sourceTable,
57
+ sourceDeployment,
58
+ targetDeployment,
59
+ targetTable,
60
+ record
61
+ }, record);
62
+ }));
63
+ return {
64
+ items: results.filter(item => !!item)
65
+ };
66
+ }
67
+ }
68
+ exports.TransformHandler = TransformHandler;
69
+
70
+ //# sourceMappingURL=TransformHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TransformRecordPlugin","require","_middleware","TransformHandler","constructor","params","pluginsContainer","plugins","byType","TransformRecordPlugin","type","transform","sourceTable","sourceDeployment","targetDeployment","targetTable","items","length","process","env","DEBUG","console","log","filter","plugin","isForTableType","canTransform","from","to","sourceVersion","version","format","targetVersion","runner","middleware","map","next","results","Promise","all","input","record","Object","freeze","item","exports"],"sources":["TransformHandler.ts"],"sourcesContent":["import type { ITable } from \"~/sync/types\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type { PluginsContainer } from \"@webiny/plugins/types\";\nimport { TransformRecordPlugin } from \"~/resolver/plugins/TransformRecordPlugin.js\";\nimport { middleware } from \"./middleware.js\";\nimport type { IStoreItem } from \"../storer/types\";\n\nexport interface IMiddlewareParams {\n readonly plugins: PluginsContainer;\n readonly record: IStoreItem;\n readonly sourceDeployment: IDeployment;\n readonly targetDeployment: IDeployment;\n readonly sourceTable: ITable;\n readonly targetTable: ITable;\n}\n\nexport interface ITransformHandlerTransformParams {\n readonly sourceTable: ITable;\n readonly sourceDeployment: IDeployment;\n readonly targetTable: ITable;\n readonly targetDeployment: IDeployment;\n readonly items: IStoreItem[];\n}\n\nexport interface ITransformHandlerTransformResult {\n items: IStoreItem[];\n}\n\nexport interface ITransformHandler {\n transform(params: ITransformHandlerTransformParams): Promise<ITransformHandlerTransformResult>;\n}\n\nexport interface ITransformHandlerParams {\n readonly plugins: PluginsContainer;\n}\n\nexport class TransformHandler implements ITransformHandler {\n private readonly pluginsContainer: PluginsContainer;\n private readonly plugins: TransformRecordPlugin[];\n\n public constructor(params: ITransformHandlerParams) {\n this.pluginsContainer = params.plugins;\n this.plugins = params.plugins.byType<TransformRecordPlugin>(TransformRecordPlugin.type);\n }\n\n public async transform(\n params: ITransformHandlerTransformParams\n ): Promise<ITransformHandlerTransformResult> {\n const { sourceTable, sourceDeployment, targetDeployment, targetTable, items } = params;\n\n if (this.plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\"There are no transform plugins registered in the system.\");\n return {\n items\n };\n }\n\n const plugins = this.plugins.filter(plugin => {\n if (plugin.isForTableType(sourceTable.type) === false) {\n return false;\n }\n return plugin.canTransform({\n from: sourceDeployment,\n to: targetDeployment\n });\n });\n\n if (plugins.length === 0) {\n process.env.DEBUG === \"true\" &&\n console.log(\n \"There are no transform plugins registered for the given deployment versions or sourceTable type.\",\n {\n sourceVersion: sourceDeployment.version.format(),\n targetVersion: targetDeployment.version.format(),\n sourceTable\n }\n );\n return {\n items\n };\n }\n\n const runner = middleware<IMiddlewareParams, IStoreItem>(\n plugins.map(plugin => {\n return async (params, next) => {\n return await plugin.transform(params, next);\n };\n })\n );\n\n const results = await Promise.all(\n items.map(async input => {\n const record = Object.freeze(input);\n return await runner(\n {\n plugins: this.pluginsContainer,\n sourceTable,\n sourceDeployment,\n targetDeployment,\n targetTable,\n record\n },\n record\n );\n })\n );\n return {\n items: results.filter((item): item is IStoreItem => !!item)\n };\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAgCO,MAAME,gBAAgB,CAA8B;EAIhDC,WAAWA,CAACC,MAA+B,EAAE;IAChD,IAAI,CAACC,gBAAgB,GAAGD,MAAM,CAACE,OAAO;IACtC,IAAI,CAACA,OAAO,GAAGF,MAAM,CAACE,OAAO,CAACC,MAAM,CAAwBC,4CAAqB,CAACC,IAAI,CAAC;EAC3F;EAEA,MAAaC,SAASA,CAClBN,MAAwC,EACC;IACzC,MAAM;MAAEO,WAAW;MAAEC,gBAAgB;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC;IAAM,CAAC,GAAGX,MAAM;IAEtF,IAAI,IAAI,CAACE,OAAO,CAACU,MAAM,KAAK,CAAC,EAAE;MAC3BC,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,IACxBC,OAAO,CAACC,GAAG,CAAC,0DAA0D,CAAC;MAC3E,OAAO;QACHN;MACJ,CAAC;IACL;IAEA,MAAMT,OAAO,GAAG,IAAI,CAACA,OAAO,CAACgB,MAAM,CAACC,MAAM,IAAI;MAC1C,IAAIA,MAAM,CAACC,cAAc,CAACb,WAAW,CAACF,IAAI,CAAC,KAAK,KAAK,EAAE;QACnD,OAAO,KAAK;MAChB;MACA,OAAOc,MAAM,CAACE,YAAY,CAAC;QACvBC,IAAI,EAAEd,gBAAgB;QACtBe,EAAE,EAAEd;MACR,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAIP,OAAO,CAACU,MAAM,KAAK,CAAC,EAAE;MACtBC,OAAO,CAACC,GAAG,CAACC,KAAK,KAAK,MAAM,IACxBC,OAAO,CAACC,GAAG,CACP,kGAAkG,EAClG;QACIO,aAAa,EAAEhB,gBAAgB,CAACiB,OAAO,CAACC,MAAM,CAAC,CAAC;QAChDC,aAAa,EAAElB,gBAAgB,CAACgB,OAAO,CAACC,MAAM,CAAC,CAAC;QAChDnB;MACJ,CACJ,CAAC;MACL,OAAO;QACHI;MACJ,CAAC;IACL;IAEA,MAAMiB,MAAM,GAAG,IAAAC,sBAAU,EACrB3B,OAAO,CAAC4B,GAAG,CAACX,MAAM,IAAI;MAClB,OAAO,OAAOnB,MAAM,EAAE+B,IAAI,KAAK;QAC3B,OAAO,MAAMZ,MAAM,CAACb,SAAS,CAACN,MAAM,EAAE+B,IAAI,CAAC;MAC/C,CAAC;IACL,CAAC,CACL,CAAC;IAED,MAAMC,OAAO,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC7BvB,KAAK,CAACmB,GAAG,CAAC,MAAMK,KAAK,IAAI;MACrB,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC;MACnC,OAAO,MAAMP,MAAM,CACf;QACI1B,OAAO,EAAE,IAAI,CAACD,gBAAgB;QAC9BM,WAAW;QACXC,gBAAgB;QAChBC,gBAAgB;QAChBC,WAAW;QACX0B;MACJ,CAAC,EACDA,MACJ,CAAC;IACL,CAAC,CACL,CAAC;IACD,OAAO;MACHzB,KAAK,EAAEqB,OAAO,CAACd,MAAM,CAAEqB,IAAI,IAAyB,CAAC,CAACA,IAAI;IAC9D,CAAC;EACL;AACJ;AAACC,OAAA,CAAA1C,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { GenericRecord } from "@webiny/api/types";
2
+ export type Middleware<Input, Output> = (input: Input, next: () => Promise<Output>) => Promise<Output>;
3
+ export declare function middleware<Input = GenericRecord, Output = GenericRecord>(middlewares: Middleware<Input, Output>[]): (input: Input, defaultValue: Output) => Promise<Output>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.middleware = middleware;
7
+ function middleware(middlewares) {
8
+ return async function runner(input, defaultValue) {
9
+ let current = -1;
10
+ async function dispatch(index) {
11
+ /**
12
+ * Should not be possible to run next multiple times.
13
+ * Or do we want to allow it? What are possible downsides except something being done multiple times?
14
+ */
15
+ if (index <= current) {
16
+ throw new Error("next() called multiple times");
17
+ }
18
+ current = index;
19
+ const fn = middlewares[index];
20
+ if (!fn) {
21
+ return defaultValue;
22
+ }
23
+ return fn(input, () => dispatch(index + 1));
24
+ }
25
+ return dispatch(0);
26
+ };
27
+ }
28
+
29
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["middleware","middlewares","runner","input","defaultValue","current","dispatch","index","Error","fn"],"sources":["middleware.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types\";\n\nexport type Middleware<Input, Output> = (\n input: Input,\n next: () => Promise<Output>\n) => Promise<Output>;\n\nexport function middleware<Input = GenericRecord, Output = GenericRecord>(\n middlewares: Middleware<Input, Output>[]\n) {\n return async function runner(input: Input, defaultValue: Output): Promise<Output> {\n let current = -1;\n\n async function dispatch(index: number): Promise<Output> {\n /**\n * Should not be possible to run next multiple times.\n * Or do we want to allow it? What are possible downsides except something being done multiple times?\n */\n if (index <= current) {\n throw new Error(\"next() called multiple times\");\n }\n current = index;\n\n const fn = middlewares[index];\n if (!fn) {\n return defaultValue;\n }\n\n return fn(input, () => dispatch(index + 1));\n }\n\n return dispatch(0);\n };\n}\n"],"mappings":";;;;;;AAOO,SAASA,UAAUA,CACtBC,WAAwC,EAC1C;EACE,OAAO,eAAeC,MAAMA,CAACC,KAAY,EAAEC,YAAoB,EAAmB;IAC9E,IAAIC,OAAO,GAAG,CAAC,CAAC;IAEhB,eAAeC,QAAQA,CAACC,KAAa,EAAmB;MACpD;AACZ;AACA;AACA;MACY,IAAIA,KAAK,IAAIF,OAAO,EAAE;QAClB,MAAM,IAAIG,KAAK,CAAC,8BAA8B,CAAC;MACnD;MACAH,OAAO,GAAGE,KAAK;MAEf,MAAME,EAAE,GAAGR,WAAW,CAACM,KAAK,CAAC;MAC7B,IAAI,CAACE,EAAE,EAAE;QACL,OAAOL,YAAY;MACvB;MAEA,OAAOK,EAAE,CAACN,KAAK,EAAE,MAAMG,QAAQ,CAACC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/C;IAEA,OAAOD,QAAQ,CAAC,CAAC,CAAC;EACtB,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ export interface IRetryableRetryOptions {
2
+ onFail?: (error: Error) => Promise<void> | void;
3
+ }
4
+ export interface IRetryable {
5
+ retry<T>(fn: () => Promise<T>, options: IRetryableRetryOptions): Promise<T>;
6
+ }
7
+ export interface IRetryParams {
8
+ maxRetries: number;
9
+ retryDelay: number;
10
+ }
11
+ export declare class Retry implements IRetryable {
12
+ private readonly maxRetries;
13
+ private readonly retryDelay;
14
+ private retryCount;
15
+ constructor(params: IRetryParams);
16
+ retry<T>(fn: () => Promise<T>, options?: IRetryableRetryOptions): Promise<T>;
17
+ }
18
+ export declare const createRetry: (params: IRetryParams) => IRetryable;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRetry = exports.Retry = void 0;
7
+ var _sleep = require("./sleep");
8
+ class Retry {
9
+ retryCount = 0;
10
+ constructor(params) {
11
+ this.maxRetries = params.maxRetries;
12
+ this.retryDelay = params.retryDelay;
13
+ }
14
+ async retry(fn, options) {
15
+ try {
16
+ return await fn();
17
+ } catch (ex) {
18
+ if (this.retryCount >= this.maxRetries) {
19
+ if (options?.onFail) {
20
+ await options.onFail(ex);
21
+ }
22
+ throw ex;
23
+ }
24
+ }
25
+ this.retryCount++;
26
+ await (0, _sleep.sleep)(this.retryDelay);
27
+ const result = await this.retry(fn, options);
28
+ this.retryCount = 0;
29
+ return result;
30
+ }
31
+ }
32
+ exports.Retry = Retry;
33
+ const createRetry = params => {
34
+ return new Retry(params);
35
+ };
36
+ exports.createRetry = createRetry;
37
+
38
+ //# sourceMappingURL=Retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_sleep","require","Retry","retryCount","constructor","params","maxRetries","retryDelay","retry","fn","options","ex","onFail","sleep","result","exports","createRetry"],"sources":["Retry.ts"],"sourcesContent":["import { sleep } from \"./sleep\";\n\nexport interface IRetryableRetryOptions {\n onFail?: (error: Error) => Promise<void> | void;\n}\n\nexport interface IRetryable {\n retry<T>(fn: () => Promise<T>, options: IRetryableRetryOptions): Promise<T>;\n}\n\nexport interface IRetryParams {\n maxRetries: number;\n retryDelay: number;\n}\n\nexport class Retry implements IRetryable {\n private readonly maxRetries: number;\n private readonly retryDelay: number;\n private retryCount: number = 0;\n\n public constructor(params: IRetryParams) {\n this.maxRetries = params.maxRetries;\n this.retryDelay = params.retryDelay;\n }\n\n public async retry<T>(fn: () => Promise<T>, options?: IRetryableRetryOptions): Promise<T> {\n try {\n return await fn();\n } catch (ex) {\n if (this.retryCount >= this.maxRetries) {\n if (options?.onFail) {\n await options.onFail(ex as Error);\n }\n throw ex;\n }\n }\n this.retryCount++;\n await sleep(this.retryDelay);\n const result = await this.retry<T>(fn, options);\n this.retryCount = 0;\n return result;\n }\n}\n\nexport const createRetry = (params: IRetryParams): IRetryable => {\n return new Retry(params);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAeO,MAAMC,KAAK,CAAuB;EAG7BC,UAAU,GAAW,CAAC;EAEvBC,WAAWA,CAACC,MAAoB,EAAE;IACrC,IAAI,CAACC,UAAU,GAAGD,MAAM,CAACC,UAAU;IACnC,IAAI,CAACC,UAAU,GAAGF,MAAM,CAACE,UAAU;EACvC;EAEA,MAAaC,KAAKA,CAAIC,EAAoB,EAAEC,OAAgC,EAAc;IACtF,IAAI;MACA,OAAO,MAAMD,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,IAAI,IAAI,CAACR,UAAU,IAAI,IAAI,CAACG,UAAU,EAAE;QACpC,IAAII,OAAO,EAAEE,MAAM,EAAE;UACjB,MAAMF,OAAO,CAACE,MAAM,CAACD,EAAW,CAAC;QACrC;QACA,MAAMA,EAAE;MACZ;IACJ;IACA,IAAI,CAACR,UAAU,EAAE;IACjB,MAAM,IAAAU,YAAK,EAAC,IAAI,CAACN,UAAU,CAAC;IAC5B,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACN,KAAK,CAAIC,EAAE,EAAEC,OAAO,CAAC;IAC/C,IAAI,CAACP,UAAU,GAAG,CAAC;IACnB,OAAOW,MAAM;EACjB;AACJ;AAACC,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAEM,MAAMc,WAAW,GAAIX,MAAoB,IAAiB;EAC7D,OAAO,IAAIH,KAAK,CAACG,MAAM,CAAC;AAC5B,CAAC;AAACU,OAAA,CAAAC,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const sleep: (ms: number) => Promise<void>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sleep = void 0;
7
+ const sleep = ms => {
8
+ return new Promise(resolve => {
9
+ setTimeout(resolve, ms);
10
+ });
11
+ };
12
+ exports.sleep = sleep;
13
+
14
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sleep","ms","Promise","resolve","setTimeout","exports"],"sources":["sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => {\n return new Promise<void>(resolve => {\n setTimeout(resolve, ms);\n });\n};\n"],"mappings":";;;;;;AAAO,MAAMA,KAAK,GAAIC,EAAU,IAAK;EACjC,OAAO,IAAIC,OAAO,CAAOC,OAAO,IAAI;IAChCC,UAAU,CAACD,OAAO,EAAEF,EAAE,CAAC;EAC3B,CAAC,CAAC;AACN,CAAC;AAACI,OAAA,CAAAL,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -0,0 +1,142 @@
1
+ import zod from "zod";
2
+ export declare const createBodyValidation: () => zod.ZodObject<{
3
+ version: zod.ZodEffects<zod.ZodString, `${number}`, string>;
4
+ id: zod.ZodString;
5
+ "detail-type": zod.ZodEffects<zod.ZodString, "synchronization-input", string>;
6
+ source: zod.ZodEffects<zod.ZodString, `webiny:${string}`, string>;
7
+ account: zod.ZodEffects<zod.ZodString, `${number}`, string>;
8
+ time: zod.ZodEffects<zod.ZodString, Date, string>;
9
+ region: zod.ZodString;
10
+ resources: zod.ZodArray<zod.ZodString, "many">;
11
+ detail: zod.ZodObject<{
12
+ items: zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
13
+ PK: zod.ZodString;
14
+ SK: zod.ZodString;
15
+ tableName: zod.ZodString;
16
+ tableType: zod.ZodEffects<zod.ZodEnum<["regular", "elasticsearch", "log", "unknown"]>, import("../../../types.js").DynamoDBTableType, "unknown" | "log" | "regular" | "elasticsearch">;
17
+ command: zod.ZodEnum<["update", "put", "delete"]>;
18
+ }, "strip", zod.ZodTypeAny, {
19
+ PK: string;
20
+ SK: string;
21
+ tableName: string;
22
+ tableType: import("../../../types.js").DynamoDBTableType;
23
+ command: "update" | "delete" | "put";
24
+ }, {
25
+ PK: string;
26
+ SK: string;
27
+ tableName: string;
28
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
29
+ command: "update" | "delete" | "put";
30
+ }>, "many">, {
31
+ PK: string;
32
+ SK: string;
33
+ tableName: string;
34
+ tableType: import("../../../types.js").DynamoDBTableType;
35
+ command: "update" | "delete" | "put";
36
+ }[], {
37
+ PK: string;
38
+ SK: string;
39
+ tableName: string;
40
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
41
+ command: "update" | "delete" | "put";
42
+ }[]>, import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>, {
43
+ PK: string;
44
+ SK: string;
45
+ tableName: string;
46
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
47
+ command: "update" | "delete" | "put";
48
+ }[]>;
49
+ source: zod.ZodObject<{
50
+ name: zod.ZodString;
51
+ env: zod.ZodString;
52
+ variant: zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, string | undefined, string | null | undefined>;
53
+ region: zod.ZodString;
54
+ version: zod.ZodString;
55
+ }, "strip", zod.ZodTypeAny, {
56
+ name: string;
57
+ region: string;
58
+ version: string;
59
+ env: string;
60
+ variant?: string | undefined;
61
+ }, {
62
+ name: string;
63
+ region: string;
64
+ version: string;
65
+ env: string;
66
+ variant?: string | null | undefined;
67
+ }>;
68
+ id: zod.ZodString;
69
+ }, "strip", zod.ZodTypeAny, {
70
+ id: string;
71
+ source: {
72
+ name: string;
73
+ region: string;
74
+ version: string;
75
+ env: string;
76
+ variant?: string | undefined;
77
+ };
78
+ items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
79
+ }, {
80
+ id: string;
81
+ source: {
82
+ name: string;
83
+ region: string;
84
+ version: string;
85
+ env: string;
86
+ variant?: string | null | undefined;
87
+ };
88
+ items: {
89
+ PK: string;
90
+ SK: string;
91
+ tableName: string;
92
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
93
+ command: "update" | "delete" | "put";
94
+ }[];
95
+ }>;
96
+ }, "strip", zod.ZodTypeAny, {
97
+ time: Date;
98
+ detail: {
99
+ id: string;
100
+ source: {
101
+ name: string;
102
+ region: string;
103
+ version: string;
104
+ env: string;
105
+ variant?: string | undefined;
106
+ };
107
+ items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
108
+ };
109
+ id: string;
110
+ source: `webiny:${string}`;
111
+ region: string;
112
+ "detail-type": "synchronization-input";
113
+ version: `${number}`;
114
+ account: `${number}`;
115
+ resources: string[];
116
+ }, {
117
+ time: string;
118
+ detail: {
119
+ id: string;
120
+ source: {
121
+ name: string;
122
+ region: string;
123
+ version: string;
124
+ env: string;
125
+ variant?: string | null | undefined;
126
+ };
127
+ items: {
128
+ PK: string;
129
+ SK: string;
130
+ tableName: string;
131
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
132
+ command: "update" | "delete" | "put";
133
+ }[];
134
+ };
135
+ id: string;
136
+ source: string;
137
+ region: string;
138
+ "detail-type": string;
139
+ version: string;
140
+ account: string;
141
+ resources: string[];
142
+ }>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createBodyValidation = void 0;
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _detail = require("./detail.js");
10
+ var _constants = require("../../../constants.js");
11
+ var _numericString = require("./numericString.js");
12
+ const detailValidation = (0, _detail.createDetailValidation)();
13
+ const createBodyValidation = () => {
14
+ return _zod.default.object({
15
+ version: (0, _numericString.createNumericStringValidation)("version"),
16
+ id: _zod.default.string(),
17
+ "detail-type": _zod.default.string().transform((value, ctx) => {
18
+ if (value === _constants.SQS_EVENT_NAME) {
19
+ return _constants.SQS_EVENT_NAME;
20
+ }
21
+ ctx.addIssue({
22
+ code: _zod.default.ZodIssueCode.custom,
23
+ message: `"detail-type" must be "${_constants.SQS_EVENT_NAME}".`
24
+ });
25
+ return _zod.default.NEVER;
26
+ }),
27
+ source: _zod.default.string().transform((value, ctx) => {
28
+ if (value.startsWith("webiny:")) {
29
+ return value;
30
+ }
31
+ ctx.addIssue({
32
+ code: _zod.default.ZodIssueCode.custom,
33
+ message: `"source" must start with "webiny:".`
34
+ });
35
+ return _zod.default.NEVER;
36
+ }),
37
+ account: (0, _numericString.createNumericStringValidation)("account"),
38
+ time: _zod.default.string().transform(value => new Date(value)),
39
+ region: _zod.default.string(),
40
+ resources: _zod.default.array(_zod.default.string()),
41
+ detail: detailValidation
42
+ });
43
+ };
44
+ exports.createBodyValidation = createBodyValidation;
45
+
46
+ //# sourceMappingURL=body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_detail","_constants","_numericString","detailValidation","createDetailValidation","createBodyValidation","zod","object","version","createNumericStringValidation","id","string","transform","value","ctx","SQS_EVENT_NAME","addIssue","code","ZodIssueCode","custom","message","NEVER","source","startsWith","account","time","Date","region","resources","array","detail","exports"],"sources":["body.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createDetailValidation } from \"./detail.js\";\nimport { SQS_EVENT_NAME } from \"~/constants.js\";\nimport { createNumericStringValidation } from \"~/resolver/app/validation/numericString.js\";\n\nconst detailValidation = createDetailValidation();\n\nexport const createBodyValidation = () => {\n return zod.object({\n version: createNumericStringValidation(\"version\"),\n id: zod.string(),\n \"detail-type\": zod.string().transform((value, ctx) => {\n if (value === SQS_EVENT_NAME) {\n return SQS_EVENT_NAME;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"detail-type\" must be \"${SQS_EVENT_NAME}\".`\n });\n return zod.NEVER;\n }),\n source: zod.string().transform((value, ctx) => {\n if (value.startsWith(\"webiny:\")) {\n return value as `webiny:${string}`;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"source\" must start with \"webiny:\".`\n });\n return zod.NEVER;\n }),\n account: createNumericStringValidation(\"account\"),\n time: zod.string().transform(value => new Date(value)),\n region: zod.string(),\n resources: zod.array(zod.string()),\n detail: detailValidation\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,MAAMI,gBAAgB,GAAG,IAAAC,8BAAsB,EAAC,CAAC;AAE1C,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAOC,YAAG,CAACC,MAAM,CAAC;IACdC,OAAO,EAAE,IAAAC,4CAA6B,EAAC,SAAS,CAAC;IACjDC,EAAE,EAAEJ,YAAG,CAACK,MAAM,CAAC,CAAC;IAChB,aAAa,EAAEL,YAAG,CAACK,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAClD,IAAID,KAAK,KAAKE,yBAAc,EAAE;QAC1B,OAAOA,yBAAc;MACzB;MACAD,GAAG,CAACE,QAAQ,CAAC;QACTC,IAAI,EAAEX,YAAG,CAACY,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE,0BAA0BL,yBAAc;MACrD,CAAC,CAAC;MACF,OAAOT,YAAG,CAACe,KAAK;IACpB,CAAC,CAAC;IACFC,MAAM,EAAEhB,YAAG,CAACK,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAC3C,IAAID,KAAK,CAACU,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAOV,KAAK;MAChB;MACAC,GAAG,CAACE,QAAQ,CAAC;QACTC,IAAI,EAAEX,YAAG,CAACY,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE;MACb,CAAC,CAAC;MACF,OAAOd,YAAG,CAACe,KAAK;IACpB,CAAC,CAAC;IACFG,OAAO,EAAE,IAAAf,4CAA6B,EAAC,SAAS,CAAC;IACjDgB,IAAI,EAAEnB,YAAG,CAACK,MAAM,CAAC,CAAC,CAACC,SAAS,CAACC,KAAK,IAAI,IAAIa,IAAI,CAACb,KAAK,CAAC,CAAC;IACtDc,MAAM,EAAErB,YAAG,CAACK,MAAM,CAAC,CAAC;IACpBiB,SAAS,EAAEtB,YAAG,CAACuB,KAAK,CAACvB,YAAG,CAACK,MAAM,CAAC,CAAC,CAAC;IAClCmB,MAAM,EAAE3B;EACZ,CAAC,CAAC;AACN,CAAC;AAAC4B,OAAA,CAAA1B,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import zod from "zod";
2
+ export declare const createJsonTransform: (name: string) => zod.ZodEffects<zod.ZodString, any, string>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createJsonTransform = void 0;
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ const createJsonTransform = name => {
10
+ return _zod.default.string().transform((value, ctx) => {
11
+ try {
12
+ return JSON.parse(value);
13
+ } catch (e) {
14
+ ctx.addIssue({
15
+ code: _zod.default.ZodIssueCode.custom,
16
+ message: `${name} must be a valid JSON string.`
17
+ });
18
+ return _zod.default.NEVER;
19
+ }
20
+ });
21
+ };
22
+ exports.createJsonTransform = createJsonTransform;
23
+
24
+ //# sourceMappingURL=createJsonTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","createJsonTransform","name","zod","string","transform","value","ctx","JSON","parse","e","addIssue","code","ZodIssueCode","custom","message","NEVER","exports"],"sources":["createJsonTransform.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport const createJsonTransform = (name: string) => {\n return zod.string().transform((value, ctx) => {\n try {\n return JSON.parse(value);\n } catch (e) {\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `${name} must be a valid JSON string.`\n });\n return zod.NEVER;\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,MAAMC,mBAAmB,GAAIC,IAAY,IAAK;EACjD,OAAOC,YAAG,CAACC,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAC1C,IAAI;MACA,OAAOC,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC;IAC5B,CAAC,CAAC,OAAOI,CAAC,EAAE;MACRH,GAAG,CAACI,QAAQ,CAAC;QACTC,IAAI,EAAET,YAAG,CAACU,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE,GAAGb,IAAI;MACpB,CAAC,CAAC;MACF,OAAOC,YAAG,CAACa,KAAK;IACpB;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAhB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ import zod from "zod";
2
+ import type { NonEmptyArray } from "@webiny/api/types.js";
3
+ import type { IResolverRecordBodyItem } from "../abstractions/ResolverRecord.js";
4
+ import { DynamoDBTableType } from "../../../types.js";
5
+ export declare const createDetailValidation: () => zod.ZodObject<{
6
+ items: zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
7
+ PK: zod.ZodString;
8
+ SK: zod.ZodString;
9
+ tableName: zod.ZodString;
10
+ tableType: zod.ZodEffects<zod.ZodEnum<["regular", "elasticsearch", "log", "unknown"]>, DynamoDBTableType, "unknown" | "log" | "regular" | "elasticsearch">;
11
+ command: zod.ZodEnum<["update", "put", "delete"]>;
12
+ }, "strip", zod.ZodTypeAny, {
13
+ PK: string;
14
+ SK: string;
15
+ tableName: string;
16
+ tableType: DynamoDBTableType;
17
+ command: "update" | "delete" | "put";
18
+ }, {
19
+ PK: string;
20
+ SK: string;
21
+ tableName: string;
22
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
23
+ command: "update" | "delete" | "put";
24
+ }>, "many">, {
25
+ PK: string;
26
+ SK: string;
27
+ tableName: string;
28
+ tableType: DynamoDBTableType;
29
+ command: "update" | "delete" | "put";
30
+ }[], {
31
+ PK: string;
32
+ SK: string;
33
+ tableName: string;
34
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
35
+ command: "update" | "delete" | "put";
36
+ }[]>, NonEmptyArray<IResolverRecordBodyItem>, {
37
+ PK: string;
38
+ SK: string;
39
+ tableName: string;
40
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
41
+ command: "update" | "delete" | "put";
42
+ }[]>;
43
+ source: zod.ZodObject<{
44
+ name: zod.ZodString;
45
+ env: zod.ZodString;
46
+ variant: zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, string | undefined, string | null | undefined>;
47
+ region: zod.ZodString;
48
+ version: zod.ZodString;
49
+ }, "strip", zod.ZodTypeAny, {
50
+ name: string;
51
+ region: string;
52
+ version: string;
53
+ env: string;
54
+ variant?: string | undefined;
55
+ }, {
56
+ name: string;
57
+ region: string;
58
+ version: string;
59
+ env: string;
60
+ variant?: string | null | undefined;
61
+ }>;
62
+ id: zod.ZodString;
63
+ }, "strip", zod.ZodTypeAny, {
64
+ id: string;
65
+ source: {
66
+ name: string;
67
+ region: string;
68
+ version: string;
69
+ env: string;
70
+ variant?: string | undefined;
71
+ };
72
+ items: NonEmptyArray<IResolverRecordBodyItem>;
73
+ }, {
74
+ id: string;
75
+ source: {
76
+ name: string;
77
+ region: string;
78
+ version: string;
79
+ env: string;
80
+ variant?: string | null | undefined;
81
+ };
82
+ items: {
83
+ PK: string;
84
+ SK: string;
85
+ tableName: string;
86
+ tableType: "unknown" | "log" | "regular" | "elasticsearch";
87
+ command: "update" | "delete" | "put";
88
+ }[];
89
+ }>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createDetailValidation = void 0;
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _system = require("./system.js");
10
+ var _types = require("../../../types.js");
11
+ const convert = input => {
12
+ /**
13
+ * We can safely cast as NonEmptyArray<IResolverRecordBodyItem> here because we already validated that the array is not empty.
14
+ */
15
+ return input;
16
+ };
17
+ const transformTableType = input => {
18
+ const keys = Object.keys(_types.DynamoDBTableType);
19
+ for (const key of keys) {
20
+ const value = _types.DynamoDBTableType[key];
21
+ if (value === input) {
22
+ return value;
23
+ }
24
+ }
25
+ return _types.DynamoDBTableType.UNKNOWN;
26
+ };
27
+ const createDetailValidation = () => {
28
+ return _zod.default.object({
29
+ items: _zod.default.array(_zod.default.object({
30
+ PK: _zod.default.string(),
31
+ SK: _zod.default.string(),
32
+ tableName: _zod.default.string(),
33
+ tableType: _zod.default.enum(["regular", "elasticsearch", "log", "unknown"]).transform(input => {
34
+ return transformTableType(input);
35
+ }),
36
+ command: _zod.default.enum(["update", "put", "delete"])
37
+ })).refine(values => {
38
+ return values.length > 0;
39
+ }, {
40
+ message: `"items" array must not be empty.`
41
+ }).transform(values => {
42
+ return convert(values);
43
+ }),
44
+ source: (0, _system.createSystemValidation)(),
45
+ id: _zod.default.string()
46
+ });
47
+ };
48
+ exports.createDetailValidation = createDetailValidation;
49
+
50
+ //# sourceMappingURL=detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_system","_types","convert","input","transformTableType","keys","Object","DynamoDBTableType","key","value","UNKNOWN","createDetailValidation","zod","object","items","array","PK","string","SK","tableName","tableType","enum","transform","command","refine","values","length","message","source","createSystemValidation","id","exports"],"sources":["detail.ts"],"sourcesContent":["import zod from \"zod\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { IResolverRecordBodyItem } from \"~/resolver/app/abstractions/ResolverRecord.js\";\nimport { createSystemValidation } from \"./system.js\";\nimport { DynamoDBTableType } from \"~/types.js\";\n\nconst convert = (input: IResolverRecordBodyItem[]) => {\n /**\n * We can safely cast as NonEmptyArray<IResolverRecordBodyItem> here because we already validated that the array is not empty.\n */\n return input as NonEmptyArray<IResolverRecordBodyItem>;\n};\n\nconst transformTableType = (input: string): DynamoDBTableType => {\n const keys = Object.keys(DynamoDBTableType) as (keyof typeof DynamoDBTableType)[];\n for (const key of keys) {\n const value = DynamoDBTableType[key];\n if (value === input) {\n return value;\n }\n }\n return DynamoDBTableType.UNKNOWN;\n};\n\nexport const createDetailValidation = () => {\n return zod.object({\n items: zod\n .array(\n zod.object({\n PK: zod.string(),\n SK: zod.string(),\n tableName: zod.string(),\n tableType: zod\n .enum([\"regular\", \"elasticsearch\", \"log\", \"unknown\"])\n .transform(input => {\n return transformTableType(input);\n }),\n command: zod.enum([\"update\", \"put\", \"delete\"])\n })\n )\n .refine(\n values => {\n return values.length > 0;\n },\n {\n message: `\"items\" array must not be empty.`\n }\n )\n .transform(values => {\n return convert(values);\n }),\n source: createSystemValidation(),\n id: zod.string()\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,OAAO,GAAIC,KAAgC,IAAK;EAClD;AACJ;AACA;EACI,OAAOA,KAAK;AAChB,CAAC;AAED,MAAMC,kBAAkB,GAAID,KAAa,IAAwB;EAC7D,MAAME,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACE,wBAAiB,CAAuC;EACjF,KAAK,MAAMC,GAAG,IAAIH,IAAI,EAAE;IACpB,MAAMI,KAAK,GAAGF,wBAAiB,CAACC,GAAG,CAAC;IACpC,IAAIC,KAAK,KAAKN,KAAK,EAAE;MACjB,OAAOM,KAAK;IAChB;EACJ;EACA,OAAOF,wBAAiB,CAACG,OAAO;AACpC,CAAC;AAEM,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EACxC,OAAOC,YAAG,CAACC,MAAM,CAAC;IACdC,KAAK,EAAEF,YAAG,CACLG,KAAK,CACFH,YAAG,CAACC,MAAM,CAAC;MACPG,EAAE,EAAEJ,YAAG,CAACK,MAAM,CAAC,CAAC;MAChBC,EAAE,EAAEN,YAAG,CAACK,MAAM,CAAC,CAAC;MAChBE,SAAS,EAAEP,YAAG,CAACK,MAAM,CAAC,CAAC;MACvBG,SAAS,EAAER,YAAG,CACTS,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CACpDC,SAAS,CAACnB,KAAK,IAAI;QAChB,OAAOC,kBAAkB,CAACD,KAAK,CAAC;MACpC,CAAC,CAAC;MACNoB,OAAO,EAAEX,YAAG,CAACS,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;IACjD,CAAC,CACL,CAAC,CACAG,MAAM,CACHC,MAAM,IAAI;MACN,OAAOA,MAAM,CAACC,MAAM,GAAG,CAAC;IAC5B,CAAC,EACD;MACIC,OAAO,EAAE;IACb,CACJ,CAAC,CACAL,SAAS,CAACG,MAAM,IAAI;MACjB,OAAOvB,OAAO,CAACuB,MAAM,CAAC;IAC1B,CAAC,CAAC;IACNG,MAAM,EAAE,IAAAC,8BAAsB,EAAC,CAAC;IAChCC,EAAE,EAAElB,YAAG,CAACK,MAAM,CAAC;EACnB,CAAC,CAAC;AACN,CAAC;AAACc,OAAA,CAAApB,sBAAA,GAAAA,sBAAA","ignoreList":[]}