@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.
- package/LICENSE +21 -0
- package/README.md +113 -0
- package/constants.d.ts +1 -0
- package/constants.js +9 -0
- package/constants.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +40 -0
- package/index.js.map +1 -0
- package/package.json +45 -0
- package/resolver/app/RecordHandler.d.ts +34 -0
- package/resolver/app/RecordHandler.js +126 -0
- package/resolver/app/RecordHandler.js.map +1 -0
- package/resolver/app/RecordsValidation.d.ts +6 -0
- package/resolver/app/RecordsValidation.js +29 -0
- package/resolver/app/RecordsValidation.js.map +1 -0
- package/resolver/app/ResolverApplication.d.ts +14 -0
- package/resolver/app/ResolverApplication.js +48 -0
- package/resolver/app/ResolverApplication.js.map +1 -0
- package/resolver/app/abstractions/RecordHandler.d.ts +7 -0
- package/resolver/app/abstractions/RecordHandler.js +7 -0
- package/resolver/app/abstractions/RecordHandler.js.map +1 -0
- package/resolver/app/abstractions/RecordsValidation.d.ts +14 -0
- package/resolver/app/abstractions/RecordsValidation.js +7 -0
- package/resolver/app/abstractions/RecordsValidation.js.map +1 -0
- package/resolver/app/abstractions/ResolverApplication.d.ts +7 -0
- package/resolver/app/abstractions/ResolverApplication.js +7 -0
- package/resolver/app/abstractions/ResolverApplication.js.map +1 -0
- package/resolver/app/abstractions/ResolverRecord.d.ts +42 -0
- package/resolver/app/abstractions/ResolverRecord.js +7 -0
- package/resolver/app/abstractions/ResolverRecord.js.map +1 -0
- package/resolver/app/bundler/BaseBundle.d.ts +21 -0
- package/resolver/app/bundler/BaseBundle.js +26 -0
- package/resolver/app/bundler/BaseBundle.js.map +1 -0
- package/resolver/app/bundler/Bundler.d.ts +10 -0
- package/resolver/app/bundler/Bundler.js +30 -0
- package/resolver/app/bundler/Bundler.js.map +1 -0
- package/resolver/app/bundler/Bundles.d.ts +14 -0
- package/resolver/app/bundler/Bundles.js +38 -0
- package/resolver/app/bundler/Bundles.js.map +1 -0
- package/resolver/app/bundler/CommandBundle.d.ts +15 -0
- package/resolver/app/bundler/CommandBundle.js +28 -0
- package/resolver/app/bundler/CommandBundle.js.map +1 -0
- package/resolver/app/bundler/TableBundle.d.ts +13 -0
- package/resolver/app/bundler/TableBundle.js +25 -0
- package/resolver/app/bundler/TableBundle.js.map +1 -0
- package/resolver/app/bundler/types.d.ts +29 -0
- package/resolver/app/bundler/types.js +7 -0
- package/resolver/app/bundler/types.js.map +1 -0
- package/resolver/app/commandHandler/DeleteCommandHandler.d.ts +18 -0
- package/resolver/app/commandHandler/DeleteCommandHandler.js +39 -0
- package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -0
- package/resolver/app/commandHandler/PutCommandHandler.d.ts +18 -0
- package/resolver/app/commandHandler/PutCommandHandler.js +32 -0
- package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -0
- package/resolver/app/commandHandler/delete.d.ts +2 -0
- package/resolver/app/commandHandler/delete.js +24 -0
- package/resolver/app/commandHandler/delete.js.map +1 -0
- package/resolver/app/commandHandler/put.d.ts +2 -0
- package/resolver/app/commandHandler/put.js +24 -0
- package/resolver/app/commandHandler/put.js.map +1 -0
- package/resolver/app/data/SourceDataContainer.d.ts +12 -0
- package/resolver/app/data/SourceDataContainer.js +42 -0
- package/resolver/app/data/SourceDataContainer.js.map +1 -0
- package/resolver/app/data/types.d.ts +23 -0
- package/resolver/app/data/types.js +7 -0
- package/resolver/app/data/types.js.map +1 -0
- package/resolver/app/fetcher/Fetcher.d.ts +22 -0
- package/resolver/app/fetcher/Fetcher.js +132 -0
- package/resolver/app/fetcher/Fetcher.js.map +1 -0
- package/resolver/app/fetcher/types.d.ts +25 -0
- package/resolver/app/fetcher/types.js +7 -0
- package/resolver/app/fetcher/types.js.map +1 -0
- package/resolver/app/ingestor/Ingestor.d.ts +13 -0
- package/resolver/app/ingestor/Ingestor.js +44 -0
- package/resolver/app/ingestor/Ingestor.js.map +1 -0
- package/resolver/app/ingestor/IngestorResult.d.ts +7 -0
- package/resolver/app/ingestor/IngestorResult.js +45 -0
- package/resolver/app/ingestor/IngestorResult.js.map +1 -0
- package/resolver/app/ingestor/types.d.ts +26 -0
- package/resolver/app/ingestor/types.js +7 -0
- package/resolver/app/ingestor/types.js.map +1 -0
- package/resolver/app/storer/Storer.d.ts +44 -0
- package/resolver/app/storer/Storer.js +103 -0
- package/resolver/app/storer/Storer.js.map +1 -0
- package/resolver/app/storer/types.d.ts +21 -0
- package/resolver/app/storer/types.js +7 -0
- package/resolver/app/storer/types.js.map +1 -0
- package/resolver/app/transform/TransformHandler.d.ts +34 -0
- package/resolver/app/transform/TransformHandler.js +70 -0
- package/resolver/app/transform/TransformHandler.js.map +1 -0
- package/resolver/app/transform/middleware.d.ts +3 -0
- package/resolver/app/transform/middleware.js +29 -0
- package/resolver/app/transform/middleware.js.map +1 -0
- package/resolver/app/utils/Retry.d.ts +18 -0
- package/resolver/app/utils/Retry.js +38 -0
- package/resolver/app/utils/Retry.js.map +1 -0
- package/resolver/app/utils/sleep.d.ts +1 -0
- package/resolver/app/utils/sleep.js +14 -0
- package/resolver/app/utils/sleep.js.map +1 -0
- package/resolver/app/validation/body.d.ts +142 -0
- package/resolver/app/validation/body.js +46 -0
- package/resolver/app/validation/body.js.map +1 -0
- package/resolver/app/validation/createJsonTransform.d.ts +2 -0
- package/resolver/app/validation/createJsonTransform.js +24 -0
- package/resolver/app/validation/createJsonTransform.js.map +1 -0
- package/resolver/app/validation/detail.d.ts +89 -0
- package/resolver/app/validation/detail.js +50 -0
- package/resolver/app/validation/detail.js.map +1 -0
- package/resolver/app/validation/event.d.ts +217 -0
- package/resolver/app/validation/event.js +32 -0
- package/resolver/app/validation/event.js.map +1 -0
- package/resolver/app/validation/numericString.d.ts +2 -0
- package/resolver/app/validation/numericString.js +23 -0
- package/resolver/app/validation/numericString.js.map +1 -0
- package/resolver/app/validation/system.d.ts +20 -0
- package/resolver/app/validation/system.js +20 -0
- package/resolver/app/validation/system.js.map +1 -0
- package/resolver/createEventHandlerPlugin.d.ts +10 -0
- package/resolver/createEventHandlerPlugin.js +127 -0
- package/resolver/createEventHandlerPlugin.js.map +1 -0
- package/resolver/createResolverHandler.d.ts +21 -0
- package/resolver/createResolverHandler.js +79 -0
- package/resolver/createResolverHandler.js.map +1 -0
- package/resolver/deployment/Deployment.d.ts +17 -0
- package/resolver/deployment/Deployment.js +50 -0
- package/resolver/deployment/Deployment.js.map +1 -0
- package/resolver/deployment/Deployments.d.ts +13 -0
- package/resolver/deployment/Deployments.js +34 -0
- package/resolver/deployment/Deployments.js.map +1 -0
- package/resolver/deployment/DeploymentsFetcher.d.ts +16 -0
- package/resolver/deployment/DeploymentsFetcher.js +112 -0
- package/resolver/deployment/DeploymentsFetcher.js.map +1 -0
- package/resolver/deployment/types.d.ts +34 -0
- package/resolver/deployment/types.js +7 -0
- package/resolver/deployment/types.js.map +1 -0
- package/resolver/lambda/LambdaTrigger.d.ts +18 -0
- package/resolver/lambda/LambdaTrigger.js +39 -0
- package/resolver/lambda/LambdaTrigger.js.map +1 -0
- package/resolver/plugins/CommandHandlerPlugin.d.ts +31 -0
- package/resolver/plugins/CommandHandlerPlugin.js +27 -0
- package/resolver/plugins/CommandHandlerPlugin.js.map +1 -0
- package/resolver/plugins/StorerAfterEachPlugin.d.ts +31 -0
- package/resolver/plugins/StorerAfterEachPlugin.js +33 -0
- package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -0
- package/resolver/plugins/TransformRecordPlugin.d.ts +38 -0
- package/resolver/plugins/TransformRecordPlugin.js +30 -0
- package/resolver/plugins/TransformRecordPlugin.js.map +1 -0
- package/resolver/recordTypes/fileManager/CopyFile.d.ts +14 -0
- package/resolver/recordTypes/fileManager/CopyFile.js +81 -0
- package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -0
- package/resolver/recordTypes/fileManager/DeleteFile.d.ts +14 -0
- package/resolver/recordTypes/fileManager/DeleteFile.js +72 -0
- package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -0
- package/resolver/recordTypes/fileManager/fileManager.d.ts +6 -0
- package/resolver/recordTypes/fileManager/fileManager.js +14 -0
- package/resolver/recordTypes/fileManager/fileManager.js.map +1 -0
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.d.ts +5 -0
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +48 -0
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -0
- package/resolver/recordTypes/fileManager/fileManagerOnPut.d.ts +5 -0
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js +48 -0
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -0
- package/resolver/recordTypes/fileManager/shouldBeHandled.d.ts +2 -0
- package/resolver/recordTypes/fileManager/shouldBeHandled.js +37 -0
- package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -0
- package/resolver/recordTypes/fileManager/types.d.ts +26 -0
- package/resolver/recordTypes/fileManager/types.js +7 -0
- package/resolver/recordTypes/fileManager/types.js.map +1 -0
- package/resolver/recordTypes/users/CopyUser.d.ts +18 -0
- package/resolver/recordTypes/users/CopyUser.js +67 -0
- package/resolver/recordTypes/users/CopyUser.js.map +1 -0
- package/resolver/recordTypes/users/DeleteUser.d.ts +18 -0
- package/resolver/recordTypes/users/DeleteUser.js +65 -0
- package/resolver/recordTypes/users/DeleteUser.js.map +1 -0
- package/resolver/recordTypes/users/shouldBeHandled.d.ts +2 -0
- package/resolver/recordTypes/users/shouldBeHandled.js +36 -0
- package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -0
- package/resolver/recordTypes/users/types.d.ts +24 -0
- package/resolver/recordTypes/users/types.js +7 -0
- package/resolver/recordTypes/users/types.js.map +1 -0
- package/resolver/recordTypes/users/users.d.ts +6 -0
- package/resolver/recordTypes/users/users.js +14 -0
- package/resolver/recordTypes/users/users.js.map +1 -0
- package/resolver/recordTypes/users/usersOnDelete.d.ts +5 -0
- package/resolver/recordTypes/users/usersOnDelete.js +47 -0
- package/resolver/recordTypes/users/usersOnDelete.js.map +1 -0
- package/resolver/recordTypes/users/usersOnPut.d.ts +5 -0
- package/resolver/recordTypes/users/usersOnPut.js +48 -0
- package/resolver/recordTypes/users/usersOnPut.js.map +1 -0
- package/sync/FilterOutRecord.d.ts +11 -0
- package/sync/FilterOutRecord.js +29 -0
- package/sync/FilterOutRecord.js.map +1 -0
- package/sync/attachToDynamoDbDocument.d.ts +11 -0
- package/sync/attachToDynamoDbDocument.js +79 -0
- package/sync/attachToDynamoDbDocument.js.map +1 -0
- package/sync/createHandler.d.ts +14 -0
- package/sync/createHandler.js +63 -0
- package/sync/createHandler.js.map +1 -0
- package/sync/createSendDataToEventBridgeOnRequestEnd.d.ts +2 -0
- package/sync/createSendDataToEventBridgeOnRequestEnd.js +51 -0
- package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -0
- package/sync/createSyncSystem.d.ts +16 -0
- package/sync/createSyncSystem.js +42 -0
- package/sync/createSyncSystem.js.map +1 -0
- package/sync/filter/createDefaultFilterOutRecordPlugins.d.ts +13 -0
- package/sync/filter/createDefaultFilterOutRecordPlugins.js +88 -0
- package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -0
- package/sync/handler/Handler.d.ts +28 -0
- package/sync/handler/Handler.js +93 -0
- package/sync/handler/Handler.js.map +1 -0
- package/sync/handler/HandlerConverter.d.ts +12 -0
- package/sync/handler/HandlerConverter.js +43 -0
- package/sync/handler/HandlerConverter.js.map +1 -0
- package/sync/handler/converter/BatchGetCommandConverter.d.ts +8 -0
- package/sync/handler/converter/BatchGetCommandConverter.js +24 -0
- package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -0
- package/sync/handler/converter/BatchWriteCommandConverter.d.ts +9 -0
- package/sync/handler/converter/BatchWriteCommandConverter.js +24 -0
- package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -0
- package/sync/handler/converter/DeleteCommandConverter.d.ts +9 -0
- package/sync/handler/converter/DeleteCommandConverter.js +24 -0
- package/sync/handler/converter/DeleteCommandConverter.js.map +1 -0
- package/sync/handler/converter/GetCommandConverter.d.ts +8 -0
- package/sync/handler/converter/GetCommandConverter.js +24 -0
- package/sync/handler/converter/GetCommandConverter.js.map +1 -0
- package/sync/handler/converter/PutCommandConverter.d.ts +9 -0
- package/sync/handler/converter/PutCommandConverter.js +24 -0
- package/sync/handler/converter/PutCommandConverter.js.map +1 -0
- package/sync/handler/converter/QueryCommandConverter.d.ts +8 -0
- package/sync/handler/converter/QueryCommandConverter.js +24 -0
- package/sync/handler/converter/QueryCommandConverter.js.map +1 -0
- package/sync/handler/converter/ScanCommandConverter.d.ts +8 -0
- package/sync/handler/converter/ScanCommandConverter.js +24 -0
- package/sync/handler/converter/ScanCommandConverter.js.map +1 -0
- package/sync/handler/converter/UpdateCommandConverter.d.ts +9 -0
- package/sync/handler/converter/UpdateCommandConverter.js +24 -0
- package/sync/handler/converter/UpdateCommandConverter.js.map +1 -0
- package/sync/handler/converter/commands/BatchWriteCommandValue.d.ts +9 -0
- package/sync/handler/converter/commands/BatchWriteCommandValue.js +51 -0
- package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -0
- package/sync/handler/converter/commands/DeleteCommandValue.d.ts +9 -0
- package/sync/handler/converter/commands/DeleteCommandValue.js +27 -0
- package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -0
- package/sync/handler/converter/commands/NullCommandValue.d.ts +8 -0
- package/sync/handler/converter/commands/NullCommandValue.js +18 -0
- package/sync/handler/converter/commands/NullCommandValue.js.map +1 -0
- package/sync/handler/converter/commands/PutCommandValue.d.ts +9 -0
- package/sync/handler/converter/commands/PutCommandValue.js +27 -0
- package/sync/handler/converter/commands/PutCommandValue.js.map +1 -0
- package/sync/handler/converter/commands/UpdateCommandValue.d.ts +9 -0
- package/sync/handler/converter/commands/UpdateCommandValue.js +27 -0
- package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -0
- package/sync/handler/types.d.ts +18 -0
- package/sync/handler/types.js +7 -0
- package/sync/handler/types.js.map +1 -0
- package/sync/plugins/FilterOutRecordPlugin.d.ts +23 -0
- package/sync/plugins/FilterOutRecordPlugin.js +31 -0
- package/sync/plugins/FilterOutRecordPlugin.js.map +1 -0
- package/sync/requestPlugin.d.ts +9 -0
- package/sync/requestPlugin.js +59 -0
- package/sync/requestPlugin.js.map +1 -0
- package/sync/types.d.ts +64 -0
- package/sync/types.js +7 -0
- package/sync/types.js.map +1 -0
- package/sync/utils/getTableType.d.ts +2 -0
- package/sync/utils/getTableType.js +22 -0
- package/sync/utils/getTableType.js.map +1 -0
- package/sync/utils/manifest.d.ts +17 -0
- package/sync/utils/manifest.js +52 -0
- package/sync/utils/manifest.js.map +1 -0
- package/sync/utils/validateSystemInput.d.ts +11 -0
- package/sync/utils/validateSystemInput.js +44 -0
- package/sync/utils/validateSystemInput.js.map +1 -0
- package/types.d.ts +42 -0
- package/types.js +15 -0
- package/types.js.map +1 -0
- package/utils/createSystemName.d.ts +5 -0
- package/utils/createSystemName.js +12 -0
- package/utils/createSystemName.js.map +1 -0
- package/worker/actions/copyFile/CopyFile.d.ts +63 -0
- package/worker/actions/copyFile/CopyFile.js +283 -0
- package/worker/actions/copyFile/CopyFile.js.map +1 -0
- package/worker/actions/copyFile/copyFileAction.d.ts +6 -0
- package/worker/actions/copyFile/copyFileAction.js +47 -0
- package/worker/actions/copyFile/copyFileAction.js.map +1 -0
- package/worker/actions/copyFile/copyFileSchema.d.ts +47 -0
- package/worker/actions/copyFile/copyFileSchema.js +25 -0
- package/worker/actions/copyFile/copyFileSchema.js.map +1 -0
- package/worker/actions/copyFile/types.d.ts +10 -0
- package/worker/actions/copyFile/types.js +7 -0
- package/worker/actions/copyFile/types.js.map +1 -0
- package/worker/actions/createUser/CreateUser.d.ts +17 -0
- package/worker/actions/createUser/CreateUser.js +90 -0
- package/worker/actions/createUser/CreateUser.js.map +1 -0
- package/worker/actions/createUser/createUserAction.d.ts +6 -0
- package/worker/actions/createUser/createUserAction.js +42 -0
- package/worker/actions/createUser/createUserAction.js.map +1 -0
- package/worker/actions/createUser/createUserSchema.d.ts +47 -0
- package/worker/actions/createUser/createUserSchema.js +25 -0
- package/worker/actions/createUser/createUserSchema.js.map +1 -0
- package/worker/actions/createUser/types.d.ts +10 -0
- package/worker/actions/createUser/types.js +7 -0
- package/worker/actions/createUser/types.js.map +1 -0
- package/worker/actions/deleteFile/DeleteFile.d.ts +24 -0
- package/worker/actions/deleteFile/DeleteFile.js +82 -0
- package/worker/actions/deleteFile/DeleteFile.js.map +1 -0
- package/worker/actions/deleteFile/deleteFileAction.d.ts +6 -0
- package/worker/actions/deleteFile/deleteFileAction.js +42 -0
- package/worker/actions/deleteFile/deleteFileAction.js.map +1 -0
- package/worker/actions/deleteFile/deleteFileSchema.d.ts +47 -0
- package/worker/actions/deleteFile/deleteFileSchema.js +25 -0
- package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -0
- package/worker/actions/deleteFile/types.d.ts +9 -0
- package/worker/actions/deleteFile/types.js +7 -0
- package/worker/actions/deleteFile/types.js.map +1 -0
- package/worker/actions/deleteUser/DeleteUser.d.ts +16 -0
- package/worker/actions/deleteUser/DeleteUser.js +67 -0
- package/worker/actions/deleteUser/DeleteUser.js.map +1 -0
- package/worker/actions/deleteUser/deleteUserAction.d.ts +6 -0
- package/worker/actions/deleteUser/deleteUserAction.js +40 -0
- package/worker/actions/deleteUser/deleteUserAction.js.map +1 -0
- package/worker/actions/deleteUser/deleteUserSchema.d.ts +29 -0
- package/worker/actions/deleteUser/deleteUserSchema.js +24 -0
- package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -0
- package/worker/actions/deleteUser/types.d.ts +9 -0
- package/worker/actions/deleteUser/types.js +7 -0
- package/worker/actions/deleteUser/types.js.map +1 -0
- package/worker/actions/logValidationError.d.ts +2 -0
- package/worker/actions/logValidationError.js +17 -0
- package/worker/actions/logValidationError.js.map +1 -0
- package/worker/actions/removeCognitoUserAttributes.d.ts +6 -0
- package/worker/actions/removeCognitoUserAttributes.js +24 -0
- package/worker/actions/removeCognitoUserAttributes.js.map +1 -0
- package/worker/actions/updateUser/UpdateUser.d.ts +17 -0
- package/worker/actions/updateUser/UpdateUser.js +81 -0
- package/worker/actions/updateUser/UpdateUser.js.map +1 -0
- package/worker/actions/updateUser/types.d.ts +10 -0
- package/worker/actions/updateUser/types.js +7 -0
- package/worker/actions/updateUser/types.js.map +1 -0
- package/worker/actions/updateUser/updateUserAction.d.ts +6 -0
- package/worker/actions/updateUser/updateUserAction.js +42 -0
- package/worker/actions/updateUser/updateUserAction.js.map +1 -0
- package/worker/actions/updateUser/updateUserSchema.d.ts +47 -0
- package/worker/actions/updateUser/updateUserSchema.js +25 -0
- package/worker/actions/updateUser/updateUserSchema.js.map +1 -0
- package/worker/createWorkerHandler.d.ts +11 -0
- package/worker/createWorkerHandler.js +48 -0
- package/worker/createWorkerHandler.js.map +1 -0
- package/worker/handler/WorkerActionHandler.d.ts +10 -0
- package/worker/handler/WorkerActionHandler.js +33 -0
- package/worker/handler/WorkerActionHandler.js.map +1 -0
- package/worker/handler/eventHandler.d.ts +1 -0
- package/worker/handler/eventHandler.js +31 -0
- package/worker/handler/eventHandler.js.map +1 -0
- package/worker/plugins/WorkerActionPlugin.d.ts +10 -0
- package/worker/plugins/WorkerActionPlugin.js +28 -0
- package/worker/plugins/WorkerActionPlugin.js.map +1 -0
- package/worker/types.d.ts +14 -0
- package/worker/types.js +7 -0
- 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,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":[]}
|