@webiny/api-sync-system 0.0.0-unstable.6844005670 → 0.0.0-unstable.7be00a75a9
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/constants.js +2 -1
- package/constants.js.map +1 -1
- package/index.js +0 -2
- package/package.json +24 -20
- package/resolver/app/RecordHandler.js +83 -105
- package/resolver/app/RecordHandler.js.map +1 -1
- package/resolver/app/RecordsValidation.js +11 -14
- package/resolver/app/RecordsValidation.js.map +1 -1
- package/resolver/app/ResolverApplication.js +24 -31
- package/resolver/app/ResolverApplication.js.map +1 -1
- package/resolver/app/abstractions/RecordHandler.js +0 -3
- package/resolver/app/abstractions/RecordsValidation.js +0 -3
- package/resolver/app/abstractions/ResolverApplication.js +0 -3
- package/resolver/app/abstractions/ResolverRecord.js +0 -3
- package/resolver/app/bundler/BaseBundle.js +17 -16
- package/resolver/app/bundler/BaseBundle.js.map +1 -1
- package/resolver/app/bundler/Bundler.js +13 -18
- package/resolver/app/bundler/Bundler.js.map +1 -1
- package/resolver/app/bundler/Bundles.js +21 -26
- package/resolver/app/bundler/Bundles.js.map +1 -1
- package/resolver/app/bundler/CommandBundle.js +7 -16
- package/resolver/app/bundler/CommandBundle.js.map +1 -1
- package/resolver/app/bundler/TableBundle.js +6 -13
- package/resolver/app/bundler/TableBundle.js.map +1 -1
- package/resolver/app/bundler/types.js +0 -3
- package/resolver/app/commandHandler/DeleteCommandHandler.js +22 -29
- package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
- package/resolver/app/commandHandler/PutCommandHandler.js +16 -22
- package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
- package/resolver/app/commandHandler/delete.js +11 -12
- package/resolver/app/commandHandler/delete.js.map +1 -1
- package/resolver/app/commandHandler/put.js +11 -12
- package/resolver/app/commandHandler/put.js.map +1 -1
- package/resolver/app/data/SourceDataContainer.js +28 -30
- package/resolver/app/data/SourceDataContainer.js.map +1 -1
- package/resolver/app/data/types.js +0 -3
- package/resolver/app/fetcher/Fetcher.js +84 -109
- package/resolver/app/fetcher/Fetcher.js.map +1 -1
- package/resolver/app/fetcher/types.js +0 -3
- package/resolver/app/ingestor/Ingestor.js +27 -32
- package/resolver/app/ingestor/Ingestor.js.map +1 -1
- package/resolver/app/ingestor/IngestorResult.js +28 -32
- package/resolver/app/ingestor/IngestorResult.js.map +1 -1
- package/resolver/app/ingestor/types.js +0 -3
- package/resolver/app/storer/Storer.js +71 -85
- package/resolver/app/storer/Storer.js.map +1 -1
- package/resolver/app/storer/types.js +0 -3
- package/resolver/app/transform/TransformHandler.js +45 -56
- package/resolver/app/transform/TransformHandler.js.map +1 -1
- package/resolver/app/transform/middleware.js +13 -20
- package/resolver/app/transform/middleware.js.map +1 -1
- package/resolver/app/utils/Retry.js +21 -24
- package/resolver/app/utils/Retry.js.map +1 -1
- package/resolver/app/utils/sleep.js +4 -5
- package/resolver/app/utils/sleep.js.map +1 -1
- package/resolver/app/validation/body.d.ts +24 -123
- package/resolver/app/validation/body.js +26 -31
- package/resolver/app/validation/body.js.map +1 -1
- package/resolver/app/validation/createJsonTransform.d.ts +1 -1
- package/resolver/app/validation/createJsonTransform.js +12 -13
- package/resolver/app/validation/createJsonTransform.js.map +1 -1
- package/resolver/app/validation/detail.d.ts +17 -70
- package/resolver/app/validation/detail.js +30 -35
- package/resolver/app/validation/detail.js.map +1 -1
- package/resolver/app/validation/event.d.ts +28 -187
- package/resolver/app/validation/event.js +17 -18
- package/resolver/app/validation/event.js.map +1 -1
- package/resolver/app/validation/numericString.d.ts +1 -1
- package/resolver/app/validation/numericString.js +8 -11
- package/resolver/app/validation/numericString.js.map +1 -1
- package/resolver/app/validation/system.d.ts +2 -14
- package/resolver/app/validation/system.js +8 -9
- package/resolver/app/validation/system.js.map +1 -1
- package/resolver/createEventHandlerPlugin.js +70 -99
- package/resolver/createEventHandlerPlugin.js.map +1 -1
- package/resolver/createResolverHandler.js +49 -57
- package/resolver/createResolverHandler.js.map +1 -1
- package/resolver/deployment/Deployment.js +28 -37
- package/resolver/deployment/Deployment.js.map +1 -1
- package/resolver/deployment/Deployments.js +20 -23
- package/resolver/deployment/Deployments.js.map +1 -1
- package/resolver/deployment/DeploymentsFetcher.js +75 -86
- package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
- package/resolver/deployment/types.d.ts +0 -2
- package/resolver/deployment/types.js +0 -3
- package/resolver/lambda/LambdaTrigger.js +24 -26
- package/resolver/lambda/LambdaTrigger.js.map +1 -1
- package/resolver/plugins/CommandHandlerPlugin.js +16 -15
- package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
- package/resolver/plugins/StorerAfterEachPlugin.js +20 -19
- package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
- package/resolver/plugins/TransformRecordPlugin.js +19 -18
- package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
- package/resolver/recordTypes/fileManager/CopyFile.js +44 -67
- package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
- package/resolver/recordTypes/fileManager/DeleteFile.js +40 -58
- package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManager.js +5 -3
- package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +24 -35
- package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js +24 -35
- package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
- package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -27
- package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
- package/resolver/recordTypes/fileManager/types.js +0 -3
- package/resolver/recordTypes/users/CopyUser.js +44 -54
- package/resolver/recordTypes/users/CopyUser.js.map +1 -1
- package/resolver/recordTypes/users/DeleteUser.js +40 -51
- package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
- package/resolver/recordTypes/users/shouldBeHandled.js +10 -26
- package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
- package/resolver/recordTypes/users/types.js +0 -3
- package/resolver/recordTypes/users/users.js +5 -3
- package/resolver/recordTypes/users/users.js.map +1 -1
- package/resolver/recordTypes/users/usersOnDelete.js +23 -34
- package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
- package/resolver/recordTypes/users/usersOnPut.js +24 -35
- package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
- package/sync/FilterOutRecord.js +9 -17
- package/sync/FilterOutRecord.js.map +1 -1
- package/sync/attachToDynamoDbDocument.js +46 -65
- package/sync/attachToDynamoDbDocument.js.map +1 -1
- package/sync/createHandler.js +31 -40
- package/sync/createHandler.js.map +1 -1
- package/sync/createSendDataToEventBridgeOnRequestEnd.js +32 -37
- package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -1
- package/sync/createSyncSystem.js +24 -26
- package/sync/createSyncSystem.js.map +1 -1
- package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -76
- package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
- package/sync/handler/Handler.js +64 -76
- package/sync/handler/Handler.js.map +1 -1
- package/sync/handler/HandlerConverter.js +21 -29
- package/sync/handler/HandlerConverter.js.map +1 -1
- package/sync/handler/converter/BatchGetCommandConverter.js +12 -11
- package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
- package/sync/handler/converter/BatchWriteCommandConverter.js +12 -11
- package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
- package/sync/handler/converter/DeleteCommandConverter.js +12 -11
- package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
- package/sync/handler/converter/GetCommandConverter.js +12 -11
- package/sync/handler/converter/GetCommandConverter.js.map +1 -1
- package/sync/handler/converter/PutCommandConverter.js +12 -11
- package/sync/handler/converter/PutCommandConverter.js.map +1 -1
- package/sync/handler/converter/QueryCommandConverter.js +12 -11
- package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
- package/sync/handler/converter/ScanCommandConverter.js +12 -11
- package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
- package/sync/handler/converter/UpdateCommandConverter.js +12 -11
- package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
- package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -37
- package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/DeleteCommandValue.js +19 -16
- package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/NullCommandValue.js +8 -8
- package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/PutCommandValue.js +19 -16
- package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
- package/sync/handler/converter/commands/UpdateCommandValue.js +19 -16
- package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
- package/sync/handler/types.js +0 -3
- package/sync/plugins/FilterOutRecordPlugin.js +17 -19
- package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
- package/sync/requestPlugin.js +33 -48
- package/sync/requestPlugin.js.map +1 -1
- package/sync/types.js +0 -3
- package/sync/utils/getTableType.js +10 -11
- package/sync/utils/getTableType.js.map +1 -1
- package/sync/utils/manifest.d.ts +1 -1
- package/sync/utils/manifest.js +28 -35
- package/sync/utils/manifest.js.map +1 -1
- package/sync/utils/validateSystemInput.js +21 -29
- package/sync/utils/validateSystemInput.js.map +1 -1
- package/types.d.ts +0 -1
- package/types.js +6 -6
- package/types.js.map +1 -1
- package/utils/createSystemName.js +5 -3
- package/utils/createSystemName.js.map +1 -1
- package/worker/actions/copyFile/CopyFile.js +183 -258
- package/worker/actions/copyFile/CopyFile.js.map +1 -1
- package/worker/actions/copyFile/copyFileAction.js +26 -34
- package/worker/actions/copyFile/copyFileAction.js.map +1 -1
- package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
- package/worker/actions/copyFile/copyFileSchema.js +13 -14
- package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
- package/worker/actions/copyFile/types.js +0 -3
- package/worker/actions/createUser/CreateUser.js +51 -74
- package/worker/actions/createUser/CreateUser.js.map +1 -1
- package/worker/actions/createUser/createUserAction.js +24 -28
- package/worker/actions/createUser/createUserAction.js.map +1 -1
- package/worker/actions/createUser/createUserSchema.d.ts +6 -38
- package/worker/actions/createUser/createUserSchema.js +13 -14
- package/worker/actions/createUser/createUserSchema.js.map +1 -1
- package/worker/actions/createUser/types.js +0 -3
- package/worker/actions/deleteFile/DeleteFile.js +52 -67
- package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
- package/worker/actions/deleteFile/deleteFileAction.js +21 -29
- package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
- package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
- package/worker/actions/deleteFile/deleteFileSchema.js +13 -14
- package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
- package/worker/actions/deleteFile/types.js +0 -3
- package/worker/actions/deleteUser/DeleteUser.js +38 -52
- package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
- package/worker/actions/deleteUser/deleteUserAction.js +22 -26
- package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
- package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
- package/worker/actions/deleteUser/deleteUserSchema.js +12 -13
- package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
- package/worker/actions/deleteUser/types.js +0 -3
- package/worker/actions/logValidationError.js +5 -6
- package/worker/actions/logValidationError.js.map +1 -1
- package/worker/actions/removeCognitoUserAttributes.js +9 -15
- package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
- package/worker/actions/updateUser/UpdateUser.js +48 -65
- package/worker/actions/updateUser/UpdateUser.js.map +1 -1
- package/worker/actions/updateUser/types.js +0 -3
- package/worker/actions/updateUser/updateUserAction.js +24 -28
- package/worker/actions/updateUser/updateUserAction.js.map +1 -1
- package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
- package/worker/actions/updateUser/updateUserSchema.js +13 -14
- package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
- package/worker/createWorkerHandler.js +24 -30
- package/worker/createWorkerHandler.js.map +1 -1
- package/worker/handler/WorkerActionHandler.js +19 -21
- package/worker/handler/WorkerActionHandler.js.map +1 -1
- package/worker/handler/eventHandler.js +14 -16
- package/worker/handler/eventHandler.js.map +1 -1
- package/worker/plugins/WorkerActionPlugin.js +17 -16
- package/worker/plugins/WorkerActionPlugin.js.map +1 -1
- package/worker/types.js +0 -3
- 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,74 +1,57 @@
|
|
|
1
1
|
import { AdminGetUserCommand, AdminUpdateUserAttributesCommand } from "@webiny/aws-sdk/client-cognito-identity-provider/index.js";
|
|
2
2
|
import { convertException } from "@webiny/utils/exception.js";
|
|
3
3
|
import { removeCognitoUserAttributes } from "../removeCognitoUserAttributes.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
async update(params) {
|
|
9
|
-
const {
|
|
10
|
-
sourceUserPoolId,
|
|
11
|
-
targetUserPoolId,
|
|
12
|
-
username,
|
|
13
|
-
targetRegion,
|
|
14
|
-
sourceRegion
|
|
15
|
-
} = params;
|
|
16
|
-
const sourceProvider = this.createCognitoProvider({
|
|
17
|
-
region: sourceRegion
|
|
18
|
-
});
|
|
19
|
-
const sourceUser = await this.getUser({
|
|
20
|
-
userPoolId: sourceUserPoolId,
|
|
21
|
-
username,
|
|
22
|
-
provider: sourceProvider
|
|
23
|
-
});
|
|
24
|
-
if (!sourceUser) {
|
|
25
|
-
throw new Error(`Source user "${username}" not found in pool "${sourceUserPoolId}".`);
|
|
4
|
+
class UpdateUser {
|
|
5
|
+
constructor(params){
|
|
6
|
+
this.createCognitoProvider = params.createCognitoProvider;
|
|
26
7
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
8
|
+
async update(params) {
|
|
9
|
+
const { sourceUserPoolId, targetUserPoolId, username, targetRegion, sourceRegion } = params;
|
|
10
|
+
const sourceProvider = this.createCognitoProvider({
|
|
11
|
+
region: sourceRegion
|
|
12
|
+
});
|
|
13
|
+
const sourceUser = await this.getUser({
|
|
14
|
+
userPoolId: sourceUserPoolId,
|
|
15
|
+
username,
|
|
16
|
+
provider: sourceProvider
|
|
17
|
+
});
|
|
18
|
+
if (!sourceUser) throw new Error(`Source user "${username}" not found in pool "${sourceUserPoolId}".`);
|
|
19
|
+
const targetProvider = this.createCognitoProvider({
|
|
20
|
+
region: targetRegion
|
|
21
|
+
});
|
|
22
|
+
const targetUser = await this.getUser({
|
|
23
|
+
userPoolId: targetUserPoolId,
|
|
24
|
+
username,
|
|
25
|
+
provider: targetProvider
|
|
26
|
+
});
|
|
27
|
+
if (!targetUser) throw new Error(`Target user "${username}" does not exist in pool "${targetUserPoolId}".`);
|
|
28
|
+
const input = {
|
|
29
|
+
UserAttributes: removeCognitoUserAttributes(sourceUser.UserAttributes || []),
|
|
30
|
+
UserPoolId: targetUserPoolId,
|
|
31
|
+
Username: username
|
|
32
|
+
};
|
|
33
|
+
const cmd = new AdminUpdateUserAttributesCommand(input);
|
|
34
|
+
try {
|
|
35
|
+
await targetProvider.send(cmd);
|
|
36
|
+
} catch (ex) {
|
|
37
|
+
console.error(`Failed to update user "${username}" in pool "${targetUserPoolId}". More info in next log line.`);
|
|
38
|
+
console.log(convertException(ex));
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
async getUser(params) {
|
|
42
|
+
const { userPoolId, username, provider } = params;
|
|
43
|
+
const input = {
|
|
44
|
+
UserPoolId: userPoolId,
|
|
45
|
+
Username: username
|
|
46
|
+
};
|
|
47
|
+
const cmd = new AdminGetUserCommand(input);
|
|
48
|
+
try {
|
|
49
|
+
const result = await provider.send(cmd);
|
|
50
|
+
if (result.$metadata?.httpStatusCode === 200) return result;
|
|
51
|
+
} catch {}
|
|
52
|
+
return null;
|
|
49
53
|
}
|
|
50
|
-
}
|
|
51
|
-
async getUser(params) {
|
|
52
|
-
const {
|
|
53
|
-
userPoolId,
|
|
54
|
-
username,
|
|
55
|
-
provider
|
|
56
|
-
} = params;
|
|
57
|
-
const input = {
|
|
58
|
-
UserPoolId: userPoolId,
|
|
59
|
-
Username: username
|
|
60
|
-
};
|
|
61
|
-
const cmd = new AdminGetUserCommand(input);
|
|
62
|
-
try {
|
|
63
|
-
const result = await provider.send(cmd);
|
|
64
|
-
if (result.$metadata?.httpStatusCode === 200) {
|
|
65
|
-
return result;
|
|
66
|
-
}
|
|
67
|
-
} catch {
|
|
68
|
-
//
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
54
|
}
|
|
55
|
+
export { UpdateUser };
|
|
73
56
|
|
|
74
57
|
//# sourceMappingURL=UpdateUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/updateUser/UpdateUser.js","sources":["../../../../src/worker/actions/updateUser/UpdateUser.ts"],"sourcesContent":["import type {\n AdminGetUserCommandInput,\n AdminGetUserCommandOutput,\n AdminUpdateUserAttributesCommandInput,\n CognitoIdentityProvider,\n CognitoIdentityProviderClientConfig\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport {\n AdminGetUserCommand,\n AdminUpdateUserAttributesCommand\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { convertException } from \"@webiny/utils/exception.js\";\nimport { removeCognitoUserAttributes } from \"~/worker/actions/removeCognitoUserAttributes.js\";\n\nexport interface IUpdateUserParams {\n createCognitoProvider: (\n config: Partial<CognitoIdentityProviderClientConfig>\n ) => Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport interface IUpdateUserUpdateParams {\n username: string;\n sourceRegion: string;\n targetRegion: string;\n sourceUserPoolId: string;\n targetUserPoolId: string;\n}\n\ninterface IUpdateUserGetUserParams {\n userPoolId: string;\n username: string;\n provider: Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport class UpdateUser {\n private readonly createCognitoProvider: (\n config: Partial<CognitoIdentityProviderClientConfig>\n ) => Pick<CognitoIdentityProvider, \"send\">;\n\n public constructor(params: IUpdateUserParams) {\n this.createCognitoProvider = params.createCognitoProvider;\n }\n\n public async update(params: IUpdateUserUpdateParams): Promise<void> {\n const { sourceUserPoolId, targetUserPoolId, username, targetRegion, sourceRegion } = params;\n\n const sourceProvider = this.createCognitoProvider({\n region: sourceRegion\n });\n\n const sourceUser = await this.getUser({\n userPoolId: sourceUserPoolId,\n username,\n provider: sourceProvider\n });\n if (!sourceUser) {\n throw new Error(`Source user \"${username}\" not found in pool \"${sourceUserPoolId}\".`);\n }\n const targetProvider = this.createCognitoProvider({\n region: targetRegion\n });\n const targetUser = await this.getUser({\n userPoolId: targetUserPoolId,\n username,\n provider: targetProvider\n });\n if (!targetUser) {\n throw new Error(\n `Target user \"${username}\" does not exist in pool \"${targetUserPoolId}\".`\n );\n }\n\n const input: AdminUpdateUserAttributesCommandInput = {\n UserAttributes: removeCognitoUserAttributes(sourceUser.UserAttributes || []),\n UserPoolId: targetUserPoolId,\n Username: username\n };\n\n const cmd = new AdminUpdateUserAttributesCommand(input);\n\n try {\n await targetProvider.send(cmd);\n } catch (ex) {\n console.error(\n `Failed to update user \"${username}\" in pool \"${targetUserPoolId}\". More info in next log line.`\n );\n console.log(convertException(ex));\n }\n }\n\n private async getUser(\n params: IUpdateUserGetUserParams\n ): Promise<AdminGetUserCommandOutput | null> {\n const { userPoolId, username, provider } = params;\n const input: AdminGetUserCommandInput = {\n UserPoolId: userPoolId,\n Username: username\n };\n\n const cmd = new AdminGetUserCommand(input);\n try {\n const result = await provider.send(cmd);\n if (result.$metadata?.httpStatusCode === 200) {\n return result;\n }\n } catch {\n //\n }\n return null;\n }\n}\n"],"names":["UpdateUser","params","sourceUserPoolId","targetUserPoolId","username","targetRegion","sourceRegion","sourceProvider","sourceUser","Error","targetProvider","targetUser","input","removeCognitoUserAttributes","cmd","AdminUpdateUserAttributesCommand","ex","console","convertException","userPoolId","provider","AdminGetUserCommand","result"],"mappings":";;;AAkCO,MAAMA;IAKT,YAAmBC,MAAyB,CAAE;QAC1C,IAAI,CAAC,qBAAqB,GAAGA,OAAO,qBAAqB;IAC7D;IAEA,MAAa,OAAOA,MAA+B,EAAiB;QAChE,MAAM,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,YAAY,EAAE,GAAGL;QAErF,MAAMM,iBAAiB,IAAI,CAAC,qBAAqB,CAAC;YAC9C,QAAQD;QACZ;QAEA,MAAME,aAAa,MAAM,IAAI,CAAC,OAAO,CAAC;YAClC,YAAYN;YACZE;YACA,UAAUG;QACd;QACA,IAAI,CAACC,YACD,MAAM,IAAIC,MAAM,CAAC,aAAa,EAAEL,SAAS,qBAAqB,EAAEF,iBAAiB,EAAE,CAAC;QAExF,MAAMQ,iBAAiB,IAAI,CAAC,qBAAqB,CAAC;YAC9C,QAAQL;QACZ;QACA,MAAMM,aAAa,MAAM,IAAI,CAAC,OAAO,CAAC;YAClC,YAAYR;YACZC;YACA,UAAUM;QACd;QACA,IAAI,CAACC,YACD,MAAM,IAAIF,MACN,CAAC,aAAa,EAAEL,SAAS,0BAA0B,EAAED,iBAAiB,EAAE,CAAC;QAIjF,MAAMS,QAA+C;YACjD,gBAAgBC,4BAA4BL,WAAW,cAAc,IAAI,EAAE;YAC3E,YAAYL;YACZ,UAAUC;QACd;QAEA,MAAMU,MAAM,IAAIC,iCAAiCH;QAEjD,IAAI;YACA,MAAMF,eAAe,IAAI,CAACI;QAC9B,EAAE,OAAOE,IAAI;YACTC,QAAQ,KAAK,CACT,CAAC,uBAAuB,EAAEb,SAAS,WAAW,EAAED,iBAAiB,8BAA8B,CAAC;YAEpGc,QAAQ,GAAG,CAACC,iBAAiBF;QACjC;IACJ;IAEA,MAAc,QACVf,MAAgC,EACS;QACzC,MAAM,EAAEkB,UAAU,EAAEf,QAAQ,EAAEgB,QAAQ,EAAE,GAAGnB;QAC3C,MAAMW,QAAkC;YACpC,YAAYO;YACZ,UAAUf;QACd;QAEA,MAAMU,MAAM,IAAIO,oBAAoBT;QACpC,IAAI;YACA,MAAMU,SAAS,MAAMF,SAAS,IAAI,CAACN;YACnC,IAAIQ,OAAO,SAAS,EAAE,mBAAmB,KACrC,OAAOA;QAEf,EAAE,OAAM,CAER;QACA,OAAO;IACX;AACJ"}
|
|
@@ -2,34 +2,30 @@ import { createWorkerActionPlugin } from "../../plugins/WorkerActionPlugin.js";
|
|
|
2
2
|
import { createUpdateUserSchema } from "./updateUserSchema.js";
|
|
3
3
|
import { UpdateUser } from "./UpdateUser.js";
|
|
4
4
|
import { logValidationError } from "../logValidationError.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
targetRegion: data.target.region,
|
|
29
|
-
targetUserPoolId: data.target.userPoolId
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
});
|
|
5
|
+
const createUpdateUserAction = (params)=>{
|
|
6
|
+
const updateUser = new UpdateUser({
|
|
7
|
+
createCognitoProvider: params.createCognitoProvider
|
|
8
|
+
});
|
|
9
|
+
return createWorkerActionPlugin({
|
|
10
|
+
name: "sync.worker.action.updateUser",
|
|
11
|
+
parse: (input)=>{
|
|
12
|
+
const schema = createUpdateUserSchema();
|
|
13
|
+
const result = schema.safeParse(input);
|
|
14
|
+
if (!result.success || result.error) return void logValidationError(result.error);
|
|
15
|
+
return result.data;
|
|
16
|
+
},
|
|
17
|
+
async handle (params) {
|
|
18
|
+
const { data } = params;
|
|
19
|
+
return updateUser.update({
|
|
20
|
+
username: data.username,
|
|
21
|
+
sourceRegion: data.source.region,
|
|
22
|
+
sourceUserPoolId: data.source.userPoolId,
|
|
23
|
+
targetRegion: data.target.region,
|
|
24
|
+
targetUserPoolId: data.target.userPoolId
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
33
28
|
};
|
|
29
|
+
export { createUpdateUserAction };
|
|
34
30
|
|
|
35
31
|
//# sourceMappingURL=updateUserAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/updateUser/updateUserAction.js","sources":["../../../../src/worker/actions/updateUser/updateUserAction.ts"],"sourcesContent":["import { createWorkerActionPlugin } from \"~/worker/plugins/WorkerActionPlugin.js\";\nimport type { IUpdateUserActionEvent } from \"~/worker/actions/updateUser/types.js\";\nimport { createUpdateUserSchema } from \"./updateUserSchema.js\";\nimport type {\n CognitoIdentityProvider,\n CognitoIdentityProviderClientConfig\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { UpdateUser } from \"~/worker/actions/updateUser/UpdateUser.js\";\nimport { logValidationError } from \"~/worker/actions/logValidationError.js\";\n\nexport interface ICreateUpdateUserActionParams {\n createCognitoProvider(\n config: Partial<CognitoIdentityProviderClientConfig>\n ): Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport const createUpdateUserAction = (params: ICreateUpdateUserActionParams) => {\n const updateUser = new UpdateUser({\n createCognitoProvider: params.createCognitoProvider\n });\n return createWorkerActionPlugin<IUpdateUserActionEvent>({\n name: \"sync.worker.action.updateUser\",\n parse: input => {\n const schema = createUpdateUserSchema();\n\n const result = schema.safeParse(input);\n if (!result.success || result.error) {\n logValidationError(result.error);\n return undefined;\n }\n return result.data;\n },\n async handle(params) {\n const { data } = params;\n return updateUser.update({\n username: data.username,\n sourceRegion: data.source.region,\n sourceUserPoolId: data.source.userPoolId,\n targetRegion: data.target.region,\n targetUserPoolId: data.target.userPoolId\n });\n }\n });\n};\n"],"names":["createUpdateUserAction","params","updateUser","UpdateUser","createWorkerActionPlugin","input","schema","createUpdateUserSchema","result","logValidationError","data"],"mappings":";;;;AAgBO,MAAMA,yBAAyB,CAACC;IACnC,MAAMC,aAAa,IAAIC,WAAW;QAC9B,uBAAuBF,OAAO,qBAAqB;IACvD;IACA,OAAOG,yBAAiD;QACpD,MAAM;QACN,OAAOC,CAAAA;YACH,MAAMC,SAASC;YAEf,MAAMC,SAASF,OAAO,SAAS,CAACD;YAChC,IAAI,CAACG,OAAO,OAAO,IAAIA,OAAO,KAAK,EAAE,YACjCC,mBAAmBD,OAAO,KAAK;YAGnC,OAAOA,OAAO,IAAI;QACtB;QACA,MAAM,QAAOP,MAAM;YACf,MAAM,EAAES,IAAI,EAAE,GAAGT;YACjB,OAAOC,WAAW,MAAM,CAAC;gBACrB,UAAUQ,KAAK,QAAQ;gBACvB,cAAcA,KAAK,MAAM,CAAC,MAAM;gBAChC,kBAAkBA,KAAK,MAAM,CAAC,UAAU;gBACxC,cAAcA,KAAK,MAAM,CAAC,MAAM;gBAChC,kBAAkBA,KAAK,MAAM,CAAC,UAAU;YAC5C;QACJ;IACJ;AACJ"}
|
|
@@ -1,47 +1,15 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
2
|
export declare const createUpdateUserSchema: () => zod.ZodObject<{
|
|
3
|
-
action: zod.ZodEnum<
|
|
3
|
+
action: zod.ZodEnum<{
|
|
4
|
+
updateUser: "updateUser";
|
|
5
|
+
}>;
|
|
4
6
|
username: zod.ZodString;
|
|
5
7
|
source: zod.ZodObject<{
|
|
6
8
|
userPoolId: zod.ZodString;
|
|
7
9
|
region: zod.ZodString;
|
|
8
|
-
},
|
|
9
|
-
region: string;
|
|
10
|
-
userPoolId: string;
|
|
11
|
-
}, {
|
|
12
|
-
region: string;
|
|
13
|
-
userPoolId: string;
|
|
14
|
-
}>;
|
|
10
|
+
}, zod.core.$strip>;
|
|
15
11
|
target: zod.ZodObject<{
|
|
16
12
|
userPoolId: zod.ZodString;
|
|
17
13
|
region: zod.ZodString;
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
userPoolId: string;
|
|
21
|
-
}, {
|
|
22
|
-
region: string;
|
|
23
|
-
userPoolId: string;
|
|
24
|
-
}>;
|
|
25
|
-
}, "strip", zod.ZodTypeAny, {
|
|
26
|
-
action: "updateUser";
|
|
27
|
-
source: {
|
|
28
|
-
region: string;
|
|
29
|
-
userPoolId: string;
|
|
30
|
-
};
|
|
31
|
-
target: {
|
|
32
|
-
region: string;
|
|
33
|
-
userPoolId: string;
|
|
34
|
-
};
|
|
35
|
-
username: string;
|
|
36
|
-
}, {
|
|
37
|
-
action: "updateUser";
|
|
38
|
-
source: {
|
|
39
|
-
region: string;
|
|
40
|
-
userPoolId: string;
|
|
41
|
-
};
|
|
42
|
-
target: {
|
|
43
|
-
region: string;
|
|
44
|
-
userPoolId: string;
|
|
45
|
-
};
|
|
46
|
-
username: string;
|
|
47
|
-
}>;
|
|
14
|
+
}, zod.core.$strip>;
|
|
15
|
+
}, zod.core.$strip>;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
|
-
const createDataSchema = type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
2
|
+
const createDataSchema = (type)=>zod.object({
|
|
3
|
+
userPoolId: zod.string().min(1, `${type} UserPoolId is required.`),
|
|
4
|
+
region: zod.string().min(1, `${type} Region is required.`)
|
|
5
|
+
});
|
|
6
|
+
const createUpdateUserSchema = ()=>zod.object({
|
|
7
|
+
action: zod["enum"]([
|
|
8
|
+
"updateUser"
|
|
9
|
+
]),
|
|
10
|
+
username: zod.string().min(1, "Username is required."),
|
|
11
|
+
source: createDataSchema("Source"),
|
|
12
|
+
target: createDataSchema("Target")
|
|
13
|
+
});
|
|
14
|
+
export { createUpdateUserSchema };
|
|
16
15
|
|
|
17
16
|
//# sourceMappingURL=updateUserSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/updateUser/updateUserSchema.js","sources":["../../../../src/worker/actions/updateUser/updateUserSchema.ts"],"sourcesContent":["import zod from \"zod\";\n\nconst createDataSchema = (type: string) => {\n return zod.object({\n userPoolId: zod.string().min(1, `${type} UserPoolId is required.`),\n region: zod.string().min(1, `${type} Region is required.`)\n });\n};\nexport const createUpdateUserSchema = () => {\n return zod.object({\n action: zod.enum([\"updateUser\"]),\n username: zod.string().min(1, \"Username is required.\"),\n source: createDataSchema(\"Source\"),\n target: createDataSchema(\"Target\")\n });\n};\n"],"names":["createDataSchema","type","zod","createUpdateUserSchema"],"mappings":";AAEA,MAAMA,mBAAmB,CAACC,OACfC,IAAI,MAAM,CAAC;QACd,YAAYA,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,GAAGD,KAAK,wBAAwB,CAAC;QACjE,QAAQC,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,GAAGD,KAAK,oBAAoB,CAAC;IAC7D;AAEG,MAAME,yBAAyB,IAC3BD,IAAI,MAAM,CAAC;QACd,QAAQA,GAAG,CAAHA,OAAQ,CAAC;YAAC;SAAa;QAC/B,UAAUA,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG;QAC9B,QAAQF,iBAAiB;QACzB,QAAQA,iBAAiB;IAC7B"}
|
|
@@ -6,36 +6,30 @@ import { createDeleteFileAction } from "./actions/deleteFile/deleteFileAction.js
|
|
|
6
6
|
import { createCreateUserAction } from "./actions/createUser/createUserAction.js";
|
|
7
7
|
import { createUpdateUserAction } from "./actions/updateUser/updateUserAction.js";
|
|
8
8
|
import { createDeleteUserAction } from "./actions/deleteUser/deleteUserAction.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
createCognitoProvider: createCognitoIdentityProviderClient
|
|
33
|
-
}));
|
|
34
|
-
plugins.register(createEventHandlerPlugin());
|
|
35
|
-
return createHandler({
|
|
36
|
-
...params,
|
|
37
|
-
plugins
|
|
38
|
-
});
|
|
9
|
+
const createWorkerHandler = (params)=>{
|
|
10
|
+
const { createS3Client, createCognitoIdentityProviderClient } = params;
|
|
11
|
+
const plugins = new PluginsContainer(params.plugins || []);
|
|
12
|
+
plugins.register(createCopyFileAction({
|
|
13
|
+
createS3Client
|
|
14
|
+
}));
|
|
15
|
+
plugins.register(createDeleteFileAction({
|
|
16
|
+
createS3Client
|
|
17
|
+
}));
|
|
18
|
+
plugins.register(createCreateUserAction({
|
|
19
|
+
createCognitoProvider: createCognitoIdentityProviderClient
|
|
20
|
+
}));
|
|
21
|
+
plugins.register(createUpdateUserAction({
|
|
22
|
+
createCognitoProvider: createCognitoIdentityProviderClient
|
|
23
|
+
}));
|
|
24
|
+
plugins.register(createDeleteUserAction({
|
|
25
|
+
createCognitoProvider: createCognitoIdentityProviderClient
|
|
26
|
+
}));
|
|
27
|
+
plugins.register(createEventHandlerPlugin());
|
|
28
|
+
return createHandler({
|
|
29
|
+
...params,
|
|
30
|
+
plugins
|
|
31
|
+
});
|
|
39
32
|
};
|
|
33
|
+
export { createWorkerHandler };
|
|
40
34
|
|
|
41
35
|
//# sourceMappingURL=createWorkerHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/createWorkerHandler.js","sources":["../../src/worker/createWorkerHandler.ts"],"sourcesContent":["import type { CreateHandlerParams } from \"@webiny/handler-aws/raw/index.js\";\nimport { createHandler } from \"@webiny/handler-aws/raw/index.js\";\nimport { createEventHandlerPlugin } from \"./handler/eventHandler.js\";\nimport { PluginsContainer } from \"@webiny/plugins/PluginsContainer.js\";\nimport type { Plugin } from \"@webiny/plugins/types.js\";\nimport { createCopyFileAction } from \"~/worker/actions/copyFile/copyFileAction.js\";\nimport { createDeleteFileAction } from \"~/worker/actions/deleteFile/deleteFileAction.js\";\nimport type { S3Client, S3ClientConfig } from \"@webiny/aws-sdk/client-s3/index.js\";\nimport { createCreateUserAction } from \"~/worker/actions/createUser/createUserAction.js\";\nimport { createUpdateUserAction } from \"~/worker/actions/updateUser/updateUserAction.js\";\nimport {\n type CognitoIdentityProvider,\n type CognitoIdentityProviderClientConfig\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { createDeleteUserAction } from \"~/worker/actions/deleteUser/deleteUserAction.js\";\n\nexport type IAllowedWorkerHandlerPlugins = Plugin[];\n\nexport interface IWorkerHandlerParams extends Omit<CreateHandlerParams, \"plugins\"> {\n plugins?: IAllowedWorkerHandlerPlugins[];\n createS3Client: (params: S3ClientConfig) => Pick<S3Client, \"send\">;\n createCognitoIdentityProviderClient(\n input: CognitoIdentityProviderClientConfig\n ): Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport const createWorkerHandler = (params: IWorkerHandlerParams) => {\n const { createS3Client, createCognitoIdentityProviderClient } = params;\n const plugins = new PluginsContainer(params.plugins || []);\n\n /**\n * Default action plugins are registered here.\n */\n plugins.register(\n createCopyFileAction({\n createS3Client\n })\n );\n plugins.register(\n createDeleteFileAction({\n createS3Client\n })\n );\n plugins.register(\n createCreateUserAction({\n createCognitoProvider: createCognitoIdentityProviderClient\n })\n );\n plugins.register(\n createUpdateUserAction({\n createCognitoProvider: createCognitoIdentityProviderClient\n })\n );\n plugins.register(\n createDeleteUserAction({\n createCognitoProvider: createCognitoIdentityProviderClient\n })\n );\n\n plugins.register(createEventHandlerPlugin());\n return createHandler({\n ...params,\n plugins\n });\n};\n"],"names":["createWorkerHandler","params","createS3Client","createCognitoIdentityProviderClient","plugins","PluginsContainer","createCopyFileAction","createDeleteFileAction","createCreateUserAction","createUpdateUserAction","createDeleteUserAction","createEventHandlerPlugin","createHandler"],"mappings":";;;;;;;;AA0BO,MAAMA,sBAAsB,CAACC;IAChC,MAAM,EAAEC,cAAc,EAAEC,mCAAmC,EAAE,GAAGF;IAChE,MAAMG,UAAU,IAAIC,iBAAiBJ,OAAO,OAAO,IAAI,EAAE;IAKzDG,QAAQ,QAAQ,CACZE,qBAAqB;QACjBJ;IACJ;IAEJE,QAAQ,QAAQ,CACZG,uBAAuB;QACnBL;IACJ;IAEJE,QAAQ,QAAQ,CACZI,uBAAuB;QACnB,uBAAuBL;IAC3B;IAEJC,QAAQ,QAAQ,CACZK,uBAAuB;QACnB,uBAAuBN;IAC3B;IAEJC,QAAQ,QAAQ,CACZM,uBAAuB;QACnB,uBAAuBP;IAC3B;IAGJC,QAAQ,QAAQ,CAACO;IACjB,OAAOC,cAAc;QACjB,GAAGX,MAAM;QACTG;IACJ;AACJ"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import { WebinyError } from "@webiny/error";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
class WorkerActionHandler {
|
|
3
|
+
constructor(params){
|
|
4
|
+
this.plugins = params.plugins;
|
|
5
|
+
}
|
|
6
|
+
async handle(payload) {
|
|
7
|
+
for (const plugin of this.plugins){
|
|
8
|
+
const data = plugin.parse(payload);
|
|
9
|
+
if (data) return await plugin.handle({
|
|
10
|
+
data
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
throw new WebinyError({
|
|
14
|
+
message: "Unsupported action on payload.",
|
|
15
|
+
code: "UNSUPPORTED_ACTION",
|
|
16
|
+
data: {
|
|
17
|
+
payload
|
|
18
|
+
}
|
|
19
|
+
});
|
|
15
20
|
}
|
|
16
|
-
throw new WebinyError({
|
|
17
|
-
message: "Unsupported action on payload.",
|
|
18
|
-
code: "UNSUPPORTED_ACTION",
|
|
19
|
-
data: {
|
|
20
|
-
payload
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
21
|
}
|
|
22
|
+
export { WorkerActionHandler };
|
|
25
23
|
|
|
26
24
|
//# sourceMappingURL=WorkerActionHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/handler/WorkerActionHandler.js","sources":["../../../src/worker/handler/WorkerActionHandler.ts"],"sourcesContent":["import type { IActionHandler } from \"~/worker/types.js\";\nimport type { WorkerActionPlugin } from \"~/worker/plugins/WorkerActionPlugin.js\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport interface IActionHandlerParams {\n plugins: WorkerActionPlugin[];\n}\n\nexport class WorkerActionHandler implements IActionHandler {\n private readonly plugins: WorkerActionPlugin[];\n\n public constructor(params: IActionHandlerParams) {\n this.plugins = params.plugins;\n }\n\n public async handle(payload: unknown): Promise<void> {\n for (const plugin of this.plugins) {\n const data = plugin.parse(payload);\n if (!data) {\n continue;\n }\n return await plugin.handle({\n data\n });\n }\n throw new WebinyError({\n message: \"Unsupported action on payload.\",\n code: \"UNSUPPORTED_ACTION\",\n data: {\n payload\n }\n });\n }\n}\n"],"names":["WorkerActionHandler","params","payload","plugin","data","WebinyError"],"mappings":";AAQO,MAAMA;IAGT,YAAmBC,MAA4B,CAAE;QAC7C,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO;IACjC;IAEA,MAAa,OAAOC,OAAgB,EAAiB;QACjD,KAAK,MAAMC,UAAU,IAAI,CAAC,OAAO,CAAE;YAC/B,MAAMC,OAAOD,OAAO,KAAK,CAACD;YAC1B,IAAKE,MAGL,OAAO,MAAMD,OAAO,MAAM,CAAC;gBACvBC;YACJ;QACJ;QACA,MAAM,IAAIC,YAAY;YAClB,SAAS;YACT,MAAM;YACN,MAAM;gBACFH;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -2,23 +2,21 @@ import { convertException } from "@webiny/utils";
|
|
|
2
2
|
import { WorkerActionHandler } from "./WorkerActionHandler.js";
|
|
3
3
|
import { createEventHandler } from "@webiny/handler-aws/raw/index.js";
|
|
4
4
|
import { WorkerActionPlugin } from "../plugins/WorkerActionPlugin.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
const createEventHandlerPlugin = ()=>{
|
|
6
|
+
const plugin = createEventHandler(async ({ payload, context })=>{
|
|
7
|
+
const handler = new WorkerActionHandler({
|
|
8
|
+
plugins: context.plugins.byType(WorkerActionPlugin.type)
|
|
9
|
+
});
|
|
10
|
+
try {
|
|
11
|
+
await handler.handle(payload);
|
|
12
|
+
} catch (ex) {
|
|
13
|
+
console.error("Error while handling action.");
|
|
14
|
+
console.log(convertException(ex));
|
|
15
|
+
}
|
|
12
16
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} catch (ex) {
|
|
16
|
-
console.error("Error while handling action.");
|
|
17
|
-
console.log(convertException(ex));
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
plugin.name = `sync.worker.eventHandler`;
|
|
21
|
-
return plugin;
|
|
17
|
+
plugin.name = "sync.worker.eventHandler";
|
|
18
|
+
return plugin;
|
|
22
19
|
};
|
|
20
|
+
export { createEventHandlerPlugin };
|
|
23
21
|
|
|
24
22
|
//# sourceMappingURL=eventHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/handler/eventHandler.js","sources":["../../../src/worker/handler/eventHandler.ts"],"sourcesContent":["import { convertException } from \"@webiny/utils\";\nimport { WorkerActionHandler } from \"./WorkerActionHandler.js\";\nimport { createEventHandler } from \"@webiny/handler-aws/raw/index.js\";\nimport { WorkerActionPlugin } from \"../plugins/WorkerActionPlugin.js\";\n\nexport const createEventHandlerPlugin = () => {\n const plugin = createEventHandler<unknown>(async ({ payload, context }) => {\n const handler = new WorkerActionHandler({\n plugins: context.plugins.byType<WorkerActionPlugin>(WorkerActionPlugin.type)\n });\n\n try {\n await handler.handle(payload);\n } catch (ex) {\n console.error(\"Error while handling action.\");\n console.log(convertException(ex));\n }\n });\n\n plugin.name = `sync.worker.eventHandler`;\n\n return plugin;\n};\n"],"names":["createEventHandlerPlugin","plugin","createEventHandler","payload","context","handler","WorkerActionHandler","WorkerActionPlugin","ex","console","convertException"],"mappings":";;;;AAKO,MAAMA,2BAA2B;IACpC,MAAMC,SAASC,mBAA4B,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;QAClE,MAAMC,UAAU,IAAIC,oBAAoB;YACpC,SAASF,QAAQ,OAAO,CAAC,MAAM,CAAqBG,mBAAmB,IAAI;QAC/E;QAEA,IAAI;YACA,MAAMF,QAAQ,MAAM,CAACF;QACzB,EAAE,OAAOK,IAAI;YACTC,QAAQ,KAAK,CAAC;YACdA,QAAQ,GAAG,CAACC,iBAAiBF;QACjC;IACJ;IAEAP,OAAO,IAAI,GAAG;IAEd,OAAOA;AACX"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { Plugin } from "@webiny/plugins/Plugin.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
class WorkerActionPlugin extends Plugin {
|
|
3
|
+
static{
|
|
4
|
+
this.type = "sync.worker.action";
|
|
5
|
+
}
|
|
6
|
+
constructor(action){
|
|
7
|
+
super();
|
|
8
|
+
this.name = action.name;
|
|
9
|
+
this.action = action;
|
|
10
|
+
}
|
|
11
|
+
parse(input) {
|
|
12
|
+
return this.action.parse(input);
|
|
13
|
+
}
|
|
14
|
+
handle(params) {
|
|
15
|
+
return this.action.handle(params);
|
|
16
|
+
}
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
18
|
+
const createWorkerActionPlugin = (action)=>new WorkerActionPlugin(action);
|
|
19
|
+
export { WorkerActionPlugin, createWorkerActionPlugin };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=WorkerActionPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/plugins/WorkerActionPlugin.js","sources":["../../../src/worker/plugins/WorkerActionPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/Plugin.js\";\nimport type { IWorkerAction, IWorkerActionHandleParams } from \"../types.js\";\n\nexport class WorkerActionPlugin<T = unknown> extends Plugin {\n public static override readonly type: string = \"sync.worker.action\";\n\n private readonly action: IWorkerAction<T>;\n\n public constructor(action: IWorkerAction<T>) {\n super();\n this.name = action.name;\n this.action = action;\n }\n\n public parse(input: unknown): T | undefined {\n return this.action.parse(input);\n }\n\n public handle(params: IWorkerActionHandleParams<T>): Promise<void> {\n return this.action.handle(params);\n }\n}\n\nexport const createWorkerActionPlugin = <T>(action: IWorkerAction<T>): WorkerActionPlugin<T> => {\n return new WorkerActionPlugin<T>(action);\n};\n"],"names":["WorkerActionPlugin","Plugin","action","input","params","createWorkerActionPlugin"],"mappings":";AAGO,MAAMA,2BAAwCC;;aACjB,IAAI,GAAW;;IAI/C,YAAmBC,MAAwB,CAAE;QACzC,KAAK;QACL,IAAI,CAAC,IAAI,GAAGA,OAAO,IAAI;QACvB,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEO,MAAMC,KAAc,EAAiB;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA;IAC7B;IAEO,OAAOC,MAAoC,EAAiB;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA;IAC9B;AACJ;AAEO,MAAMC,2BAA2B,CAAIH,SACjC,IAAIF,mBAAsBE"}
|
package/worker/types.js
CHANGED
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./worker/createWorkerHandler.js\";\nexport * from \"./sync/createSyncSystem.js\";\nexport * from \"./resolver/createResolverHandler.js\";\n"],"mappings":"AAAA;AACA;AACA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["RecordHandler.ts"],"sourcesContent":["import type { IIngestorResult } from \"~/resolver/app/ingestor/types.js\";\n\nexport interface IRecordHandlerHandleParams {\n data: IIngestorResult;\n}\n\nexport interface IRecordHandler {\n handle(params: IRecordHandlerHandleParams): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["RecordsValidation.ts"],"sourcesContent":["import type { SQSRecord } from \"@webiny/aws-sdk/types/index.js\";\nimport type { IResolverSQSRecord } from \"~/resolver/app/abstractions/ResolverRecord.js\";\n\nexport interface IRecordsValidationValid {\n records: IResolverSQSRecord[];\n error?: never;\n}\n\nexport interface IRecordsValidationError {\n records?: never;\n error: Error;\n}\n\nexport type IRecordsValidationResult = IRecordsValidationValid | IRecordsValidationError;\n\nexport interface IRecordsValidation {\n validate(records: SQSRecord[]): Promise<IRecordsValidationResult>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["ResolverApplication.ts"],"sourcesContent":["import type { SQSRecord } from \"@webiny/aws-sdk/types/index.js\";\n\nexport interface IResolverApplicationResolveParams {\n records: SQSRecord[];\n}\n\nexport interface IResolverApplication {\n resolve(params: IResolverApplicationResolveParams): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|