@webiny/api-sync-system 6.3.0 → 6.4.0-beta.0
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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/Handler.js","sources":["../../../src/sync/handler/Handler.ts"],"sourcesContent":["import type {\n ICommandValue,\n ICommandValueItem,\n ICommandValueItemExtended,\n IDynamoDbCommand,\n IHandler,\n IHandlerConverter,\n ISystem\n} from \"../types.js\";\nimport type {\n EventBridgeClient,\n PutEventsCommandInput,\n PutEventsCommandOutput\n} from \"@webiny/aws-sdk/client-eventbridge/index.js\";\nimport { PutEventsCommand } from \"@webiny/aws-sdk/client-eventbridge/index.js\";\nimport { convertException } from \"@webiny/utils\";\nimport { generateAlphaNumericId } from \"@webiny/utils/generateId.js\";\nimport type { IDetail } from \"~/sync/handler/types.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { FilterOutRecord } from \"~/sync/FilterOutRecord.js\";\n\nexport interface IHandlerEventBus {\n name: string;\n arn: string;\n}\n\nexport interface IHandlerParams {\n getEventBridgeClient(): Pick<EventBridgeClient, \"send\">;\n converter: IHandlerConverter;\n eventBus: IHandlerEventBus;\n system: ISystem;\n filterOutRecord: FilterOutRecord;\n}\n\nexport class Handler implements IHandler {\n public readonly id = generateAlphaNumericId();\n private readonly system: ISystem;\n private readonly getEventBridgeClient: () => Pick<EventBridgeClient, \"send\">;\n private commands: ICommandValue[] = [];\n private readonly converter: IHandlerConverter;\n private readonly eventBus: IHandlerEventBus;\n private readonly filterOutRecord: FilterOutRecord;\n\n public constructor(params: IHandlerParams) {\n this.getEventBridgeClient = params.getEventBridgeClient;\n this.system = params.system;\n this.converter = params.converter;\n this.eventBus = params.eventBus;\n this.filterOutRecord = params.filterOutRecord;\n }\n\n public add(input: IDynamoDbCommand): void {\n const cmd = this.converter.convert(input);\n this.commands.push(cmd);\n }\n\n public async flush(): Promise<PutEventsCommandOutput | null> {\n const items = this.createEventBusEvent();\n\n if (!items?.length) {\n return null;\n }\n\n const detail: IDetail = {\n /**\n * We need a random ID because there can be multiple commands with same items sent - but that does not mean they are duplicates.\n */\n id: generateAlphaNumericId(),\n items,\n source: this.system\n };\n\n const input: PutEventsCommandInput = {\n Entries: [\n {\n DetailType: \"synchronization-input\",\n Detail: JSON.stringify(detail),\n Source: `webiny:${this.system.name}`,\n EventBusName: this.eventBus.name\n }\n ]\n };\n const command = new PutEventsCommand(input);\n\n try {\n const eventBridgeClient = this.getEventBridgeClient();\n return await eventBridgeClient.send(command);\n } catch (ex) {\n console.log(\"Could not send events to Sync System EventBridge.\");\n console.error(ex.message);\n console.error(convertException(ex, [\"message\"]));\n console.log(\n JSON.stringify({\n event: items\n })\n );\n throw ex;\n }\n }\n\n private createEventBusEvent(): NonEmptyArray<ICommandValueItem> | null {\n const commands = Array.from(this.commands);\n /**\n * Remove all existing commands so we can start fresh.\n */\n this.commands = [];\n const everything = commands.reduce<ICommandValueItem[]>((items, cmd) => {\n const commandItems = cmd.getItems();\n if (!commandItems?.length) {\n return items;\n }\n\n for (const item of commandItems) {\n if (this.filterOutRecord.filterOut(item)) {\n continue;\n }\n items.push({\n tableName: item.tableName,\n command: item.command,\n tableType: item.tableType,\n PK: item.PK,\n SK: item.SK\n });\n }\n\n return items;\n }, []);\n\n return everything.length === 0\n ? null\n : (everything as NonEmptyArray<ICommandValueItemExtended>);\n }\n}\n\nexport const createSyncHandler = (params: IHandlerParams): IHandler => {\n return new Handler(params);\n};\n"],"names":["Handler","params","generateAlphaNumericId","input","cmd","items","detail","JSON","command","PutEventsCommand","eventBridgeClient","ex","console","convertException","commands","Array","everything","commandItems","item","createSyncHandler"],"mappings":";;;AAkCO,MAAMA;IAST,YAAmBC,MAAsB,CAAE;aAR3B,EAAE,GAAGC;aAGb,QAAQ,GAAoB,EAAE;QAMlC,IAAI,CAAC,oBAAoB,GAAGD,OAAO,oBAAoB;QACvD,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,SAAS,GAAGA,OAAO,SAAS;QACjC,IAAI,CAAC,QAAQ,GAAGA,OAAO,QAAQ;QAC/B,IAAI,CAAC,eAAe,GAAGA,OAAO,eAAe;IACjD;IAEO,IAAIE,KAAuB,EAAQ;QACtC,MAAMC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACC;IACvB;IAEA,MAAa,QAAgD;QACzD,MAAMC,QAAQ,IAAI,CAAC,mBAAmB;QAEtC,IAAI,CAACA,OAAO,QACR,OAAO;QAGX,MAAMC,SAAkB;YAIpB,IAAIJ;YACJG;YACA,QAAQ,IAAI,CAAC,MAAM;QACvB;QAEA,MAAMF,QAA+B;YACjC,SAAS;gBACL;oBACI,YAAY;oBACZ,QAAQI,KAAK,SAAS,CAACD;oBACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBACpC,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACpC;aACH;QACL;QACA,MAAME,UAAU,IAAIC,iBAAiBN;QAErC,IAAI;YACA,MAAMO,oBAAoB,IAAI,CAAC,oBAAoB;YACnD,OAAO,MAAMA,kBAAkB,IAAI,CAACF;QACxC,EAAE,OAAOG,IAAI;YACTC,QAAQ,GAAG,CAAC;YACZA,QAAQ,KAAK,CAACD,GAAG,OAAO;YACxBC,QAAQ,KAAK,CAACC,iBAAiBF,IAAI;gBAAC;aAAU;YAC9CC,QAAQ,GAAG,CACPL,KAAK,SAAS,CAAC;gBACX,OAAOF;YACX;YAEJ,MAAMM;QACV;IACJ;IAEQ,sBAA+D;QACnE,MAAMG,WAAWC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;QAIzC,IAAI,CAAC,QAAQ,GAAG,EAAE;QAClB,MAAMC,aAAaF,SAAS,MAAM,CAAsB,CAACT,OAAOD;YAC5D,MAAMa,eAAeb,IAAI,QAAQ;YACjC,IAAI,CAACa,cAAc,QACf,OAAOZ;YAGX,KAAK,MAAMa,QAAQD,aACf,KAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAACC,OAGnCb,MAAM,IAAI,CAAC;gBACP,WAAWa,KAAK,SAAS;gBACzB,SAASA,KAAK,OAAO;gBACrB,WAAWA,KAAK,SAAS;gBACzB,IAAIA,KAAK,EAAE;gBACX,IAAIA,KAAK,EAAE;YACf;YAGJ,OAAOb;QACX,GAAG,EAAE;QAEL,OAAOW,AAAsB,MAAtBA,WAAW,MAAM,GAClB,OACCA;IACX;AACJ;AAEO,MAAMG,oBAAoB,CAAClB,SACvB,IAAID,QAAQC"}
|
|
@@ -1,35 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
register(input) {
|
|
7
|
-
if (Array.isArray(input)) {
|
|
8
|
-
this.converters.push(...input);
|
|
9
|
-
return;
|
|
1
|
+
class HandlerConverter {
|
|
2
|
+
constructor(params){
|
|
3
|
+
this.converters = [];
|
|
4
|
+
this.defaultValue = params.defaultValue;
|
|
10
5
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
for (const converter of this.converters) {
|
|
15
|
-
if (converter.can(command)) {
|
|
16
|
-
return converter.convert(command);
|
|
17
|
-
}
|
|
6
|
+
register(input) {
|
|
7
|
+
if (Array.isArray(input)) return void this.converters.push(...input);
|
|
8
|
+
this.converters.push(input);
|
|
18
9
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
convert(command) {
|
|
11
|
+
for (const converter of this.converters)if (converter.can(command)) return converter.convert(command);
|
|
12
|
+
if ("true" === process.env.DEBUG) {
|
|
13
|
+
console.error(`Unknown command: ${command.constructor?.name || "unknown"}`);
|
|
14
|
+
if (!command.constructor?.name) {
|
|
15
|
+
console.error("Command is not an instance of a class, it might be a plain object. Stringified command is in next line.");
|
|
16
|
+
console.log(JSON.stringify({
|
|
17
|
+
command
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return this.defaultValue;
|
|
27
22
|
}
|
|
28
|
-
return this.defaultValue;
|
|
29
|
-
}
|
|
30
23
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
24
|
+
const createHandlerConverter = (params)=>new HandlerConverter(params);
|
|
25
|
+
export { HandlerConverter, createHandlerConverter };
|
|
34
26
|
|
|
35
27
|
//# sourceMappingURL=HandlerConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/HandlerConverter.js","sources":["../../../src/sync/handler/HandlerConverter.ts"],"sourcesContent":["import type {\n ICommandConverter,\n ICommandValue,\n IDynamoDbCommand,\n IHandlerConverter\n} from \"../types.js\";\n\nexport interface IHandlerConverterParams {\n defaultValue: ICommandValue;\n}\n\nexport class HandlerConverter implements IHandlerConverter {\n private readonly defaultValue: ICommandValue;\n private readonly converters: ICommandConverter[] = [];\n\n public constructor(params: IHandlerConverterParams) {\n this.defaultValue = params.defaultValue;\n }\n\n public register(input: ICommandConverter | ICommandConverter[]): void {\n if (Array.isArray(input)) {\n this.converters.push(...input);\n return;\n }\n\n this.converters.push(input);\n }\n\n public convert(command: IDynamoDbCommand): ICommandValue {\n for (const converter of this.converters) {\n if (converter.can(command)) {\n return converter.convert(command);\n }\n }\n if (process.env.DEBUG === \"true\") {\n console.error(`Unknown command: ${command.constructor?.name || \"unknown\"}`);\n if (!command.constructor?.name) {\n console.error(\n \"Command is not an instance of a class, it might be a plain object. Stringified command is in next line.\"\n );\n console.log(\n JSON.stringify({\n command\n })\n );\n }\n }\n\n return this.defaultValue;\n }\n}\n\nexport const createHandlerConverter = (params: IHandlerConverterParams): IHandlerConverter => {\n return new HandlerConverter(params);\n};\n"],"names":["HandlerConverter","params","input","Array","command","converter","process","console","JSON","createHandlerConverter"],"mappings":"AAWO,MAAMA;IAIT,YAAmBC,MAA+B,CAAE;aAFnC,UAAU,GAAwB,EAAE;QAGjD,IAAI,CAAC,YAAY,GAAGA,OAAO,YAAY;IAC3C;IAEO,SAASC,KAA8C,EAAQ;QAClE,IAAIC,MAAM,OAAO,CAACD,QAAQ,YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,IAAIA;QAI5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA;IACzB;IAEO,QAAQE,OAAyB,EAAiB;QACrD,KAAK,MAAMC,aAAa,IAAI,CAAC,UAAU,CACnC,IAAIA,UAAU,GAAG,CAACD,UACd,OAAOC,UAAU,OAAO,CAACD;QAGjC,IAAIE,AAAsB,WAAtBA,QAAQ,GAAG,CAAC,KAAK,EAAa;YAC9BC,QAAQ,KAAK,CAAC,CAAC,iBAAiB,EAAEH,QAAQ,WAAW,EAAE,QAAQ,WAAW;YAC1E,IAAI,CAACA,QAAQ,WAAW,EAAE,MAAM;gBAC5BG,QAAQ,KAAK,CACT;gBAEJA,QAAQ,GAAG,CACPC,KAAK,SAAS,CAAC;oBACXJ;gBACJ;YAER;QACJ;QAEA,OAAO,IAAI,CAAC,YAAY;IAC5B;AACJ;AAEO,MAAMK,yBAAyB,CAACR,SAC5B,IAAID,iBAAiBC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { BatchGetCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { NullCommandValue } from "./commands/NullCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class BatchGetCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof BatchGetCommand;
|
|
6
|
+
}
|
|
7
|
+
convert() {
|
|
8
|
+
return new NullCommandValue();
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "batchGet";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createBatchGetCommandConverter = ()=>new BatchGetCommandConverter();
|
|
15
|
+
export { BatchGetCommandConverter, createBatchGetCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=BatchGetCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/BatchGetCommandConverter.js","sources":["../../../../src/sync/handler/converter/BatchGetCommandConverter.ts"],"sourcesContent":["import { BatchGetCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class BatchGetCommandConverter implements ICommandConverter {\n public readonly name: string = \"batchGet\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof BatchGetCommand;\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createBatchGetCommandConverter = (): ICommandConverter => {\n return new BatchGetCommandConverter();\n};\n"],"names":["BatchGetCommandConverter","input","BatchGetCommand","NullCommandValue","createBatchGetCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IAEO,UAAU;QACb,OAAO,IAAIC;IACf;;aARgB,IAAI,GAAW;;AASnC;AAEO,MAAMC,iCAAiC,IACnC,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { BatchWriteCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { BatchWriteCommandValue } from "./commands/BatchWriteCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class BatchWriteCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof BatchWriteCommand;
|
|
6
|
+
}
|
|
7
|
+
convert(input) {
|
|
8
|
+
return new BatchWriteCommandValue(input);
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "put";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createBatchWriteCommandConverter = ()=>new BatchWriteCommandConverter();
|
|
15
|
+
export { BatchWriteCommandConverter, createBatchWriteCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=BatchWriteCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/BatchWriteCommandConverter.js","sources":["../../../../src/sync/handler/converter/BatchWriteCommandConverter.ts"],"sourcesContent":["import { BatchWriteCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { BatchWriteCommandValue } from \"./commands/BatchWriteCommandValue.js\";\n\nexport class BatchWriteCommandConverter implements ICommandConverter {\n public readonly name: string = \"put\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof BatchWriteCommand;\n }\n public convert(input: BatchWriteCommand) {\n return new BatchWriteCommandValue(input);\n }\n}\n\nexport const createBatchWriteCommandConverter = (): ICommandConverter => {\n return new BatchWriteCommandConverter();\n};\n"],"names":["BatchWriteCommandConverter","input","BatchWriteCommand","BatchWriteCommandValue","createBatchWriteCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IACO,QAAQD,KAAwB,EAAE;QACrC,OAAO,IAAIE,uBAAuBF;IACtC;;aAPgB,IAAI,GAAW;;AAQnC;AAEO,MAAMG,mCAAmC,IACrC,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { DeleteCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { DeleteCommandValue } from "./commands/DeleteCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class DeleteCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof DeleteCommand;
|
|
6
|
+
}
|
|
7
|
+
convert(input) {
|
|
8
|
+
return new DeleteCommandValue(input);
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "delete";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createDeleteCommandConverter = ()=>new DeleteCommandConverter();
|
|
15
|
+
export { DeleteCommandConverter, createDeleteCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=DeleteCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/DeleteCommandConverter.js","sources":["../../../../src/sync/handler/converter/DeleteCommandConverter.ts"],"sourcesContent":["import { DeleteCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { DeleteCommandValue } from \"./commands/DeleteCommandValue.js\";\n\nexport class DeleteCommandConverter implements ICommandConverter {\n public readonly name: string = \"delete\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof DeleteCommand;\n }\n public convert(input: DeleteCommand) {\n return new DeleteCommandValue(input);\n }\n}\n\nexport const createDeleteCommandConverter = (): ICommandConverter => {\n return new DeleteCommandConverter();\n};\n"],"names":["DeleteCommandConverter","input","DeleteCommand","DeleteCommandValue","createDeleteCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IACO,QAAQD,KAAoB,EAAE;QACjC,OAAO,IAAIE,mBAAmBF;IAClC;;aAPgB,IAAI,GAAW;;AAQnC;AAEO,MAAMG,+BAA+B,IACjC,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { GetCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { NullCommandValue } from "./commands/NullCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class GetCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof GetCommand;
|
|
6
|
+
}
|
|
7
|
+
convert() {
|
|
8
|
+
return new NullCommandValue();
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "get";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createGetCommandConverter = ()=>new GetCommandConverter();
|
|
15
|
+
export { GetCommandConverter, createGetCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=GetCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/GetCommandConverter.js","sources":["../../../../src/sync/handler/converter/GetCommandConverter.ts"],"sourcesContent":["import { GetCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class GetCommandConverter implements ICommandConverter {\n public readonly name: string = \"get\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof GetCommand;\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createGetCommandConverter = (): ICommandConverter => {\n return new GetCommandConverter();\n};\n"],"names":["GetCommandConverter","input","GetCommand","NullCommandValue","createGetCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IAEO,UAAU;QACb,OAAO,IAAIC;IACf;;aARgB,IAAI,GAAW;;AASnC;AAEO,MAAMC,4BAA4B,IAC9B,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { PutCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { PutCommandValue } from "./commands/PutCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class PutCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof PutCommand;
|
|
6
|
+
}
|
|
7
|
+
convert(input) {
|
|
8
|
+
return new PutCommandValue(input);
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "put";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createPutCommandConverter = ()=>new PutCommandConverter();
|
|
15
|
+
export { PutCommandConverter, createPutCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=PutCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/PutCommandConverter.js","sources":["../../../../src/sync/handler/converter/PutCommandConverter.ts"],"sourcesContent":["import { PutCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { PutCommandValue } from \"./commands/PutCommandValue.js\";\n\nexport class PutCommandConverter implements ICommandConverter {\n public readonly name: string = \"put\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof PutCommand;\n }\n public convert(input: PutCommand) {\n return new PutCommandValue(input);\n }\n}\n\nexport const createPutCommandConverter = (): ICommandConverter => {\n return new PutCommandConverter();\n};\n"],"names":["PutCommandConverter","input","PutCommand","PutCommandValue","createPutCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IACO,QAAQD,KAAiB,EAAE;QAC9B,OAAO,IAAIE,gBAAgBF;IAC/B;;aAPgB,IAAI,GAAW;;AAQnC;AAEO,MAAMG,4BAA4B,IAC9B,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { QueryCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { NullCommandValue } from "./commands/NullCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class QueryCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof QueryCommand || input.constructor?.name === "QueryCommand";
|
|
6
|
+
}
|
|
7
|
+
convert() {
|
|
8
|
+
return new NullCommandValue();
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "query";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createQueryCommandConverter = ()=>new QueryCommandConverter();
|
|
15
|
+
export { QueryCommandConverter, createQueryCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=QueryCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/QueryCommandConverter.js","sources":["../../../../src/sync/handler/converter/QueryCommandConverter.ts"],"sourcesContent":["import { QueryCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class QueryCommandConverter implements ICommandConverter {\n public readonly name: string = \"query\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof QueryCommand || input.constructor?.name === \"QueryCommand\";\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createQueryCommandConverter = (): ICommandConverter => {\n return new QueryCommandConverter();\n};\n"],"names":["QueryCommandConverter","input","QueryCommand","NullCommandValue","createQueryCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC,gBAAgBD,MAAM,WAAW,EAAE,SAAS;IACxE;IAEO,UAAU;QACb,OAAO,IAAIE;IACf;;aARgB,IAAI,GAAW;;AASnC;AAEO,MAAMC,8BAA8B,IAChC,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { ScanCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { NullCommandValue } from "./commands/NullCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class ScanCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof ScanCommand;
|
|
6
|
+
}
|
|
7
|
+
convert() {
|
|
8
|
+
return new NullCommandValue();
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "query";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createScanCommandConverter = ()=>new ScanCommandConverter();
|
|
15
|
+
export { ScanCommandConverter, createScanCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=ScanCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/ScanCommandConverter.js","sources":["../../../../src/sync/handler/converter/ScanCommandConverter.ts"],"sourcesContent":["import { ScanCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { NullCommandValue } from \"./commands/NullCommandValue.js\";\n\nexport class ScanCommandConverter implements ICommandConverter {\n public readonly name: string = \"query\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof ScanCommand;\n }\n\n public convert() {\n return new NullCommandValue();\n }\n}\n\nexport const createScanCommandConverter = (): ICommandConverter => {\n return new ScanCommandConverter();\n};\n"],"names":["ScanCommandConverter","input","ScanCommand","NullCommandValue","createScanCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IAEO,UAAU;QACb,OAAO,IAAIC;IACf;;aARgB,IAAI,GAAW;;AASnC;AAEO,MAAMC,6BAA6B,IAC/B,IAAIJ"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { UpdateCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
|
|
2
2
|
import { UpdateCommandValue } from "./commands/UpdateCommandValue.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
class UpdateCommandConverter {
|
|
4
|
+
can(input) {
|
|
5
|
+
return input instanceof UpdateCommand;
|
|
6
|
+
}
|
|
7
|
+
convert(input) {
|
|
8
|
+
return new UpdateCommandValue(input);
|
|
9
|
+
}
|
|
10
|
+
constructor(){
|
|
11
|
+
this.name = "update";
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
14
|
+
const createUpdateCommandConverter = ()=>new UpdateCommandConverter();
|
|
15
|
+
export { UpdateCommandConverter, createUpdateCommandConverter };
|
|
15
16
|
|
|
16
17
|
//# sourceMappingURL=UpdateCommandConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/UpdateCommandConverter.js","sources":["../../../../src/sync/handler/converter/UpdateCommandConverter.ts"],"sourcesContent":["import { UpdateCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandConverter, IDynamoDbCommand } from \"../../types.js\";\nimport { UpdateCommandValue } from \"./commands/UpdateCommandValue.js\";\n\nexport class UpdateCommandConverter implements ICommandConverter {\n public readonly name: string = \"update\";\n\n public can(input: IDynamoDbCommand): boolean {\n return input instanceof UpdateCommand;\n }\n public convert(input: UpdateCommand) {\n return new UpdateCommandValue(input);\n }\n}\n\nexport const createUpdateCommandConverter = (): ICommandConverter => {\n return new UpdateCommandConverter();\n};\n"],"names":["UpdateCommandConverter","input","UpdateCommand","UpdateCommandValue","createUpdateCommandConverter"],"mappings":";;AAIO,MAAMA;IAGF,IAAIC,KAAuB,EAAW;QACzC,OAAOA,iBAAiBC;IAC5B;IACO,QAAQD,KAAoB,EAAE;QACjC,OAAO,IAAIE,mBAAmBF;IAClC;;aAPgB,IAAI,GAAW;;AAQnC;AAEO,MAAMG,+BAA+B,IACjC,IAAIJ"}
|
|
@@ -1,44 +1,41 @@
|
|
|
1
1
|
import { getTableType } from "../../../utils/getTableType.js";
|
|
2
|
-
const convert = items
|
|
3
|
-
|
|
4
|
-
return
|
|
5
|
-
}
|
|
6
|
-
return items;
|
|
2
|
+
const convert = (items)=>{
|
|
3
|
+
if (0 === items.length) return null;
|
|
4
|
+
return items;
|
|
7
5
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
6
|
+
class BatchWriteCommandValue {
|
|
7
|
+
constructor(input){
|
|
8
|
+
this.command = "batchWrite";
|
|
9
|
+
this.items = [];
|
|
10
|
+
for(const tableName in input.input.RequestItems){
|
|
11
|
+
const values = input.input.RequestItems[tableName];
|
|
12
|
+
for (const value of values)if (value.PutRequest?.Item) {
|
|
13
|
+
const item = value.PutRequest.Item;
|
|
14
|
+
this.items.push({
|
|
15
|
+
command: "put",
|
|
16
|
+
PK: item.PK,
|
|
17
|
+
SK: item.SK,
|
|
18
|
+
tableName,
|
|
19
|
+
tableType: getTableType(tableName),
|
|
20
|
+
input
|
|
21
|
+
});
|
|
22
|
+
} else if (value.DeleteRequest?.Key) {
|
|
23
|
+
const item = value.DeleteRequest.Key;
|
|
24
|
+
this.items.push({
|
|
25
|
+
command: "delete",
|
|
26
|
+
PK: item.PK,
|
|
27
|
+
SK: item.SK,
|
|
28
|
+
tableName,
|
|
29
|
+
tableType: getTableType(tableName),
|
|
30
|
+
input
|
|
31
|
+
});
|
|
32
|
+
}
|
|
35
33
|
}
|
|
36
|
-
}
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
35
|
+
getItems() {
|
|
36
|
+
return convert(this.items);
|
|
37
|
+
}
|
|
42
38
|
}
|
|
39
|
+
export { BatchWriteCommandValue };
|
|
43
40
|
|
|
44
41
|
//# sourceMappingURL=BatchWriteCommandValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sync/handler/converter/commands/BatchWriteCommandValue.js","sources":["../../../../../src/sync/handler/converter/commands/BatchWriteCommandValue.ts"],"sourcesContent":["import type { BatchWriteCommand } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport type { ICommandValue, ICommandValueItemExtended } from \"~/sync/types.js\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport { getTableType } from \"~/sync/utils/getTableType.js\";\n\nconst convert = (\n items: ICommandValueItemExtended[]\n): NonEmptyArray<ICommandValueItemExtended> | null => {\n if (items.length === 0) {\n return null;\n }\n return items as NonEmptyArray<ICommandValueItemExtended>;\n};\n\nexport class BatchWriteCommandValue implements ICommandValue {\n public readonly command = \"batchWrite\";\n public readonly items: ICommandValueItemExtended[] = [];\n\n public constructor(input: BatchWriteCommand) {\n for (const tableName in input.input.RequestItems) {\n const values = input.input.RequestItems[tableName];\n for (const value of values) {\n if (value.PutRequest?.Item) {\n const item = value.PutRequest.Item;\n\n this.items.push({\n command: \"put\",\n PK: item.PK,\n SK: item.SK,\n tableName,\n tableType: getTableType(tableName),\n input\n });\n } else if (value.DeleteRequest?.Key) {\n const item = value.DeleteRequest.Key;\n\n this.items.push({\n command: \"delete\",\n PK: item.PK,\n SK: item.SK,\n tableName,\n tableType: getTableType(tableName),\n input\n });\n }\n }\n }\n }\n\n public getItems(): NonEmptyArray<ICommandValueItemExtended> | null {\n return convert(this.items);\n }\n}\n"],"names":["convert","items","BatchWriteCommandValue","input","tableName","values","value","item","getTableType"],"mappings":";AAKA,MAAMA,UAAU,CACZC;IAEA,IAAIA,AAAiB,MAAjBA,MAAM,MAAM,EACZ,OAAO;IAEX,OAAOA;AACX;AAEO,MAAMC;IAIT,YAAmBC,KAAwB,CAAE;aAH7B,OAAO,GAAG;aACV,KAAK,GAAgC,EAAE;QAGnD,IAAK,MAAMC,aAAaD,MAAM,KAAK,CAAC,YAAY,CAAE;YAC9C,MAAME,SAASF,MAAM,KAAK,CAAC,YAAY,CAACC,UAAU;YAClD,KAAK,MAAME,SAASD,OAChB,IAAIC,MAAM,UAAU,EAAE,MAAM;gBACxB,MAAMC,OAAOD,MAAM,UAAU,CAAC,IAAI;gBAElC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,SAAS;oBACT,IAAIC,KAAK,EAAE;oBACX,IAAIA,KAAK,EAAE;oBACXH;oBACA,WAAWI,aAAaJ;oBACxBD;gBACJ;YACJ,OAAO,IAAIG,MAAM,aAAa,EAAE,KAAK;gBACjC,MAAMC,OAAOD,MAAM,aAAa,CAAC,GAAG;gBAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,SAAS;oBACT,IAAIC,KAAK,EAAE;oBACX,IAAIA,KAAK,EAAE;oBACXH;oBACA,WAAWI,aAAaJ;oBACxBD;gBACJ;YACJ;QAER;IACJ;IAEO,WAA4D;QAC/D,OAAOH,QAAQ,IAAI,CAAC,KAAK;IAC7B;AACJ"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { getTableType } from "../../../utils/getTableType.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
class DeleteCommandValue {
|
|
3
|
+
constructor(input){
|
|
4
|
+
this.command = "delete";
|
|
5
|
+
const tableName = input.input.TableName;
|
|
6
|
+
this.item = {
|
|
7
|
+
command: this.command,
|
|
8
|
+
PK: input.input.Key.PK,
|
|
9
|
+
SK: input.input.Key.SK,
|
|
10
|
+
tableName,
|
|
11
|
+
tableType: getTableType(tableName),
|
|
12
|
+
input
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getItems() {
|
|
16
|
+
return [
|
|
17
|
+
this.item
|
|
18
|
+
];
|
|
19
|
+
}
|
|
18
20
|
}
|
|
21
|
+
export { DeleteCommandValue };
|
|
19
22
|
|
|
20
23
|
//# sourceMappingURL=DeleteCommandValue.js.map
|