@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.
- package/README.md +6 -108
- package/constants.js +2 -7
- package/constants.js.map +1 -1
- package/index.js +3 -40
- package/package.json +29 -26
- package/resolver/app/RecordHandler.d.ts +6 -6
- package/resolver/app/RecordHandler.js +84 -114
- package/resolver/app/RecordHandler.js.map +1 -1
- package/resolver/app/RecordsValidation.js +13 -24
- package/resolver/app/RecordsValidation.js.map +1 -1
- package/resolver/app/ResolverApplication.d.ts +1 -1
- package/resolver/app/ResolverApplication.js +27 -42
- package/resolver/app/ResolverApplication.js.map +1 -1
- package/resolver/app/abstractions/RecordHandler.d.ts +1 -1
- package/resolver/app/abstractions/RecordHandler.js +0 -7
- package/resolver/app/abstractions/RecordsValidation.d.ts +2 -2
- package/resolver/app/abstractions/RecordsValidation.js +0 -7
- package/resolver/app/abstractions/ResolverApplication.js +0 -7
- package/resolver/app/abstractions/ResolverRecord.d.ts +1 -1
- package/resolver/app/abstractions/ResolverRecord.js +0 -7
- package/resolver/app/bundler/BaseBundle.d.ts +6 -6
- package/resolver/app/bundler/BaseBundle.js +16 -22
- package/resolver/app/bundler/BaseBundle.js.map +1 -1
- package/resolver/app/bundler/Bundler.d.ts +1 -1
- package/resolver/app/bundler/Bundler.js +12 -25
- package/resolver/app/bundler/Bundler.js.map +1 -1
- package/resolver/app/bundler/Bundles.d.ts +2 -2
- package/resolver/app/bundler/Bundles.js +20 -33
- package/resolver/app/bundler/Bundles.js.map +1 -1
- package/resolver/app/bundler/CommandBundle.d.ts +1 -1
- package/resolver/app/bundler/CommandBundle.js +8 -25
- package/resolver/app/bundler/CommandBundle.js.map +1 -1
- package/resolver/app/bundler/TableBundle.d.ts +1 -1
- package/resolver/app/bundler/TableBundle.js +7 -22
- package/resolver/app/bundler/TableBundle.js.map +1 -1
- package/resolver/app/bundler/types.d.ts +2 -2
- package/resolver/app/bundler/types.js +0 -7
- package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +3 -3
- package/resolver/app/commandHandler/DeleteCommandHandler.js +21 -35
- package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
- package/resolver/app/commandHandler/PutCommandHandler.d.ts +4 -4
- package/resolver/app/commandHandler/PutCommandHandler.js +15 -28
- package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
- package/resolver/app/commandHandler/delete.d.ts +1 -1
- package/resolver/app/commandHandler/delete.js +13 -21
- package/resolver/app/commandHandler/delete.js.map +1 -1
- package/resolver/app/commandHandler/put.d.ts +1 -1
- package/resolver/app/commandHandler/put.js +13 -21
- package/resolver/app/commandHandler/put.js.map +1 -1
- package/resolver/app/data/SourceDataContainer.d.ts +3 -3
- package/resolver/app/data/SourceDataContainer.js +27 -36
- package/resolver/app/data/SourceDataContainer.js.map +1 -1
- package/resolver/app/data/types.d.ts +2 -2
- package/resolver/app/data/types.js +0 -7
- package/resolver/app/fetcher/Fetcher.d.ts +3 -3
- package/resolver/app/fetcher/Fetcher.js +87 -121
- package/resolver/app/fetcher/Fetcher.js.map +1 -1
- package/resolver/app/fetcher/types.d.ts +2 -2
- package/resolver/app/fetcher/types.js +0 -7
- package/resolver/app/ingestor/Ingestor.d.ts +1 -1
- package/resolver/app/ingestor/Ingestor.js +26 -39
- package/resolver/app/ingestor/Ingestor.js.map +1 -1
- package/resolver/app/ingestor/IngestorResult.js +27 -39
- package/resolver/app/ingestor/IngestorResult.js.map +1 -1
- package/resolver/app/ingestor/types.d.ts +2 -2
- package/resolver/app/ingestor/types.js +0 -7
- package/resolver/app/storer/Storer.d.ts +3 -3
- package/resolver/app/storer/Storer.js +73 -95
- package/resolver/app/storer/Storer.js.map +1 -1
- package/resolver/app/storer/types.d.ts +2 -2
- package/resolver/app/storer/types.js +0 -7
- package/resolver/app/transform/TransformHandler.d.ts +4 -4
- package/resolver/app/transform/TransformHandler.js +46 -64
- package/resolver/app/transform/TransformHandler.js.map +1 -1
- package/resolver/app/transform/middleware.d.ts +1 -1
- package/resolver/app/transform/middleware.js +12 -25
- package/resolver/app/transform/middleware.js.map +1 -1
- package/resolver/app/utils/Retry.js +21 -32
- package/resolver/app/utils/Retry.js.map +1 -1
- package/resolver/app/utils/sleep.js +4 -12
- package/resolver/app/utils/sleep.js.map +1 -1
- package/resolver/app/validation/body.d.ts +25 -124
- package/resolver/app/validation/body.js +31 -44
- package/resolver/app/validation/body.js.map +1 -1
- package/resolver/app/validation/createJsonTransform.d.ts +1 -1
- package/resolver/app/validation/createJsonTransform.js +13 -22
- package/resolver/app/validation/createJsonTransform.js.map +1 -1
- package/resolver/app/validation/detail.d.ts +19 -72
- package/resolver/app/validation/detail.js +33 -46
- package/resolver/app/validation/detail.js.map +1 -1
- package/resolver/app/validation/event.d.ts +29 -188
- package/resolver/app/validation/event.js +21 -30
- package/resolver/app/validation/event.js.map +1 -1
- package/resolver/app/validation/numericString.d.ts +1 -1
- package/resolver/app/validation/numericString.js +9 -20
- package/resolver/app/validation/numericString.js.map +1 -1
- package/resolver/app/validation/system.d.ts +2 -14
- package/resolver/app/validation/system.js +9 -18
- package/resolver/app/validation/system.js.map +1 -1
- package/resolver/createEventHandlerPlugin.d.ts +2 -1
- package/resolver/createEventHandlerPlugin.js +85 -121
- package/resolver/createEventHandlerPlugin.js.map +1 -1
- package/resolver/createResolverHandler.d.ts +1 -1
- package/resolver/createResolverHandler.js +60 -75
- package/resolver/createResolverHandler.js.map +1 -1
- package/resolver/deployment/Deployment.d.ts +2 -3
- package/resolver/deployment/Deployment.js +27 -44
- package/resolver/deployment/Deployment.js.map +1 -1
- package/resolver/deployment/Deployments.js +19 -30
- package/resolver/deployment/Deployments.js.map +1 -1
- package/resolver/deployment/DeploymentsFetcher.js +82 -102
- package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
- package/resolver/deployment/types.d.ts +4 -6
- package/resolver/deployment/types.js +0 -7
- package/resolver/lambda/LambdaTrigger.js +25 -34
- package/resolver/lambda/LambdaTrigger.js.map +1 -1
- package/resolver/plugins/CommandHandlerPlugin.d.ts +3 -3
- package/resolver/plugins/CommandHandlerPlugin.js +17 -24
- package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
- package/resolver/plugins/StorerAfterEachPlugin.d.ts +2 -2
- package/resolver/plugins/StorerAfterEachPlugin.js +21 -29
- package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
- package/resolver/plugins/TransformRecordPlugin.d.ts +3 -3
- package/resolver/plugins/TransformRecordPlugin.js +20 -27
- package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
- package/resolver/recordTypes/fileManager/CopyFile.js +44 -74
- package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
- package/resolver/recordTypes/fileManager/DeleteFile.d.ts +1 -1
- package/resolver/recordTypes/fileManager/DeleteFile.js +40 -65
- package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManager.d.ts +1 -1
- package/resolver/recordTypes/fileManager/fileManager.js +7 -12
- package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +27 -45
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js +27 -45
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
- package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +1 -1
- package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -34
- package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
- package/resolver/recordTypes/fileManager/types.d.ts +2 -2
- package/resolver/recordTypes/fileManager/types.js +0 -7
- package/resolver/recordTypes/users/CopyUser.d.ts +2 -2
- package/resolver/recordTypes/users/CopyUser.js +44 -61
- package/resolver/recordTypes/users/CopyUser.js.map +1 -1
- package/resolver/recordTypes/users/DeleteUser.d.ts +2 -2
- package/resolver/recordTypes/users/DeleteUser.js +40 -58
- package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
- package/resolver/recordTypes/users/shouldBeHandled.d.ts +1 -1
- package/resolver/recordTypes/users/shouldBeHandled.js +10 -33
- package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
- package/resolver/recordTypes/users/types.d.ts +1 -1
- package/resolver/recordTypes/users/types.js +0 -7
- package/resolver/recordTypes/users/users.js +7 -12
- package/resolver/recordTypes/users/users.js.map +1 -1
- package/resolver/recordTypes/users/usersOnDelete.d.ts +2 -2
- package/resolver/recordTypes/users/usersOnDelete.js +26 -44
- package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
- package/resolver/recordTypes/users/usersOnPut.d.ts +2 -2
- package/resolver/recordTypes/users/usersOnPut.js +27 -45
- package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
- package/sync/FilterOutRecord.d.ts +2 -2
- package/sync/FilterOutRecord.js +8 -24
- package/sync/FilterOutRecord.js.map +1 -1
- package/sync/attachToDynamoDbDocument.d.ts +1 -1
- package/sync/attachToDynamoDbDocument.js +48 -75
- package/sync/attachToDynamoDbDocument.js.map +1 -1
- package/sync/createHandler.js +44 -60
- package/sync/createHandler.js.map +1 -1
- package/sync/createSendDataToEventBridgeOnRequestEnd.js +34 -46
- package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -1
- package/sync/createSyncSystem.d.ts +1 -1
- package/sync/createSyncSystem.js +27 -36
- package/sync/createSyncSystem.js.map +1 -1
- package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +1 -1
- package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -86
- package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
- package/sync/handler/Handler.d.ts +2 -2
- package/sync/handler/Handler.js +66 -86
- package/sync/handler/Handler.js.map +1 -1
- package/sync/handler/HandlerConverter.js +20 -36
- package/sync/handler/HandlerConverter.js.map +1 -1
- package/sync/handler/converter/BatchGetCommandConverter.js +13 -20
- package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
- package/sync/handler/converter/BatchWriteCommandConverter.js +13 -20
- package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
- package/sync/handler/converter/DeleteCommandConverter.js +13 -20
- package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
- package/sync/handler/converter/GetCommandConverter.js +13 -20
- package/sync/handler/converter/GetCommandConverter.js.map +1 -1
- package/sync/handler/converter/PutCommandConverter.js +13 -20
- package/sync/handler/converter/PutCommandConverter.js.map +1 -1
- package/sync/handler/converter/QueryCommandConverter.js +13 -20
- package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
- package/sync/handler/converter/ScanCommandConverter.js +13 -20
- package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
- package/sync/handler/converter/UpdateCommandConverter.js +13 -20
- package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
- package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +2 -2
- package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -44
- package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/DeleteCommandValue.d.ts +2 -2
- package/sync/handler/converter/commands/DeleteCommandValue.js +19 -23
- package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/NullCommandValue.d.ts +1 -1
- package/sync/handler/converter/commands/NullCommandValue.js +7 -14
- package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/PutCommandValue.d.ts +2 -2
- package/sync/handler/converter/commands/PutCommandValue.js +19 -23
- package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/UpdateCommandValue.d.ts +2 -2
- package/sync/handler/converter/commands/UpdateCommandValue.js +19 -23
- package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
- package/sync/handler/types.d.ts +3 -3
- package/sync/handler/types.js +0 -7
- package/sync/plugins/FilterOutRecordPlugin.d.ts +1 -1
- package/sync/plugins/FilterOutRecordPlugin.js +18 -28
- package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
- package/sync/requestPlugin.d.ts +1 -1
- package/sync/requestPlugin.js +39 -55
- package/sync/requestPlugin.js.map +1 -1
- package/sync/types.js +0 -7
- package/sync/utils/getTableType.js +11 -19
- package/sync/utils/getTableType.js.map +1 -1
- package/sync/utils/manifest.d.ts +3 -7
- package/sync/utils/manifest.js +30 -47
- package/sync/utils/manifest.js.map +1 -1
- package/sync/utils/validateSystemInput.d.ts +1 -1
- package/sync/utils/validateSystemInput.js +22 -37
- package/sync/utils/validateSystemInput.js.map +1 -1
- package/types.d.ts +3 -5
- package/types.js +6 -12
- package/types.js.map +1 -1
- package/utils/createSystemName.js +5 -10
- package/utils/createSystemName.js.map +1 -1
- package/worker/actions/copyFile/CopyFile.js +185 -268
- package/worker/actions/copyFile/CopyFile.js.map +1 -1
- package/worker/actions/copyFile/copyFileAction.d.ts +1 -1
- package/worker/actions/copyFile/copyFileAction.js +30 -45
- package/worker/actions/copyFile/copyFileAction.js.map +1 -1
- package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
- package/worker/actions/copyFile/copyFileSchema.js +14 -23
- package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
- package/worker/actions/copyFile/types.js +0 -7
- package/worker/actions/createUser/CreateUser.d.ts +1 -1
- package/worker/actions/createUser/CreateUser.js +53 -83
- package/worker/actions/createUser/CreateUser.js.map +1 -1
- package/worker/actions/createUser/createUserAction.d.ts +2 -2
- package/worker/actions/createUser/createUserAction.js +28 -39
- package/worker/actions/createUser/createUserAction.js.map +1 -1
- package/worker/actions/createUser/createUserSchema.d.ts +6 -38
- package/worker/actions/createUser/createUserSchema.js +14 -23
- package/worker/actions/createUser/createUserSchema.js.map +1 -1
- package/worker/actions/createUser/types.js +0 -7
- package/worker/actions/deleteFile/DeleteFile.js +52 -74
- package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
- package/worker/actions/deleteFile/deleteFileAction.d.ts +1 -1
- package/worker/actions/deleteFile/deleteFileAction.js +25 -40
- package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
- package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
- package/worker/actions/deleteFile/deleteFileSchema.js +14 -23
- package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
- package/worker/actions/deleteFile/types.js +0 -7
- package/worker/actions/deleteUser/DeleteUser.d.ts +2 -2
- package/worker/actions/deleteUser/DeleteUser.js +39 -60
- package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
- package/worker/actions/deleteUser/deleteUserAction.d.ts +1 -1
- package/worker/actions/deleteUser/deleteUserAction.js +26 -37
- package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
- package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
- package/worker/actions/deleteUser/deleteUserSchema.js +13 -22
- package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
- package/worker/actions/deleteUser/types.js +0 -7
- package/worker/actions/logValidationError.js +6 -14
- package/worker/actions/logValidationError.js.map +1 -1
- package/worker/actions/removeCognitoUserAttributes.js +9 -22
- package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
- package/worker/actions/updateUser/UpdateUser.d.ts +1 -1
- package/worker/actions/updateUser/UpdateUser.js +50 -74
- package/worker/actions/updateUser/UpdateUser.js.map +1 -1
- package/worker/actions/updateUser/types.js +0 -7
- package/worker/actions/updateUser/updateUserAction.d.ts +2 -2
- package/worker/actions/updateUser/updateUserAction.js +28 -39
- package/worker/actions/updateUser/updateUserAction.js.map +1 -1
- package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
- package/worker/actions/updateUser/updateUserSchema.js +14 -23
- package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
- package/worker/createWorkerHandler.js +32 -45
- package/worker/createWorkerHandler.js.map +1 -1
- package/worker/handler/WorkerActionHandler.d.ts +2 -2
- package/worker/handler/WorkerActionHandler.js +19 -28
- package/worker/handler/WorkerActionHandler.js.map +1 -1
- package/worker/handler/eventHandler.js +18 -27
- package/worker/handler/eventHandler.js.map +1 -1
- package/worker/plugins/WorkerActionPlugin.d.ts +1 -1
- package/worker/plugins/WorkerActionPlugin.js +18 -25
- package/worker/plugins/WorkerActionPlugin.js.map +1 -1
- package/worker/types.js +0 -7
- package/index.js.map +0 -1
- package/resolver/app/abstractions/RecordHandler.js.map +0 -1
- package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
- package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
- package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
- package/resolver/app/bundler/types.js.map +0 -1
- package/resolver/app/data/types.js.map +0 -1
- package/resolver/app/fetcher/types.js.map +0 -1
- package/resolver/app/ingestor/types.js.map +0 -1
- package/resolver/app/storer/types.js.map +0 -1
- package/resolver/deployment/types.js.map +0 -1
- package/resolver/recordTypes/fileManager/types.js.map +0 -1
- package/resolver/recordTypes/users/types.js.map +0 -1
- package/sync/handler/types.js.map +0 -1
- package/sync/types.js.map +0 -1
- package/worker/actions/copyFile/types.js.map +0 -1
- package/worker/actions/createUser/types.js.map +0 -1
- package/worker/actions/deleteFile/types.js.map +0 -1
- package/worker/actions/deleteUser/types.js.map +0 -1
- package/worker/actions/updateUser/types.js.map +0 -1
- package/worker/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/transform/TransformHandler.js","sources":["../../../../src/resolver/app/transform/TransformHandler.ts"],"sourcesContent":["import type { ITable } from \"~/sync/types.js\";\nimport type { IDeployment } from \"~/resolver/deployment/types.js\";\nimport type { PluginsContainer } from \"@webiny/plugins/types.js\";\nimport { TransformRecordPlugin } from \"~/resolver/plugins/TransformRecordPlugin.js\";\nimport { middleware } from \"./middleware.js\";\nimport type { IStoreItem } from \"../storer/types.js\";\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"],"names":["TransformHandler","params","TransformRecordPlugin","sourceTable","sourceDeployment","targetDeployment","targetTable","items","process","console","plugins","plugin","runner","middleware","next","results","Promise","input","record","Object","item"],"mappings":";;AAoCO,MAAMA;IAIT,YAAmBC,MAA+B,CAAE;QAChD,IAAI,CAAC,gBAAgB,GAAGA,OAAO,OAAO;QACtC,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO,CAAC,MAAM,CAAwBC,sBAAsB,IAAI;IAC1F;IAEA,MAAa,UACTD,MAAwC,EACC;QACzC,MAAM,EAAEE,WAAW,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAGN;QAEhF,IAAI,AAAwB,MAAxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAQ;YACL,WAAtBO,QAAQ,GAAG,CAAC,KAAK,IACbC,QAAQ,GAAG,CAAC;YAChB,OAAO;gBACHF;YACJ;QACJ;QAEA,MAAMG,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAACC,CAAAA;YAChC,IAAIA,AAA4C,UAA5CA,OAAO,cAAc,CAACR,YAAY,IAAI,GACtC,OAAO;YAEX,OAAOQ,OAAO,YAAY,CAAC;gBACvB,MAAMP;gBACN,IAAIC;YACR;QACJ;QAEA,IAAIK,AAAmB,MAAnBA,QAAQ,MAAM,EAAQ;YACA,WAAtBF,QAAQ,GAAG,CAAC,KAAK,IACbC,QAAQ,GAAG,CACP,oGACA;gBACI,eAAeL,iBAAiB,OAAO,CAAC,MAAM;gBAC9C,eAAeC,iBAAiB,OAAO,CAAC,MAAM;gBAC9CF;YACJ;YAER,OAAO;gBACHI;YACJ;QACJ;QAEA,MAAMK,SAASC,WACXH,QAAQ,GAAG,CAACC,CAAAA,SACD,OAAOV,QAAQa,OACX,MAAMH,OAAO,SAAS,CAACV,QAAQa;QAKlD,MAAMC,UAAU,MAAMC,QAAQ,GAAG,CAC7BT,MAAM,GAAG,CAAC,OAAMU;YACZ,MAAMC,SAASC,OAAO,MAAM,CAACF;YAC7B,OAAO,MAAML,OACT;gBACI,SAAS,IAAI,CAAC,gBAAgB;gBAC9BT;gBACAC;gBACAC;gBACAC;gBACAY;YACJ,GACAA;QAER;QAEJ,OAAO;YACH,OAAOH,QAAQ,MAAM,CAAC,CAACK,OAA6B,CAAC,CAACA;QAC1D;IACJ;AACJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { GenericRecord } from "@webiny/api/types";
|
|
1
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
2
2
|
export type Middleware<Input, Output> = (input: Input, next: () => Promise<Output>) => Promise<Output>;
|
|
3
3
|
export declare function middleware<Input = GenericRecord, Output = GenericRecord>(middlewares: Middleware<Input, Output>[]): (input: Input, defaultValue: Output) => Promise<Output>;
|
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.middleware = middleware;
|
|
7
1
|
function middleware(middlewares) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
};
|
|
2
|
+
return async function(input, defaultValue) {
|
|
3
|
+
let current = -1;
|
|
4
|
+
async function dispatch(index) {
|
|
5
|
+
if (index <= current) throw new Error("next() called multiple times");
|
|
6
|
+
current = index;
|
|
7
|
+
const fn = middlewares[index];
|
|
8
|
+
if (!fn) return defaultValue;
|
|
9
|
+
return fn(input, ()=>dispatch(index + 1));
|
|
10
|
+
}
|
|
11
|
+
return dispatch(0);
|
|
12
|
+
};
|
|
27
13
|
}
|
|
14
|
+
export { middleware };
|
|
28
15
|
|
|
29
16
|
//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/transform/middleware.js","sources":["../../../../src/resolver/app/transform/middleware.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/api/types.js\";\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"],"names":["middleware","middlewares","input","defaultValue","current","dispatch","index","Error","fn"],"mappings":"AAOO,SAASA,WACZC,WAAwC;IAExC,OAAO,eAAsBC,KAAY,EAAEC,YAAoB;QAC3D,IAAIC,UAAU;QAEd,eAAeC,SAASC,KAAa;YAKjC,IAAIA,SAASF,SACT,MAAM,IAAIG,MAAM;YAEpBH,UAAUE;YAEV,MAAME,KAAKP,WAAW,CAACK,MAAM;YAC7B,IAAI,CAACE,IACD,OAAOL;YAGX,OAAOK,GAAGN,OAAO,IAAMG,SAASC,QAAQ;QAC5C;QAEA,OAAOD,SAAS;IACpB;AACJ"}
|
|
@@ -1,38 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createRetry = exports.Retry = void 0;
|
|
7
|
-
var _sleep = require("./sleep");
|
|
1
|
+
import { sleep } from "./sleep.js";
|
|
8
2
|
class Retry {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
constructor(params){
|
|
4
|
+
this.retryCount = 0;
|
|
5
|
+
this.maxRetries = params.maxRetries;
|
|
6
|
+
this.retryDelay = params.retryDelay;
|
|
7
|
+
}
|
|
8
|
+
async retry(fn, options) {
|
|
9
|
+
try {
|
|
10
|
+
return await fn();
|
|
11
|
+
} catch (ex) {
|
|
12
|
+
if (this.retryCount >= this.maxRetries) {
|
|
13
|
+
if (options?.onFail) await options.onFail(ex);
|
|
14
|
+
throw ex;
|
|
15
|
+
}
|
|
21
16
|
}
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
this.retryCount++;
|
|
18
|
+
await sleep(this.retryDelay);
|
|
19
|
+
const result = await this.retry(fn, options);
|
|
20
|
+
this.retryCount = 0;
|
|
21
|
+
return result;
|
|
24
22
|
}
|
|
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
23
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return new Retry(params);
|
|
35
|
-
};
|
|
36
|
-
exports.createRetry = createRetry;
|
|
24
|
+
const createRetry = (params)=>new Retry(params);
|
|
25
|
+
export { Retry, createRetry };
|
|
37
26
|
|
|
38
27
|
//# sourceMappingURL=Retry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/utils/Retry.js","sources":["../../../../src/resolver/app/utils/Retry.ts"],"sourcesContent":["import { sleep } from \"./sleep.js\";\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"],"names":["Retry","params","fn","options","ex","sleep","result","createRetry"],"mappings":";AAeO,MAAMA;IAKT,YAAmBC,MAAoB,CAAE;aAFjC,UAAU,GAAW;QAGzB,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU;QACnC,IAAI,CAAC,UAAU,GAAGA,OAAO,UAAU;IACvC;IAEA,MAAa,MAASC,EAAoB,EAAEC,OAAgC,EAAc;QACtF,IAAI;YACA,OAAO,MAAMD;QACjB,EAAE,OAAOE,IAAI;YACT,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpC,IAAID,SAAS,QACT,MAAMA,QAAQ,MAAM,CAACC;gBAEzB,MAAMA;YACV;QACJ;QACA,IAAI,CAAC,UAAU;QACf,MAAMC,MAAM,IAAI,CAAC,UAAU;QAC3B,MAAMC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAIJ,IAAIC;QACvC,IAAI,CAAC,UAAU,GAAG;QAClB,OAAOG;IACX;AACJ;AAEO,MAAMC,cAAc,CAACN,SACjB,IAAID,MAAMC"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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;
|
|
1
|
+
const sleep = (ms)=>new Promise((resolve)=>{
|
|
2
|
+
setTimeout(resolve, ms);
|
|
3
|
+
});
|
|
4
|
+
export { sleep };
|
|
13
5
|
|
|
14
6
|
//# sourceMappingURL=sleep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/utils/sleep.js","sources":["../../../../src/resolver/app/utils/sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => {\n return new Promise<void>(resolve => {\n setTimeout(resolve, ms);\n });\n};\n"],"names":["sleep","ms","Promise","resolve","setTimeout"],"mappings":"AAAO,MAAMA,QAAQ,CAACC,KACX,IAAIC,QAAcC,CAAAA;QACrBC,WAAWD,SAASF;IACxB"}
|
|
@@ -1,142 +1,43 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
2
|
export declare const createBodyValidation: () => zod.ZodObject<{
|
|
3
|
-
version: zod.
|
|
3
|
+
version: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${number}`, string>>;
|
|
4
4
|
id: zod.ZodString;
|
|
5
|
-
"detail-type": zod.
|
|
6
|
-
source: zod.
|
|
7
|
-
account: zod.
|
|
8
|
-
time: zod.
|
|
5
|
+
"detail-type": zod.ZodPipe<zod.ZodString, zod.ZodTransform<"synchronization-input", string>>;
|
|
6
|
+
source: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`webiny:${string}`, string>>;
|
|
7
|
+
account: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${number}`, string>>;
|
|
8
|
+
time: zod.ZodPipe<zod.ZodString, zod.ZodTransform<Date, string>>;
|
|
9
9
|
region: zod.ZodString;
|
|
10
|
-
resources: zod.ZodArray<zod.ZodString
|
|
10
|
+
resources: zod.ZodArray<zod.ZodString>;
|
|
11
11
|
detail: zod.ZodObject<{
|
|
12
|
-
items: zod.
|
|
12
|
+
items: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
|
|
13
13
|
PK: zod.ZodString;
|
|
14
14
|
SK: zod.ZodString;
|
|
15
15
|
tableName: zod.ZodString;
|
|
16
|
-
tableType: zod.
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
tableType: zod.ZodPipe<zod.ZodEnum<{
|
|
17
|
+
log: "log";
|
|
18
|
+
opensearch: "opensearch";
|
|
19
|
+
regular: "regular";
|
|
20
|
+
unknown: "unknown";
|
|
21
|
+
}>, zod.ZodTransform<import("../../../types.js").DynamoDBTableType, "log" | "opensearch" | "regular" | "unknown">>;
|
|
22
|
+
command: zod.ZodEnum<{
|
|
23
|
+
delete: "delete";
|
|
24
|
+
put: "put";
|
|
25
|
+
update: "update";
|
|
26
|
+
}>;
|
|
27
|
+
}, zod.core.$strip>>, zod.ZodTransform<import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>, {
|
|
19
28
|
PK: string;
|
|
20
29
|
SK: string;
|
|
21
30
|
tableName: string;
|
|
22
31
|
tableType: import("../../../types.js").DynamoDBTableType;
|
|
23
|
-
command: "
|
|
24
|
-
}
|
|
25
|
-
PK: string;
|
|
26
|
-
SK: string;
|
|
27
|
-
tableName: string;
|
|
28
|
-
tableType: "unknown" | "regular" | "elasticsearch" | "log";
|
|
29
|
-
command: "put" | "delete" | "update";
|
|
30
|
-
}>, "many">, {
|
|
31
|
-
PK: string;
|
|
32
|
-
SK: string;
|
|
33
|
-
tableName: string;
|
|
34
|
-
tableType: import("../../../types.js").DynamoDBTableType;
|
|
35
|
-
command: "put" | "delete" | "update";
|
|
36
|
-
}[], {
|
|
37
|
-
PK: string;
|
|
38
|
-
SK: string;
|
|
39
|
-
tableName: string;
|
|
40
|
-
tableType: "unknown" | "regular" | "elasticsearch" | "log";
|
|
41
|
-
command: "put" | "delete" | "update";
|
|
42
|
-
}[]>, import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>, {
|
|
43
|
-
PK: string;
|
|
44
|
-
SK: string;
|
|
45
|
-
tableName: string;
|
|
46
|
-
tableType: "unknown" | "regular" | "elasticsearch" | "log";
|
|
47
|
-
command: "put" | "delete" | "update";
|
|
48
|
-
}[]>;
|
|
32
|
+
command: "delete" | "put" | "update";
|
|
33
|
+
}[]>>;
|
|
49
34
|
source: zod.ZodObject<{
|
|
50
35
|
name: zod.ZodString;
|
|
51
36
|
env: zod.ZodString;
|
|
52
|
-
variant: zod.
|
|
37
|
+
variant: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
53
38
|
region: zod.ZodString;
|
|
54
39
|
version: zod.ZodString;
|
|
55
|
-
},
|
|
56
|
-
region: string;
|
|
57
|
-
name: string;
|
|
58
|
-
env: string;
|
|
59
|
-
version: string;
|
|
60
|
-
variant?: string | undefined;
|
|
61
|
-
}, {
|
|
62
|
-
region: string;
|
|
63
|
-
name: string;
|
|
64
|
-
env: string;
|
|
65
|
-
version: string;
|
|
66
|
-
variant?: string | null | undefined;
|
|
67
|
-
}>;
|
|
40
|
+
}, zod.core.$strip>;
|
|
68
41
|
id: zod.ZodString;
|
|
69
|
-
},
|
|
70
|
-
|
|
71
|
-
region: string;
|
|
72
|
-
name: string;
|
|
73
|
-
env: string;
|
|
74
|
-
version: string;
|
|
75
|
-
variant?: string | undefined;
|
|
76
|
-
};
|
|
77
|
-
items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
|
|
78
|
-
id: string;
|
|
79
|
-
}, {
|
|
80
|
-
source: {
|
|
81
|
-
region: string;
|
|
82
|
-
name: string;
|
|
83
|
-
env: string;
|
|
84
|
-
version: string;
|
|
85
|
-
variant?: string | null | undefined;
|
|
86
|
-
};
|
|
87
|
-
items: {
|
|
88
|
-
PK: string;
|
|
89
|
-
SK: string;
|
|
90
|
-
tableName: string;
|
|
91
|
-
tableType: "unknown" | "regular" | "elasticsearch" | "log";
|
|
92
|
-
command: "put" | "delete" | "update";
|
|
93
|
-
}[];
|
|
94
|
-
id: string;
|
|
95
|
-
}>;
|
|
96
|
-
}, "strip", zod.ZodTypeAny, {
|
|
97
|
-
region: string;
|
|
98
|
-
source: `webiny:${string}`;
|
|
99
|
-
version: `${number}`;
|
|
100
|
-
id: string;
|
|
101
|
-
"detail-type": "synchronization-input";
|
|
102
|
-
account: `${number}`;
|
|
103
|
-
time: Date;
|
|
104
|
-
resources: string[];
|
|
105
|
-
detail: {
|
|
106
|
-
source: {
|
|
107
|
-
region: string;
|
|
108
|
-
name: string;
|
|
109
|
-
env: string;
|
|
110
|
-
version: string;
|
|
111
|
-
variant?: string | undefined;
|
|
112
|
-
};
|
|
113
|
-
items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
|
|
114
|
-
id: string;
|
|
115
|
-
};
|
|
116
|
-
}, {
|
|
117
|
-
region: string;
|
|
118
|
-
source: string;
|
|
119
|
-
version: string;
|
|
120
|
-
id: string;
|
|
121
|
-
"detail-type": string;
|
|
122
|
-
account: string;
|
|
123
|
-
time: string;
|
|
124
|
-
resources: string[];
|
|
125
|
-
detail: {
|
|
126
|
-
source: {
|
|
127
|
-
region: string;
|
|
128
|
-
name: string;
|
|
129
|
-
env: string;
|
|
130
|
-
version: string;
|
|
131
|
-
variant?: string | null | undefined;
|
|
132
|
-
};
|
|
133
|
-
items: {
|
|
134
|
-
PK: string;
|
|
135
|
-
SK: string;
|
|
136
|
-
tableName: string;
|
|
137
|
-
tableType: "unknown" | "regular" | "elasticsearch" | "log";
|
|
138
|
-
command: "put" | "delete" | "update";
|
|
139
|
-
}[];
|
|
140
|
-
id: string;
|
|
141
|
-
};
|
|
142
|
-
}>;
|
|
42
|
+
}, zod.core.$strip>;
|
|
43
|
+
}, zod.core.$strip>;
|
|
@@ -1,46 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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;
|
|
1
|
+
import zod from "zod";
|
|
2
|
+
import { createDetailValidation } from "./detail.js";
|
|
3
|
+
import { SQS_EVENT_NAME } from "../../../constants.js";
|
|
4
|
+
import { createNumericStringValidation } from "./numericString.js";
|
|
5
|
+
const detailValidation = createDetailValidation();
|
|
6
|
+
const createBodyValidation = ()=>zod.object({
|
|
7
|
+
version: createNumericStringValidation("version"),
|
|
8
|
+
id: zod.string(),
|
|
9
|
+
"detail-type": zod.string().transform((value, ctx)=>{
|
|
10
|
+
if (value === SQS_EVENT_NAME) return SQS_EVENT_NAME;
|
|
11
|
+
ctx.addIssue({
|
|
12
|
+
code: zod.ZodIssueCode.custom,
|
|
13
|
+
message: `"detail-type" must be "${SQS_EVENT_NAME}".`
|
|
14
|
+
});
|
|
15
|
+
return zod.NEVER;
|
|
16
|
+
}),
|
|
17
|
+
source: zod.string().transform((value, ctx)=>{
|
|
18
|
+
if (value.startsWith("webiny:")) return value;
|
|
19
|
+
ctx.addIssue({
|
|
20
|
+
code: zod.ZodIssueCode.custom,
|
|
21
|
+
message: '"source" must start with "webiny:".'
|
|
22
|
+
});
|
|
23
|
+
return zod.NEVER;
|
|
24
|
+
}),
|
|
25
|
+
account: createNumericStringValidation("account"),
|
|
26
|
+
time: zod.string().transform((value)=>new Date(value)),
|
|
27
|
+
region: zod.string(),
|
|
28
|
+
resources: zod.array(zod.string()),
|
|
29
|
+
detail: detailValidation
|
|
30
|
+
});
|
|
31
|
+
export { createBodyValidation };
|
|
45
32
|
|
|
46
33
|
//# sourceMappingURL=body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/validation/body.js","sources":["../../../../src/resolver/app/validation/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"],"names":["detailValidation","createDetailValidation","createBodyValidation","zod","createNumericStringValidation","value","ctx","SQS_EVENT_NAME","Date"],"mappings":";;;;AAKA,MAAMA,mBAAmBC;AAElB,MAAMC,uBAAuB,IACzBC,IAAI,MAAM,CAAC;QACd,SAASC,8BAA8B;QACvC,IAAID,IAAI,MAAM;QACd,eAAeA,IAAI,MAAM,GAAG,SAAS,CAAC,CAACE,OAAOC;YAC1C,IAAID,UAAUE,gBACV,OAAOA;YAEXD,IAAI,QAAQ,CAAC;gBACT,MAAMH,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS,CAAC,uBAAuB,EAAEI,eAAe,EAAE,CAAC;YACzD;YACA,OAAOJ,IAAI,KAAK;QACpB;QACA,QAAQA,IAAI,MAAM,GAAG,SAAS,CAAC,CAACE,OAAOC;YACnC,IAAID,MAAM,UAAU,CAAC,YACjB,OAAOA;YAEXC,IAAI,QAAQ,CAAC;gBACT,MAAMH,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS;YACb;YACA,OAAOA,IAAI,KAAK;QACpB;QACA,SAASC,8BAA8B;QACvC,MAAMD,IAAI,MAAM,GAAG,SAAS,CAACE,CAAAA,QAAS,IAAIG,KAAKH;QAC/C,QAAQF,IAAI,MAAM;QAClB,WAAWA,IAAI,KAAK,CAACA,IAAI,MAAM;QAC/B,QAAQH;IACZ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
|
-
export declare const createJsonTransform: (name: string) => zod.
|
|
2
|
+
export declare const createJsonTransform: (name: string) => zod.ZodPipe<zod.ZodString, zod.ZodTransform<any, string>>;
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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;
|
|
1
|
+
import zod from "zod";
|
|
2
|
+
const createJsonTransform = (name)=>zod.string().transform((value, ctx)=>{
|
|
3
|
+
try {
|
|
4
|
+
return JSON.parse(value);
|
|
5
|
+
} catch {
|
|
6
|
+
ctx.addIssue({
|
|
7
|
+
code: zod.ZodIssueCode.custom,
|
|
8
|
+
message: `${name} must be a valid JSON string.`
|
|
9
|
+
});
|
|
10
|
+
return zod.NEVER;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
export { createJsonTransform };
|
|
23
14
|
|
|
24
15
|
//# sourceMappingURL=createJsonTransform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/validation/createJsonTransform.js","sources":["../../../../src/resolver/app/validation/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 {\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"],"names":["createJsonTransform","name","zod","value","ctx","JSON"],"mappings":";AAEO,MAAMA,sBAAsB,CAACC,OACzBC,IAAI,MAAM,GAAG,SAAS,CAAC,CAACC,OAAOC;QAClC,IAAI;YACA,OAAOC,KAAK,KAAK,CAACF;QACtB,EAAE,OAAM;YACJC,IAAI,QAAQ,CAAC;gBACT,MAAMF,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS,GAAGD,KAAK,6BAA6B,CAAC;YACnD;YACA,OAAOC,IAAI,KAAK;QACpB;IACJ"}
|