@webiny/api-sync-system 6.3.0 → 6.4.0-beta.1
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 +14 -14
- 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.js +26 -31
- package/resolver/app/validation/body.js.map +1 -1
- package/resolver/app/validation/createJsonTransform.js +12 -13
- package/resolver/app/validation/createJsonTransform.js.map +1 -1
- package/resolver/app/validation/detail.js +30 -35
- package/resolver/app/validation/detail.js.map +1 -1
- package/resolver/app/validation/event.js +17 -18
- package/resolver/app/validation/event.js.map +1 -1
- package/resolver/app/validation/numericString.js +8 -11
- package/resolver/app/validation/numericString.js.map +1 -1
- 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 -31
- 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 -84
- package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
- 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 -9
- package/sync/utils/getTableType.js.map +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.js +6 -5
- 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.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.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.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.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.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,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
|
+
bucket: zod.string().min(1, `${type} Bucket is required.`),
|
|
4
|
+
region: zod.string().min(1, `${type} Region is required.`)
|
|
5
|
+
});
|
|
6
|
+
const createDeleteFileSchema = ()=>zod.object({
|
|
7
|
+
action: zod["enum"]([
|
|
8
|
+
"deleteFile"
|
|
9
|
+
]),
|
|
10
|
+
key: zod.string().min(1, "Key is required."),
|
|
11
|
+
source: createDataSchema("Source"),
|
|
12
|
+
target: createDataSchema("Target")
|
|
13
|
+
});
|
|
14
|
+
export { createDeleteFileSchema };
|
|
16
15
|
|
|
17
16
|
//# sourceMappingURL=deleteFileSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/deleteFile/deleteFileSchema.js","sources":["../../../../src/worker/actions/deleteFile/deleteFileSchema.ts"],"sourcesContent":["import zod from \"zod\";\n\nconst createDataSchema = (type: string) => {\n return zod.object({\n bucket: zod.string().min(1, `${type} Bucket is required.`),\n region: zod.string().min(1, `${type} Region is required.`)\n });\n};\nexport const createDeleteFileSchema = () => {\n return zod.object({\n action: zod.enum([\"deleteFile\"]),\n key: zod.string().min(1, \"Key is required.\"),\n source: createDataSchema(\"Source\"),\n target: createDataSchema(\"Target\")\n });\n};\n"],"names":["createDataSchema","type","zod","createDeleteFileSchema"],"mappings":";AAEA,MAAMA,mBAAmB,CAACC,OACfC,IAAI,MAAM,CAAC;QACd,QAAQA,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,GAAGD,KAAK,oBAAoB,CAAC;QACzD,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,KAAKA,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG;QACzB,QAAQF,iBAAiB;QACzB,QAAQA,iBAAiB;IAC7B"}
|
|
@@ -1,60 +1,46 @@
|
|
|
1
1
|
import { AdminDeleteUserCommand, AdminGetUserCommand } from "@webiny/aws-sdk/client-cognito-identity-provider/index.js";
|
|
2
2
|
import { convertException } from "@webiny/utils/exception.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
async delete(params) {
|
|
8
|
-
const {
|
|
9
|
-
userPoolId,
|
|
10
|
-
username,
|
|
11
|
-
region
|
|
12
|
-
} = params;
|
|
13
|
-
const provider = this.createCognitoProvider({
|
|
14
|
-
region
|
|
15
|
-
});
|
|
16
|
-
const user = await this.getUser({
|
|
17
|
-
userPoolId,
|
|
18
|
-
username,
|
|
19
|
-
provider
|
|
20
|
-
});
|
|
21
|
-
if (!user) {
|
|
22
|
-
console.log(`Target user "${username}" does not exist in pool "${userPoolId}".`);
|
|
23
|
-
return;
|
|
3
|
+
class DeleteUser {
|
|
4
|
+
constructor(params){
|
|
5
|
+
this.createCognitoProvider = params.createCognitoProvider;
|
|
24
6
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
7
|
+
async delete(params) {
|
|
8
|
+
const { userPoolId, username, region } = params;
|
|
9
|
+
const provider = this.createCognitoProvider({
|
|
10
|
+
region
|
|
11
|
+
});
|
|
12
|
+
const user = await this.getUser({
|
|
13
|
+
userPoolId,
|
|
14
|
+
username,
|
|
15
|
+
provider
|
|
16
|
+
});
|
|
17
|
+
if (!user) return void console.log(`Target user "${username}" does not exist in pool "${userPoolId}".`);
|
|
18
|
+
const input = {
|
|
19
|
+
UserPoolId: userPoolId,
|
|
20
|
+
Username: username
|
|
21
|
+
};
|
|
22
|
+
const cmd = new AdminDeleteUserCommand(input);
|
|
23
|
+
try {
|
|
24
|
+
await provider.send(cmd);
|
|
25
|
+
} catch (ex) {
|
|
26
|
+
console.error(`Failed to delete user "${username}" in pool "${userPoolId}". More info in next log line.`);
|
|
27
|
+
console.log(convertException(ex));
|
|
28
|
+
}
|
|
35
29
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
const result = await provider.send(cmd);
|
|
50
|
-
if (result.$metadata?.httpStatusCode === 200) {
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
} catch {
|
|
54
|
-
//
|
|
30
|
+
async getUser(params) {
|
|
31
|
+
const { userPoolId, username, provider } = params;
|
|
32
|
+
const input = {
|
|
33
|
+
UserPoolId: userPoolId,
|
|
34
|
+
Username: username
|
|
35
|
+
};
|
|
36
|
+
const cmd = new AdminGetUserCommand(input);
|
|
37
|
+
try {
|
|
38
|
+
const result = await provider.send(cmd);
|
|
39
|
+
if (result.$metadata?.httpStatusCode === 200) return result;
|
|
40
|
+
} catch {}
|
|
41
|
+
return null;
|
|
55
42
|
}
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
43
|
}
|
|
44
|
+
export { DeleteUser };
|
|
59
45
|
|
|
60
46
|
//# sourceMappingURL=DeleteUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/deleteUser/DeleteUser.js","sources":["../../../../src/worker/actions/deleteUser/DeleteUser.ts"],"sourcesContent":["import type { CognitoIdentityProviderClientConfig } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport {\n AdminDeleteUserCommand,\n type AdminDeleteUserCommandInput,\n AdminGetUserCommand,\n type AdminGetUserCommandInput,\n type AdminGetUserCommandOutput,\n type CognitoIdentityProvider\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { convertException } from \"@webiny/utils/exception.js\";\n\nexport interface IDeleteUserParams {\n createCognitoProvider: (\n config: Partial<CognitoIdentityProviderClientConfig>\n ) => Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport interface IDeleteUserDeleteParams {\n username: string;\n region: string;\n userPoolId: string;\n}\n\ninterface IDeleteUserGetUserParams {\n userPoolId: string;\n username: string;\n provider: Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport class DeleteUser {\n private readonly createCognitoProvider: (\n config: Partial<CognitoIdentityProviderClientConfig>\n ) => Pick<CognitoIdentityProvider, \"send\">;\n\n public constructor(params: IDeleteUserParams) {\n this.createCognitoProvider = params.createCognitoProvider;\n }\n\n public async delete(params: IDeleteUserDeleteParams): Promise<void> {\n const { userPoolId, username, region } = params;\n\n const provider = this.createCognitoProvider({\n region\n });\n const user = await this.getUser({\n userPoolId,\n username,\n provider\n });\n if (!user) {\n console.log(`Target user \"${username}\" does not exist in pool \"${userPoolId}\".`);\n return;\n }\n\n const input: AdminDeleteUserCommandInput = {\n UserPoolId: userPoolId,\n Username: username\n };\n\n const cmd = new AdminDeleteUserCommand(input);\n try {\n await provider.send(cmd);\n } catch (ex) {\n console.error(\n `Failed to delete user \"${username}\" in pool \"${userPoolId}\". More info in next log line.`\n );\n console.log(convertException(ex));\n }\n }\n\n private async getUser(\n params: IDeleteUserGetUserParams\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\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":["DeleteUser","params","userPoolId","username","region","provider","user","console","input","cmd","AdminDeleteUserCommand","ex","convertException","AdminGetUserCommand","result"],"mappings":";;AA6BO,MAAMA;IAKT,YAAmBC,MAAyB,CAAE;QAC1C,IAAI,CAAC,qBAAqB,GAAGA,OAAO,qBAAqB;IAC7D;IAEA,MAAa,OAAOA,MAA+B,EAAiB;QAChE,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGH;QAEzC,MAAMI,WAAW,IAAI,CAAC,qBAAqB,CAAC;YACxCD;QACJ;QACA,MAAME,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YAC5BJ;YACAC;YACAE;QACJ;QACA,IAAI,CAACC,MAAM,YACPC,QAAQ,GAAG,CAAC,CAAC,aAAa,EAAEJ,SAAS,0BAA0B,EAAED,WAAW,EAAE,CAAC;QAInF,MAAMM,QAAqC;YACvC,YAAYN;YACZ,UAAUC;QACd;QAEA,MAAMM,MAAM,IAAIC,uBAAuBF;QACvC,IAAI;YACA,MAAMH,SAAS,IAAI,CAACI;QACxB,EAAE,OAAOE,IAAI;YACTJ,QAAQ,KAAK,CACT,CAAC,uBAAuB,EAAEJ,SAAS,WAAW,EAAED,WAAW,8BAA8B,CAAC;YAE9FK,QAAQ,GAAG,CAACK,iBAAiBD;QACjC;IACJ;IAEA,MAAc,QACVV,MAAgC,EACS;QACzC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEE,QAAQ,EAAE,GAAGJ;QAC3C,MAAMO,QAAkC;YACpC,YAAYN;YACZ,UAAUC;QACd;QAEA,MAAMM,MAAM,IAAII,oBAAoBL;QAEpC,IAAI;YACA,MAAMM,SAAS,MAAMT,SAAS,IAAI,CAACI;YACnC,IAAIK,OAAO,SAAS,EAAE,mBAAmB,KACrC,OAAOA;QAEf,EAAE,OAAM,CAER;QACA,OAAO;IACX;AACJ"}
|
|
@@ -2,32 +2,28 @@ import { createWorkerActionPlugin } from "../../plugins/WorkerActionPlugin.js";
|
|
|
2
2
|
import { createDeleteUserSchema } from "./deleteUserSchema.js";
|
|
3
3
|
import { DeleteUser } from "./DeleteUser.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
|
-
region: data.target.region,
|
|
27
|
-
userPoolId: data.target.userPoolId
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
5
|
+
const createDeleteUserAction = (params)=>{
|
|
6
|
+
const deleteUser = new DeleteUser({
|
|
7
|
+
createCognitoProvider: params.createCognitoProvider
|
|
8
|
+
});
|
|
9
|
+
return createWorkerActionPlugin({
|
|
10
|
+
name: "sync.worker.action.deleteUser",
|
|
11
|
+
parse: (input)=>{
|
|
12
|
+
const schema = createDeleteUserSchema();
|
|
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 deleteUser.delete({
|
|
20
|
+
username: data.username,
|
|
21
|
+
region: data.target.region,
|
|
22
|
+
userPoolId: data.target.userPoolId
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
31
26
|
};
|
|
27
|
+
export { createDeleteUserAction };
|
|
32
28
|
|
|
33
29
|
//# sourceMappingURL=deleteUserAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/deleteUser/deleteUserAction.js","sources":["../../../../src/worker/actions/deleteUser/deleteUserAction.ts"],"sourcesContent":["import { createWorkerActionPlugin } from \"~/worker/plugins/WorkerActionPlugin.js\";\nimport type { IDeleteUserActionEvent } from \"./types.js\";\nimport { createDeleteUserSchema } from \"./deleteUserSchema.js\";\nimport type {\n CognitoIdentityProvider,\n CognitoIdentityProviderClientConfig\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { DeleteUser } from \"./DeleteUser.js\";\nimport { logValidationError } from \"~/worker/actions/logValidationError.js\";\n\nexport interface ICreateDeleteUserActionParams {\n createCognitoProvider(\n config: Partial<CognitoIdentityProviderClientConfig>\n ): Pick<CognitoIdentityProvider, \"send\">;\n}\n\nexport const createDeleteUserAction = (params: ICreateDeleteUserActionParams) => {\n const deleteUser = new DeleteUser({\n createCognitoProvider: params.createCognitoProvider\n });\n return createWorkerActionPlugin<IDeleteUserActionEvent>({\n name: \"sync.worker.action.deleteUser\",\n parse: input => {\n const schema = createDeleteUserSchema();\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 deleteUser.delete({\n username: data.username,\n region: data.target.region,\n userPoolId: data.target.userPoolId\n });\n }\n });\n};\n"],"names":["createDeleteUserAction","params","deleteUser","DeleteUser","createWorkerActionPlugin","input","schema","createDeleteUserSchema","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,QAAQA,KAAK,MAAM,CAAC,MAAM;gBAC1B,YAAYA,KAAK,MAAM,CAAC,UAAU;YACtC;QACJ;IACJ;AACJ"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
|
-
const createDataSchema = type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
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 createDeleteUserSchema = ()=>zod.object({
|
|
7
|
+
action: zod["enum"]([
|
|
8
|
+
"deleteUser"
|
|
9
|
+
]),
|
|
10
|
+
username: zod.string().min(1, "Username is required."),
|
|
11
|
+
target: createDataSchema("Target")
|
|
12
|
+
});
|
|
13
|
+
export { createDeleteUserSchema };
|
|
15
14
|
|
|
16
15
|
//# sourceMappingURL=deleteUserSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/deleteUser/deleteUserSchema.js","sources":["../../../../src/worker/actions/deleteUser/deleteUserSchema.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 createDeleteUserSchema = () => {\n return zod.object({\n action: zod.enum([\"deleteUser\"]),\n username: zod.string().min(1, \"Username is required.\"),\n target: createDataSchema(\"Target\")\n });\n};\n"],"names":["createDataSchema","type","zod","createDeleteUserSchema"],"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;IAC7B"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { convertException, createZodError } from "@webiny/utils";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const ex = createZodError(error);
|
|
7
|
-
console.log(convertException(ex));
|
|
2
|
+
const logValidationError = (error)=>{
|
|
3
|
+
if ("true" !== process.env.DEBUG || !error) return;
|
|
4
|
+
const ex = createZodError(error);
|
|
5
|
+
console.log(convertException(ex));
|
|
8
6
|
};
|
|
7
|
+
export { logValidationError };
|
|
9
8
|
|
|
10
9
|
//# sourceMappingURL=logValidationError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/logValidationError.js","sources":["../../../src/worker/actions/logValidationError.ts"],"sourcesContent":["import type { ZodError } from \"zod\";\nimport { convertException, createZodError } from \"@webiny/utils\";\n\nexport const logValidationError = (error?: ZodError): void => {\n if (process.env.DEBUG !== \"true\" || !error) {\n return;\n }\n const ex = createZodError(error);\n console.log(convertException(ex));\n};\n"],"names":["logValidationError","error","process","ex","createZodError","console","convertException"],"mappings":";AAGO,MAAMA,qBAAqB,CAACC;IAC/B,IAAIC,AAAsB,WAAtBA,QAAQ,GAAG,CAAC,KAAK,IAAe,CAACD,OACjC;IAEJ,MAAME,KAAKC,eAAeH;IAC1BI,QAAQ,GAAG,CAACC,iBAAiBH;AACjC"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (removeAttributes.includes(name)) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
});
|
|
15
|
-
};
|
|
1
|
+
const removeAttributes = [
|
|
2
|
+
"sub"
|
|
3
|
+
];
|
|
4
|
+
const removeCognitoUserAttributes = (attributes)=>attributes.filter((attr)=>{
|
|
5
|
+
const name = (attr.Name || "").toLowerCase();
|
|
6
|
+
if (removeAttributes.includes(name)) return false;
|
|
7
|
+
return true;
|
|
8
|
+
});
|
|
9
|
+
export { removeCognitoUserAttributes };
|
|
16
10
|
|
|
17
11
|
//# sourceMappingURL=removeCognitoUserAttributes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"worker/actions/removeCognitoUserAttributes.js","sources":["../../../src/worker/actions/removeCognitoUserAttributes.ts"],"sourcesContent":["/**\n * We need to remove some of the attributes from the Cognito user object before we store it via the Sync System.\n * sub - not allowed to be set by our code\n */\nimport type { AttributeType } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\n\nconst removeAttributes: string[] = [\"sub\"];\n\nexport const removeCognitoUserAttributes = (attributes: AttributeType[]): AttributeType[] => {\n return attributes.filter(attr => {\n const name = (attr.Name || \"\").toLowerCase();\n if (removeAttributes.includes(name)) {\n return false;\n }\n return true;\n });\n};\n"],"names":["removeAttributes","removeCognitoUserAttributes","attributes","attr","name"],"mappings":"AAMA,MAAMA,mBAA6B;IAAC;CAAM;AAEnC,MAAMC,8BAA8B,CAACC,aACjCA,WAAW,MAAM,CAACC,CAAAA;QACrB,MAAMC,OAAQD,AAAAA,CAAAA,KAAK,IAAI,IAAI,EAAC,EAAG,WAAW;QAC1C,IAAIH,iBAAiB,QAAQ,CAACI,OAC1B,OAAO;QAEX,OAAO;IACX"}
|
|
@@ -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"}
|