@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 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/validation/event.js","sources":["../../../../src/resolver/app/validation/event.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createJsonTransform } from \"~/resolver/app/validation/createJsonTransform.js\";\nimport { createBodyValidation } from \"~/resolver/app/validation/body.js\";\n\nconst bodyTransform = createJsonTransform(\"Body\");\n\nexport const createEventValidation = () => {\n return zod.array(\n zod.object({\n messageId: zod.string(),\n receiptHandle: zod.string(),\n body: bodyTransform.pipe(createBodyValidation()),\n attributes: zod.object({\n ApproximateReceiveCount: zod.string(),\n SentTimestamp: zod.string(),\n SenderId: zod.string(),\n ApproximateFirstReceiveTimestamp: zod.string()\n }),\n messageAttributes: zod.looseObject({}).optional(),\n md5OfBody: zod.string(),\n eventSource: zod.string(),\n eventSourceARN: zod.string(),\n awsRegion: zod.string()\n })\n );\n};\n"],"names":["bodyTransform","createJsonTransform","createEventValidation","zod","createBodyValidation"],"mappings":";;;AAIA,MAAMA,gBAAgBC,oBAAoB;AAEnC,MAAMC,wBAAwB,IAC1BC,IAAI,KAAK,CACZA,IAAI,MAAM,CAAC;QACP,WAAWA,IAAI,MAAM;QACrB,eAAeA,IAAI,MAAM;QACzB,MAAMH,cAAc,IAAI,CAACI;QACzB,YAAYD,IAAI,MAAM,CAAC;YACnB,yBAAyBA,IAAI,MAAM;YACnC,eAAeA,IAAI,MAAM;YACzB,UAAUA,IAAI,MAAM;YACpB,kCAAkCA,IAAI,MAAM;QAChD;QACA,mBAAmBA,IAAI,WAAW,CAAC,CAAC,GAAG,QAAQ;QAC/C,WAAWA,IAAI,MAAM;QACrB,aAAaA,IAAI,MAAM;QACvB,gBAAgBA,IAAI,MAAM;QAC1B,WAAWA,IAAI,MAAM;IACzB"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
message: `"${name}" must be a numeric string.`
|
|
2
|
+
const createNumericStringValidation = (name)=>zod.string().transform((value, ctx)=>{
|
|
3
|
+
if (/^\d+$/.test(value)) return value;
|
|
4
|
+
ctx.addIssue({
|
|
5
|
+
code: zod.ZodIssueCode.custom,
|
|
6
|
+
message: `"${name}" must be a numeric string.`
|
|
7
|
+
});
|
|
8
|
+
return zod.NEVER;
|
|
10
9
|
});
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
};
|
|
10
|
+
export { createNumericStringValidation };
|
|
14
11
|
|
|
15
12
|
//# sourceMappingURL=numericString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/validation/numericString.js","sources":["../../../../src/resolver/app/validation/numericString.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport const createNumericStringValidation = (name: string) => {\n return zod.string().transform((value, ctx) => {\n if (/^\\d+$/.test(value)) {\n return value as `${number}`;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"${name}\" must be a numeric string.`\n });\n return zod.NEVER;\n });\n};\n"],"names":["createNumericStringValidation","name","zod","value","ctx"],"mappings":";AAEO,MAAMA,gCAAgC,CAACC,OACnCC,IAAI,MAAM,GAAG,SAAS,CAAC,CAACC,OAAOC;QAClC,IAAI,QAAQ,IAAI,CAACD,QACb,OAAOA;QAEXC,IAAI,QAAQ,CAAC;YACT,MAAMF,IAAI,YAAY,CAAC,MAAM;YAC7B,SAAS,CAAC,CAAC,EAAED,KAAK,2BAA2B,CAAC;QAClD;QACA,OAAOC,IAAI,KAAK;IACpB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
2
|
+
const createSystemValidation = ()=>zod.object({
|
|
3
|
+
name: zod.string(),
|
|
4
|
+
env: zod.string(),
|
|
5
|
+
variant: zod.string().optional().nullish().transform((value)=>value || void 0),
|
|
6
|
+
region: zod.string(),
|
|
7
|
+
version: zod.string()
|
|
8
|
+
});
|
|
9
|
+
export { createSystemValidation };
|
|
11
10
|
|
|
12
11
|
//# sourceMappingURL=system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/app/validation/system.js","sources":["../../../../src/resolver/app/validation/system.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport const createSystemValidation = () => {\n return zod.object({\n name: zod.string(),\n env: zod.string(),\n variant: zod\n .string()\n .optional()\n .nullish()\n .transform(value => value || undefined),\n region: zod.string(),\n version: zod.string()\n });\n};\n"],"names":["createSystemValidation","zod","value","undefined"],"mappings":";AAEO,MAAMA,yBAAyB,IAC3BC,IAAI,MAAM,CAAC;QACd,MAAMA,IAAI,MAAM;QAChB,KAAKA,IAAI,MAAM;QACf,SAASA,IAAAA,MACE,GACN,QAAQ,GACR,OAAO,GACP,SAAS,CAACC,CAAAA,QAASA,SAASC;QACjC,QAAQF,IAAI,MAAM;QAClB,SAASA,IAAI,MAAM;IACvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createEventHandler
|
|
1
|
+
import { createEventHandler } from "@webiny/handler-aws/sqs/index.js";
|
|
2
2
|
import { createResolverApp } from "./app/ResolverApplication.js";
|
|
3
3
|
import { convertException } from "@webiny/utils";
|
|
4
4
|
import { createRecordHandler } from "./app/RecordHandler.js";
|
|
@@ -14,107 +14,78 @@ import { SQSEventHandler } from "@webiny/handler-aws/sqs/plugins/SQSEventHandler
|
|
|
14
14
|
import { createStorer } from "./app/storer/Storer.js";
|
|
15
15
|
import { StorerAfterEachPlugin } from "./plugins/StorerAfterEachPlugin.js";
|
|
16
16
|
import { SourceDataContainer } from "./app/data/SourceDataContainer.js";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
storer,
|
|
78
|
-
deployments,
|
|
79
|
-
transformHandler,
|
|
80
|
-
commandBundler: createBundler({
|
|
81
|
-
createBundles: () => {
|
|
82
|
-
return createBundles({
|
|
83
|
-
createBundle: createCommandBundle
|
|
17
|
+
const createEventHandlerPlugin = (params)=>{
|
|
18
|
+
const { createDocumentClient, tableName } = params;
|
|
19
|
+
const plugin = createEventHandler(async ({ event, context, reply })=>{
|
|
20
|
+
if (!tableName) throw new WebinyError({
|
|
21
|
+
message: "Table name variable is not set."
|
|
22
|
+
});
|
|
23
|
+
try {
|
|
24
|
+
const fetcher = createFetcher({
|
|
25
|
+
maxRetries: 10,
|
|
26
|
+
retryDelay: 1000,
|
|
27
|
+
createDocumentClient: (deployment)=>createDocumentClient({
|
|
28
|
+
region: deployment.region
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
const deploymentsFetcher = createDeploymentsFetcher({
|
|
32
|
+
client: createDocumentClient({
|
|
33
|
+
region: process.env.AWS_REGION
|
|
34
|
+
}),
|
|
35
|
+
table: tableName
|
|
36
|
+
});
|
|
37
|
+
const deployments = await deploymentsFetcher.fetch();
|
|
38
|
+
const storerAfterEachPlugins = context.plugins.byType(StorerAfterEachPlugin.type);
|
|
39
|
+
const storer = createStorer({
|
|
40
|
+
createDocumentClient: (deployment)=>createDocumentClient({
|
|
41
|
+
region: deployment.region
|
|
42
|
+
}),
|
|
43
|
+
afterEach: async (params)=>{
|
|
44
|
+
for (const plugin of storerAfterEachPlugins)if (plugin.canHandle(params)) await plugin.handle(params);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const transformHandler = new TransformHandler({
|
|
48
|
+
plugins: context.plugins
|
|
49
|
+
});
|
|
50
|
+
const recordHandler = createRecordHandler({
|
|
51
|
+
plugins: context.plugins,
|
|
52
|
+
fetcher,
|
|
53
|
+
storer,
|
|
54
|
+
deployments,
|
|
55
|
+
transformHandler,
|
|
56
|
+
commandBundler: createBundler({
|
|
57
|
+
createBundles: ()=>createBundles({
|
|
58
|
+
createBundle: createCommandBundle
|
|
59
|
+
})
|
|
60
|
+
}),
|
|
61
|
+
tableBundler: createBundler({
|
|
62
|
+
createBundles: ()=>createBundles({
|
|
63
|
+
createBundle: createTableBundle
|
|
64
|
+
})
|
|
65
|
+
}),
|
|
66
|
+
createSourceDataContainer: ()=>SourceDataContainer.create()
|
|
67
|
+
});
|
|
68
|
+
const app = createResolverApp({
|
|
69
|
+
recordHandler,
|
|
70
|
+
deployments
|
|
71
|
+
});
|
|
72
|
+
await app.resolve({
|
|
73
|
+
records: event.Records
|
|
74
|
+
});
|
|
75
|
+
return reply.send({
|
|
76
|
+
ok: true
|
|
84
77
|
});
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
createBundle: createTableBundle
|
|
78
|
+
} catch (ex) {
|
|
79
|
+
const error = convertException(ex);
|
|
80
|
+
console.error(error);
|
|
81
|
+
return reply.send({
|
|
82
|
+
error
|
|
91
83
|
});
|
|
92
|
-
}
|
|
93
|
-
}),
|
|
94
|
-
createSourceDataContainer: () => {
|
|
95
|
-
return SourceDataContainer.create();
|
|
96
84
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
deployments
|
|
101
|
-
});
|
|
102
|
-
await app.resolve({
|
|
103
|
-
records: event.Records
|
|
104
|
-
});
|
|
105
|
-
return reply.send({
|
|
106
|
-
ok: true
|
|
107
|
-
});
|
|
108
|
-
} catch (ex) {
|
|
109
|
-
const error = convertException(ex);
|
|
110
|
-
console.error(error);
|
|
111
|
-
return reply.send({
|
|
112
|
-
error
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
plugin.name = `${SQSEventHandler.type}.syncResolver`;
|
|
117
|
-
return plugin;
|
|
85
|
+
});
|
|
86
|
+
plugin.name = `${SQSEventHandler.type}.syncResolver`;
|
|
87
|
+
return plugin;
|
|
118
88
|
};
|
|
89
|
+
export { createEventHandlerPlugin };
|
|
119
90
|
|
|
120
91
|
//# sourceMappingURL=createEventHandlerPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/createEventHandlerPlugin.js","sources":["../../src/resolver/createEventHandlerPlugin.ts"],"sourcesContent":["import { createEventHandler as createSQSEventHandler } from \"@webiny/handler-aws/sqs/index.js\";\nimport { createResolverApp } from \"./app/ResolverApplication.js\";\nimport { convertException } from \"@webiny/utils\";\nimport { createRecordHandler } from \"./app/RecordHandler.js\";\nimport { createFetcher } from \"~/resolver/app/fetcher/Fetcher.js\";\nimport { createDeploymentsFetcher } from \"~/resolver/deployment/DeploymentsFetcher.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport type {\n DynamoDBClientConfig,\n DynamoDBDocument\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createBundler } from \"~/resolver/app/bundler/Bundler.js\";\nimport { createBundles } from \"~/resolver/app/bundler/Bundles.js\";\nimport { createCommandBundle } from \"~/resolver/app/bundler/CommandBundle.js\";\nimport { createTableBundle } from \"~/resolver/app/bundler/TableBundle.js\";\nimport { TransformHandler } from \"~/resolver/app/transform/TransformHandler.js\";\nimport type { Reply as FastifyReply } from \"@webiny/handler/types.js\";\nimport { SQSEventHandler } from \"@webiny/handler-aws/sqs/plugins/SQSEventHandler.js\";\nimport { createStorer } from \"./app/storer/Storer.js\";\nimport { StorerAfterEachPlugin } from \"./plugins/StorerAfterEachPlugin.js\";\nimport { SourceDataContainer } from \"~/resolver/app/data/SourceDataContainer.js\";\n\nexport interface ICreateEventHandlerPluginParams {\n tableName: string | undefined;\n createDocumentClient: (params: DynamoDBClientConfig) => Pick<DynamoDBDocument, \"send\">;\n}\n/**\n * TODO maybe add logger?\n */\nexport const createEventHandlerPlugin = (params: ICreateEventHandlerPluginParams) => {\n const { createDocumentClient, tableName } = params;\n\n const plugin = createSQSEventHandler(\n async ({ event, context, reply }): Promise<FastifyReply> => {\n if (!tableName) {\n throw new WebinyError({\n message: \"Table name variable is not set.\"\n });\n }\n try {\n const fetcher = createFetcher({\n maxRetries: 10,\n retryDelay: 1000,\n createDocumentClient: deployment => {\n return createDocumentClient({\n region: deployment.region\n });\n }\n });\n\n const deploymentsFetcher = createDeploymentsFetcher({\n client: createDocumentClient({\n region: process.env.AWS_REGION\n }),\n table: tableName\n });\n /**\n * Fetch all possible deployments, out of which we will filter out the deployment that the records came from.\n */\n const deployments = await deploymentsFetcher.fetch();\n\n const storerAfterEachPlugins = context.plugins.byType<StorerAfterEachPlugin>(\n StorerAfterEachPlugin.type\n );\n\n const storer = createStorer({\n createDocumentClient: deployment => {\n return createDocumentClient({\n region: deployment.region\n });\n },\n afterEach: async params => {\n for (const plugin of storerAfterEachPlugins) {\n if (!plugin.canHandle(params)) {\n continue;\n }\n await plugin.handle(params);\n }\n }\n });\n\n const transformHandler = new TransformHandler({\n plugins: context.plugins\n });\n\n const recordHandler = createRecordHandler({\n plugins: context.plugins,\n fetcher,\n storer,\n deployments,\n transformHandler,\n commandBundler: createBundler({\n createBundles: () => {\n return createBundles({\n createBundle: createCommandBundle\n });\n }\n }),\n tableBundler: createBundler({\n createBundles: () => {\n return createBundles({\n createBundle: createTableBundle\n });\n }\n }),\n createSourceDataContainer: () => {\n return SourceDataContainer.create();\n }\n });\n const app = createResolverApp({\n recordHandler,\n deployments\n });\n\n await app.resolve({\n records: event.Records\n });\n return reply.send({\n ok: true\n });\n } catch (ex) {\n const error = convertException(ex);\n console.error(error);\n return reply.send({\n error\n });\n }\n }\n );\n\n plugin.name = `${SQSEventHandler.type}.syncResolver`;\n\n return plugin;\n};\n"],"names":["createEventHandlerPlugin","params","createDocumentClient","tableName","plugin","createSQSEventHandler","event","context","reply","WebinyError","fetcher","createFetcher","deployment","deploymentsFetcher","createDeploymentsFetcher","process","deployments","storerAfterEachPlugins","StorerAfterEachPlugin","storer","createStorer","transformHandler","TransformHandler","recordHandler","createRecordHandler","createBundler","createBundles","createCommandBundle","createTableBundle","SourceDataContainer","app","createResolverApp","ex","error","convertException","console","SQSEventHandler"],"mappings":";;;;;;;;;;;;;;;;AA6BO,MAAMA,2BAA2B,CAACC;IACrC,MAAM,EAAEC,oBAAoB,EAAEC,SAAS,EAAE,GAAGF;IAE5C,MAAMG,SAASC,mBACX,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAEC,KAAK,EAAE;QAC5B,IAAI,CAACL,WACD,MAAM,IAAIM,YAAY;YAClB,SAAS;QACb;QAEJ,IAAI;YACA,MAAMC,UAAUC,cAAc;gBAC1B,YAAY;gBACZ,YAAY;gBACZ,sBAAsBC,CAAAA,aACXV,qBAAqB;wBACxB,QAAQU,WAAW,MAAM;oBAC7B;YAER;YAEA,MAAMC,qBAAqBC,yBAAyB;gBAChD,QAAQZ,qBAAqB;oBACzB,QAAQa,QAAQ,GAAG,CAAC,UAAU;gBAClC;gBACA,OAAOZ;YACX;YAIA,MAAMa,cAAc,MAAMH,mBAAmB,KAAK;YAElD,MAAMI,yBAAyBV,QAAQ,OAAO,CAAC,MAAM,CACjDW,sBAAsB,IAAI;YAG9B,MAAMC,SAASC,aAAa;gBACxB,sBAAsBR,CAAAA,aACXV,qBAAqB;wBACxB,QAAQU,WAAW,MAAM;oBAC7B;gBAEJ,WAAW,OAAMX;oBACb,KAAK,MAAMG,UAAUa,uBACjB,IAAKb,OAAO,SAAS,CAACH,SAGtB,MAAMG,OAAO,MAAM,CAACH;gBAE5B;YACJ;YAEA,MAAMoB,mBAAmB,IAAIC,iBAAiB;gBAC1C,SAASf,QAAQ,OAAO;YAC5B;YAEA,MAAMgB,gBAAgBC,oBAAoB;gBACtC,SAASjB,QAAQ,OAAO;gBACxBG;gBACAS;gBACAH;gBACAK;gBACA,gBAAgBI,cAAc;oBAC1B,eAAe,IACJC,cAAc;4BACjB,cAAcC;wBAClB;gBAER;gBACA,cAAcF,cAAc;oBACxB,eAAe,IACJC,cAAc;4BACjB,cAAcE;wBAClB;gBAER;gBACA,2BAA2B,IAChBC,oBAAoB,MAAM;YAEzC;YACA,MAAMC,MAAMC,kBAAkB;gBAC1BR;gBACAP;YACJ;YAEA,MAAMc,IAAI,OAAO,CAAC;gBACd,SAASxB,MAAM,OAAO;YAC1B;YACA,OAAOE,MAAM,IAAI,CAAC;gBACd,IAAI;YACR;QACJ,EAAE,OAAOwB,IAAI;YACT,MAAMC,QAAQC,iBAAiBF;YAC/BG,QAAQ,KAAK,CAACF;YACd,OAAOzB,MAAM,IAAI,CAAC;gBACdyB;YACJ;QACJ;IACJ;IAGJ7B,OAAO,IAAI,GAAG,GAAGgC,gBAAgB,IAAI,CAAC,aAAa,CAAC;IAEpD,OAAOhC;AACX"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createHandler
|
|
1
|
+
import { createHandler } from "@webiny/handler-aws/sqs/index.js";
|
|
2
2
|
import { PluginsContainer } from "@webiny/plugins";
|
|
3
3
|
import { createEventHandlerPlugin } from "./createEventHandlerPlugin.js";
|
|
4
4
|
import { createPutCommandHandlerPlugin } from "./app/commandHandler/put.js";
|
|
@@ -10,63 +10,55 @@ import { DeleteFile } from "./recordTypes/fileManager/DeleteFile.js";
|
|
|
10
10
|
import { createUsersPlugins } from "./recordTypes/users/users.js";
|
|
11
11
|
import { CopyUser } from "./recordTypes/users/CopyUser.js";
|
|
12
12
|
import { DeleteUser } from "./recordTypes/users/DeleteUser.js";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const message = `Missing "process.env.AWS_SYNC_WORKER_LAMBDA_ARN".`;
|
|
20
|
-
console.error(message);
|
|
21
|
-
throw new Error(message);
|
|
22
|
-
}
|
|
23
|
-
const lambdaTrigger = new LambdaTrigger({
|
|
24
|
-
arn: awsWorkerLambdaArn,
|
|
25
|
-
createLambdaClient: params.createLambdaClient
|
|
26
|
-
});
|
|
27
|
-
const copyFile = new CopyFile({
|
|
28
|
-
createS3Client: params.createS3Client,
|
|
29
|
-
getLambdaTrigger: () => {
|
|
30
|
-
return lambdaTrigger;
|
|
13
|
+
const createResolverHandler = (params)=>{
|
|
14
|
+
const awsWorkerLambdaArn = params.awsWorkerLambdaArn || process.env.AWS_SYNC_WORKER_LAMBDA_ARN;
|
|
15
|
+
if (!awsWorkerLambdaArn) {
|
|
16
|
+
const message = 'Missing "process.env.AWS_SYNC_WORKER_LAMBDA_ARN".';
|
|
17
|
+
console.error(message);
|
|
18
|
+
throw new Error(message);
|
|
31
19
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
plugins
|
|
69
|
-
|
|
20
|
+
const lambdaTrigger = new LambdaTrigger({
|
|
21
|
+
arn: awsWorkerLambdaArn,
|
|
22
|
+
createLambdaClient: params.createLambdaClient
|
|
23
|
+
});
|
|
24
|
+
const copyFile = new CopyFile({
|
|
25
|
+
createS3Client: params.createS3Client,
|
|
26
|
+
getLambdaTrigger: ()=>lambdaTrigger
|
|
27
|
+
});
|
|
28
|
+
const deleteFile = new DeleteFile({
|
|
29
|
+
createS3Client: params.createS3Client,
|
|
30
|
+
getLambdaTrigger: ()=>lambdaTrigger
|
|
31
|
+
});
|
|
32
|
+
const copyUser = new CopyUser({
|
|
33
|
+
createCognitoIdentityProviderClient: params.createCognitoIdentityProviderClient,
|
|
34
|
+
getLambdaTrigger: ()=>lambdaTrigger
|
|
35
|
+
});
|
|
36
|
+
const deleteUser = new DeleteUser({
|
|
37
|
+
createCognitoIdentityProviderClient: params.createCognitoIdentityProviderClient,
|
|
38
|
+
getLambdaTrigger: ()=>lambdaTrigger
|
|
39
|
+
});
|
|
40
|
+
const plugins = new PluginsContainer([
|
|
41
|
+
createFileManagerPlugins({
|
|
42
|
+
copyFile,
|
|
43
|
+
deleteFile
|
|
44
|
+
}),
|
|
45
|
+
createUsersPlugins({
|
|
46
|
+
copyUser,
|
|
47
|
+
deleteUser
|
|
48
|
+
}),
|
|
49
|
+
createEventHandlerPlugin({
|
|
50
|
+
createDocumentClient: params.createDocumentClient,
|
|
51
|
+
tableName: params.tableName || process.env.DB_TABLE
|
|
52
|
+
}),
|
|
53
|
+
createPutCommandHandlerPlugin(),
|
|
54
|
+
createDeleteCommandHandlerPlugin()
|
|
55
|
+
]);
|
|
56
|
+
plugins.register(params.plugins);
|
|
57
|
+
return createHandler({
|
|
58
|
+
...params,
|
|
59
|
+
plugins
|
|
60
|
+
});
|
|
70
61
|
};
|
|
62
|
+
export { createResolverHandler };
|
|
71
63
|
|
|
72
64
|
//# sourceMappingURL=createResolverHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/createResolverHandler.js","sources":["../../src/resolver/createResolverHandler.ts"],"sourcesContent":["import type { HandlerCallable, HandlerParams } from \"@webiny/handler-aws/sqs/index.js\";\nimport { createHandler as createSQSHandler } from \"@webiny/handler-aws/sqs/index.js\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { createEventHandlerPlugin } from \"./createEventHandlerPlugin.js\";\nimport type { TransformRecordPlugin } from \"./plugins/TransformRecordPlugin.js\";\nimport type { CommandHandlerPlugin } from \"./plugins/CommandHandlerPlugin.js\";\nimport { createPutCommandHandlerPlugin } from \"./app/commandHandler/put.js\";\nimport { createDeleteCommandHandlerPlugin } from \"./app/commandHandler/delete.js\";\nimport type {\n DynamoDBClientConfig,\n DynamoDBDocument\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { createFileManagerPlugins } from \"./recordTypes/fileManager/fileManager.js\";\nimport { LambdaTrigger } from \"./lambda/LambdaTrigger.js\";\nimport type { LambdaClient, LambdaClientConfig } from \"@webiny/aws-sdk/client-lambda/index.js\";\nimport type { S3Client, S3ClientConfig } from \"@webiny/aws-sdk/client-s3/index.js\";\nimport { CopyFile } from \"~/resolver/recordTypes/fileManager/CopyFile.js\";\nimport { DeleteFile } from \"./recordTypes/fileManager/DeleteFile.js\";\nimport { createUsersPlugins } from \"~/resolver/recordTypes/users/users.js\";\nimport { CopyUser } from \"./recordTypes/users/CopyUser.js\";\nimport type {\n CognitoIdentityProviderClient,\n CognitoIdentityProviderClientConfig\n} from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { DeleteUser } from \"./recordTypes/users/DeleteUser.js\";\n\nexport type AllowedResolverPlugins = TransformRecordPlugin | CommandHandlerPlugin;\n\nexport interface ICreateResolverHandlerParams extends HandlerParams {\n plugins: AllowedResolverPlugins[];\n createS3Client: (params: S3ClientConfig) => Pick<S3Client, \"send\">;\n createLambdaClient: (config: Partial<LambdaClientConfig>) => Pick<LambdaClient, \"send\">;\n createDocumentClient: (params: Partial<DynamoDBClientConfig>) => Pick<DynamoDBDocument, \"send\">;\n createCognitoIdentityProviderClient: (\n config: Partial<CognitoIdentityProviderClientConfig>\n ) => Pick<CognitoIdentityProviderClient, \"send\">;\n tableName?: string;\n awsWorkerLambdaArn?: string;\n}\n/**\n * Handler for the Sync System Resolver - based on SQS handler.\n */\nexport const createResolverHandler = (params: ICreateResolverHandlerParams): HandlerCallable => {\n const awsWorkerLambdaArn = params.awsWorkerLambdaArn || process.env.AWS_SYNC_WORKER_LAMBDA_ARN;\n if (!awsWorkerLambdaArn) {\n const message = `Missing \"process.env.AWS_SYNC_WORKER_LAMBDA_ARN\".`;\n console.error(message);\n throw new Error(message);\n }\n\n const lambdaTrigger = new LambdaTrigger({\n arn: awsWorkerLambdaArn,\n createLambdaClient: params.createLambdaClient\n });\n\n const copyFile = new CopyFile({\n createS3Client: params.createS3Client,\n getLambdaTrigger: () => {\n return lambdaTrigger;\n }\n });\n const deleteFile = new DeleteFile({\n createS3Client: params.createS3Client,\n getLambdaTrigger: () => {\n return lambdaTrigger;\n }\n });\n\n const copyUser = new CopyUser({\n createCognitoIdentityProviderClient: params.createCognitoIdentityProviderClient,\n getLambdaTrigger: () => {\n return lambdaTrigger;\n }\n });\n const deleteUser = new DeleteUser({\n createCognitoIdentityProviderClient: params.createCognitoIdentityProviderClient,\n getLambdaTrigger: () => {\n return lambdaTrigger;\n }\n });\n\n const plugins = new PluginsContainer([\n // TODO move into related packages\n createFileManagerPlugins({\n copyFile,\n deleteFile\n }),\n createUsersPlugins({\n copyUser,\n deleteUser\n }),\n // leave here\n createEventHandlerPlugin({\n createDocumentClient: params.createDocumentClient,\n tableName: params.tableName || process.env.DB_TABLE\n }),\n createPutCommandHandlerPlugin(),\n createDeleteCommandHandlerPlugin()\n ]);\n\n plugins.register(params.plugins);\n\n return createSQSHandler({\n ...params,\n plugins\n });\n};\n"],"names":["createResolverHandler","params","awsWorkerLambdaArn","process","message","console","Error","lambdaTrigger","LambdaTrigger","copyFile","CopyFile","deleteFile","DeleteFile","copyUser","CopyUser","deleteUser","DeleteUser","plugins","PluginsContainer","createFileManagerPlugins","createUsersPlugins","createEventHandlerPlugin","createPutCommandHandlerPlugin","createDeleteCommandHandlerPlugin","createSQSHandler"],"mappings":";;;;;;;;;;;;AA0CO,MAAMA,wBAAwB,CAACC;IAClC,MAAMC,qBAAqBD,OAAO,kBAAkB,IAAIE,QAAQ,GAAG,CAAC,0BAA0B;IAC9F,IAAI,CAACD,oBAAoB;QACrB,MAAME,UAAU;QAChBC,QAAQ,KAAK,CAACD;QACd,MAAM,IAAIE,MAAMF;IACpB;IAEA,MAAMG,gBAAgB,IAAIC,cAAc;QACpC,KAAKN;QACL,oBAAoBD,OAAO,kBAAkB;IACjD;IAEA,MAAMQ,WAAW,IAAIC,SAAS;QAC1B,gBAAgBT,OAAO,cAAc;QACrC,kBAAkB,IACPM;IAEf;IACA,MAAMI,aAAa,IAAIC,WAAW;QAC9B,gBAAgBX,OAAO,cAAc;QACrC,kBAAkB,IACPM;IAEf;IAEA,MAAMM,WAAW,IAAIC,SAAS;QAC1B,qCAAqCb,OAAO,mCAAmC;QAC/E,kBAAkB,IACPM;IAEf;IACA,MAAMQ,aAAa,IAAIC,WAAW;QAC9B,qCAAqCf,OAAO,mCAAmC;QAC/E,kBAAkB,IACPM;IAEf;IAEA,MAAMU,UAAU,IAAIC,iBAAiB;QAEjCC,yBAAyB;YACrBV;YACAE;QACJ;QACAS,mBAAmB;YACfP;YACAE;QACJ;QAEAM,yBAAyB;YACrB,sBAAsBpB,OAAO,oBAAoB;YACjD,WAAWA,OAAO,SAAS,IAAIE,QAAQ,GAAG,CAAC,QAAQ;QACvD;QACAmB;QACAC;KACH;IAEDN,QAAQ,QAAQ,CAAChB,OAAO,OAAO;IAE/B,OAAOuB,cAAiB;QACpB,GAAGvB,MAAM;QACTgB;IACJ;AACJ"}
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
class Deployment {
|
|
2
|
+
constructor(params){
|
|
3
|
+
this.name = params.name;
|
|
4
|
+
this.env = params.env;
|
|
5
|
+
this.variant = params.variant;
|
|
6
|
+
this.region = params.region;
|
|
7
|
+
this.services = params.services;
|
|
8
|
+
this.version = params.version;
|
|
9
|
+
}
|
|
10
|
+
getTable(type) {
|
|
11
|
+
switch(type){
|
|
12
|
+
case "regular":
|
|
13
|
+
return {
|
|
14
|
+
name: this.services.primaryDynamoDbName,
|
|
15
|
+
arn: this.services.primaryDynamoDbArn,
|
|
16
|
+
type
|
|
17
|
+
};
|
|
18
|
+
case "opensearch":
|
|
19
|
+
if (!this.services.opensearchDynamodbTableName || !this.services.opensearchDynamodbTableArn) throw new Error(`Unknown table type "${type}" - no data.`);
|
|
20
|
+
return {
|
|
21
|
+
name: this.services.opensearchDynamodbTableName,
|
|
22
|
+
arn: this.services.opensearchDynamodbTableArn,
|
|
23
|
+
type
|
|
24
|
+
};
|
|
25
|
+
default:
|
|
26
|
+
throw new Error(`Unknown table type "${type}".`);
|
|
21
27
|
}
|
|
22
|
-
return {
|
|
23
|
-
name: this.services.opensearchDynamodbTableName,
|
|
24
|
-
arn: this.services.opensearchDynamodbTableArn,
|
|
25
|
-
type
|
|
26
|
-
};
|
|
27
|
-
default:
|
|
28
|
-
throw new Error(`Unknown table type "${type}".`);
|
|
29
28
|
}
|
|
30
|
-
}
|
|
31
29
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
30
|
+
const createDeployment = (params)=>new Deployment(params);
|
|
31
|
+
export { Deployment, createDeployment };
|
|
35
32
|
|
|
36
33
|
//# sourceMappingURL=Deployment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"resolver/deployment/Deployment.js","sources":["../../../src/resolver/deployment/Deployment.ts"],"sourcesContent":["import type { SemVer } from \"semver\";\nimport type { IDeployment, IDeploymentServices } from \"./types.js\";\nimport type { DynamoDBTableType } from \"~/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport type IDeploymentParams = Omit<IDeployment, \"getTable\">;\n\nexport class Deployment implements IDeployment {\n public readonly name: string;\n public readonly env: string;\n public readonly variant: string | undefined;\n public readonly region: string;\n public readonly services: IDeploymentServices;\n public readonly version: SemVer;\n\n public constructor(params: IDeploymentParams) {\n this.name = params.name;\n this.env = params.env;\n this.variant = params.variant;\n this.region = params.region;\n this.services = params.services;\n this.version = params.version;\n }\n\n public getTable(type: DynamoDBTableType): ITable {\n switch (type) {\n case \"regular\":\n return {\n name: this.services.primaryDynamoDbName,\n arn: this.services.primaryDynamoDbArn,\n type\n };\n case \"opensearch\":\n if (\n !this.services.opensearchDynamodbTableName ||\n !this.services.opensearchDynamodbTableArn\n ) {\n throw new Error(`Unknown table type \"${type}\" - no data.`);\n }\n return {\n name: this.services.opensearchDynamodbTableName,\n arn: this.services.opensearchDynamodbTableArn,\n type\n };\n default:\n throw new Error(`Unknown table type \"${type}\".`);\n }\n }\n}\n\nexport const createDeployment = (params: IDeploymentParams): IDeployment => {\n return new Deployment(params);\n};\n"],"names":["Deployment","params","type","Error","createDeployment"],"mappings":"AAOO,MAAMA;IAQT,YAAmBC,MAAyB,CAAE;QAC1C,IAAI,CAAC,IAAI,GAAGA,OAAO,IAAI;QACvB,IAAI,CAAC,GAAG,GAAGA,OAAO,GAAG;QACrB,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO;QAC7B,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,QAAQ,GAAGA,OAAO,QAAQ;QAC/B,IAAI,CAAC,OAAO,GAAGA,OAAO,OAAO;IACjC;IAEO,SAASC,IAAuB,EAAU;QAC7C,OAAQA;YACJ,KAAK;gBACD,OAAO;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB;oBACvC,KAAK,IAAI,CAAC,QAAQ,CAAC,kBAAkB;oBACrCA;gBACJ;YACJ,KAAK;gBACD,IACI,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,IAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAEzC,MAAM,IAAIC,MAAM,CAAC,oBAAoB,EAAED,KAAK,YAAY,CAAC;gBAE7D,OAAO;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,2BAA2B;oBAC/C,KAAK,IAAI,CAAC,QAAQ,CAAC,0BAA0B;oBAC7CA;gBACJ;YACJ;gBACI,MAAM,IAAIC,MAAM,CAAC,oBAAoB,EAAED,KAAK,EAAE,CAAC;QACvD;IACJ;AACJ;AAEO,MAAME,mBAAmB,CAACH,SACtB,IAAID,WAAWC"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
});
|
|
20
|
-
}
|
|
1
|
+
class Deployments {
|
|
2
|
+
constructor(params){
|
|
3
|
+
this.deployments = params.deployments;
|
|
4
|
+
}
|
|
5
|
+
hasAny() {
|
|
6
|
+
return this.deployments.length > 0;
|
|
7
|
+
}
|
|
8
|
+
all() {
|
|
9
|
+
return this.deployments;
|
|
10
|
+
}
|
|
11
|
+
get(name) {
|
|
12
|
+
return this.deployments.find((deployment)=>deployment.name === name) || null;
|
|
13
|
+
}
|
|
14
|
+
without(input) {
|
|
15
|
+
return createDeployments({
|
|
16
|
+
deployments: this.deployments.filter((deployment)=>deployment.name !== input.name)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
20
|
+
const createDeployments = (params)=>new Deployments(params);
|
|
21
|
+
export { Deployments, createDeployments };
|
|
25
22
|
|
|
26
23
|
//# sourceMappingURL=Deployments.js.map
|