@sylvesterllc/aws-constructs 1.0.90 → 1.0.92
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/dist/constructs/MicroService.d.ts +9 -0
- package/dist/constructs/MicroService.js +16 -1
- package/dist/helpers/util-helper.d.ts +1 -0
- package/dist/helpers/util-helper.js +9 -0
- package/dist/resources/gateway/CreateApiAndAttachLambdas.d.ts +3 -0
- package/dist/resources/gateway/CreateApiAndAttachLambdas.js +6 -1
- package/dist/resources/lambda/createLambda.js +12 -10
- package/package.json +3 -1
- package/src/constructs/MicroService.ts +30 -9
- package/src/helpers/util-helper.ts +6 -0
- package/src/resources/gateway/CreateApiAndAttachLambdas.ts +22 -15
- package/src/resources/lambda/createLambda.ts +16 -14
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
1
2
|
import { Construct } from "constructs";
|
|
2
3
|
import { MicroserviceProps } from "../interfaces/MicroserviceProps";
|
|
3
4
|
import { AppConfig } from "../config/AppConfig";
|
|
5
|
+
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
6
|
+
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
7
|
+
import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
|
|
4
8
|
export declare class MicroService extends Construct {
|
|
5
9
|
protected readonly requireDynamoTables: boolean;
|
|
6
10
|
protected requireSeedDatabase: boolean;
|
|
@@ -10,6 +14,11 @@ export declare class MicroService extends Construct {
|
|
|
10
14
|
private readonly dynamoTables;
|
|
11
15
|
private readonly lambdaLayers;
|
|
12
16
|
private readonly secretManager;
|
|
17
|
+
private readonly lambdas;
|
|
18
|
+
get Tables(): Table[] | undefined;
|
|
19
|
+
get SecretManager(): ISecret | null;
|
|
20
|
+
get LambdaLayers(): LayerVersion[] | undefined;
|
|
21
|
+
get Lambdas(): NodejsFunction[];
|
|
13
22
|
constructor(scope: Construct, id: string, props: MicroserviceProps);
|
|
14
23
|
private onInit;
|
|
15
24
|
protected createTag(scope: Construct): void;
|
|
@@ -19,6 +19,19 @@ class MicroService extends constructs_1.Construct {
|
|
|
19
19
|
dynamoTables;
|
|
20
20
|
lambdaLayers;
|
|
21
21
|
secretManager = null;
|
|
22
|
+
lambdas = [];
|
|
23
|
+
get Tables() {
|
|
24
|
+
return this.dynamoTables;
|
|
25
|
+
}
|
|
26
|
+
get SecretManager() {
|
|
27
|
+
return this.secretManager;
|
|
28
|
+
}
|
|
29
|
+
get LambdaLayers() {
|
|
30
|
+
return this.lambdaLayers;
|
|
31
|
+
}
|
|
32
|
+
get Lambdas() {
|
|
33
|
+
return this.lambdas;
|
|
34
|
+
}
|
|
22
35
|
constructor(scope, id, props) {
|
|
23
36
|
super(scope, id);
|
|
24
37
|
this.appConfig = new AppConfig_1.AppConfig(props);
|
|
@@ -33,6 +46,7 @@ class MicroService extends constructs_1.Construct {
|
|
|
33
46
|
this.dynamoTables = results.dynamoTables;
|
|
34
47
|
this.lambdaLayers = results.lambdaLayers;
|
|
35
48
|
this.secretManager = results.secretManager;
|
|
49
|
+
this.lambdas = results.lambdas;
|
|
36
50
|
this.createTag(scope);
|
|
37
51
|
}
|
|
38
52
|
onInit(scope) {
|
|
@@ -64,6 +78,7 @@ class MicroService extends constructs_1.Construct {
|
|
|
64
78
|
lambdaLayers: layers || null,
|
|
65
79
|
dynamoTables: tables || null,
|
|
66
80
|
secretManager: secretManager,
|
|
81
|
+
lambdas: apiGateway.Lambdas,
|
|
67
82
|
};
|
|
68
83
|
}
|
|
69
84
|
createTag(scope) {
|
|
@@ -72,4 +87,4 @@ class MicroService extends constructs_1.Construct {
|
|
|
72
87
|
}
|
|
73
88
|
}
|
|
74
89
|
exports.MicroService = MicroService;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBR2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7WUFDakUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENB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Q0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUFuRkQsb0NBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5leHBvcnQgY2xhc3MgTWljcm9TZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZXF1aXJlU2VlZERhdGFiYXNlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc0xhbWJkYUxheWVyczogYm9vbGVhbiA9IGZhbHNlOyAgXG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpOyAgXG4gICAgICAgICAgICAgICBcbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5TRUVEX0xBTUJEQSkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5oYXNMYW1iZGFMYXllcnMgPSAocHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMgJiYgXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5vbkluaXQoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgc2VjcmV0TWFuYWdlcjogSVNlY3JldCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgIHNlY3JldE1hbmFnZXIgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIC8vIENSRUFURSBBUEkgR0FURVdBWSBBTkQgTEFNQkRBIEhFUkUgXG4gICAgICAgIGNvbnN0IGFwaUdhdGV3YXkgPSBuZXcgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyhzY29wZSwgdGhpcy5hcHBDb25maWcsIGdhdGV3YXlbMF0sIGxheWVycyx0YWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcblxuICAgICAgICB9O1xuICAgICAgIFxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWcoc2NvcGU6IENvbnN0cnVjdCkge1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ0FwcCcsIHRoaXMuYXBwQ29uZmlnLkFwcE5hbWUpO1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ1Jlc291Y2VQcmVmaXgnLCB0aGlzLmFwcENvbmZpZy5BcHBQcmVmaXgpO1xuICAgIH1cbn0iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBSWhILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUNyQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUVoRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07WUFDdEQs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Q0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEQsWUFBWSxFQUFFLE1BQU0sSUFBSSxJQUFJO1lBQzVCLFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FFOUIsQ0FBQztJQUVOLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBZ0I7UUFDaEMsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUF2R0Qsb0NBdUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuZXhwb3J0IGNsYXNzIE1pY3JvU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUR5bmFtb1RhYmxlczogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZVNlZWREYXRhYmFzZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYXNMYW1iZGFMYXllcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IElSZXN0QXBpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1vVGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFtYmRhTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3JldE1hbmFnZXI6IElTZWNyZXQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5keW5hbW9UYWJsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTZWNyZXRNYW5hZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWNyZXRNYW5hZ2VyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhTGF5ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFMYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZyhwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuRFlOQU1PLlNFRURfTEFNQkRBKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLmhhc0xhbWJkYUxheWVycyA9IChwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMub25Jbml0KHNjb3BlKTtcblxuICAgICAgICB0aGlzLmFwaSA9IHJlc3VsdHMucmVzdEFwaSE7XG4gICAgICAgIHRoaXMuZHluYW1vVGFibGVzID0gcmVzdWx0cy5keW5hbW9UYWJsZXMhO1xuICAgICAgICB0aGlzLmxhbWJkYUxheWVycyA9IHJlc3VsdHMubGFtYmRhTGF5ZXJzITtcbiAgICAgICAgdGhpcy5zZWNyZXRNYW5hZ2VyID0gcmVzdWx0cy5zZWNyZXRNYW5hZ2VyITtcblxuICAgICAgICB0aGlzLmxhbWJkYXMgPSByZXN1bHRzLmxhbWJkYXMhO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgc2VjcmV0TWFuYWdlcjogSVNlY3JldCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlciA9IGdldFNlY3JldE1hbmFnZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCBwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTGFtYmRhTGF5ZXJzKSB7XG4gICAgICAgICAgICBjb21tb25MYXllcnMgPSBjcmVhdGVDb21tb25MYXllcihzY29wZSwgdGhpcy5hcHBDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ2F0ZXdheSA9IG5ldyBBcGkoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKS5BUElzO1xuXG4gICAgICAgIGNvbnN0IGxheWVycyA9IGNvbW1vbkxheWVycztcblxuICAgICAgICAvLyBDcmVhdGVzIER5bmFtb0RiIFRhYmxlcyBpZiByZXF1aXJlZFxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkeW5hbW8gPSBuZXcgQ3JlYXRlRHluYW1vRGIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgdGFibGVzID0gZHluYW1vLkNyZWF0ZWRUYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlKSB7XG4gICAgICAgICAgICBjcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZShzY29wZSwgdGhpcy5hcHBDb25maWcsIHRhYmxlcyFbMF0sIGxheWVycyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDUkVBVEUgQVBJIEdBVEVXQVkgQU5EIExBTUJEQSBIRVJFIFxuICAgICAgICBjb25zdCBhcGlHYXRld2F5ID0gbmV3IENyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXMoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCBnYXRld2F5WzBdLCBsYXllcnMsIHRhYmxlcyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3RBcGk6IChnYXRld2F5Py5sZW5ndGggPiAwKSA/IGdhdGV3YXlbMF0gOiBudWxsLFxuICAgICAgICAgICAgbGFtYmRhTGF5ZXJzOiBsYXllcnMgfHwgbnVsbCxcbiAgICAgICAgICAgIGR5bmFtb1RhYmxlczogdGFibGVzIHx8IG51bGwsXG4gICAgICAgICAgICBzZWNyZXRNYW5hZ2VyOiBzZWNyZXRNYW5hZ2VyLFxuICAgICAgICAgICAgbGFtYmRhczogYXBpR2F0ZXdheS5MYW1iZGFzLFxuXG4gICAgICAgIH07XG5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getUUID: () => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUUID = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const getUUID = () => {
|
|
6
|
+
return (0, uuid_1.v4)();
|
|
7
|
+
};
|
|
8
|
+
exports.getUUID = getUUID;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy91dGlsLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0M7QUFFN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO0lBRXhCLE9BQU8sSUFBQSxTQUFNLEdBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFIVyxRQUFBLE9BQU8sV0FHbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuZXhwb3J0IGNvbnN0IGdldFVVSUQgPSAoKSA9PiB7XG5cbiAgICByZXR1cm4gdXVpZHY0KCk7XG59OyJdfQ==
|
|
@@ -6,12 +6,15 @@ import { ApiLambdaResult } from "../../interfaces/ApiLambdaResult";
|
|
|
6
6
|
import { TsgAuthorizerType } from "../../config/types/TsgAuthorizerType";
|
|
7
7
|
import { IRestApi } from "aws-cdk-lib/aws-apigateway";
|
|
8
8
|
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
9
|
+
import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
|
|
9
10
|
export declare class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
10
11
|
private gatewayApi;
|
|
11
12
|
private layers?;
|
|
12
13
|
private tables?;
|
|
13
14
|
protected requireAuthorizer: boolean;
|
|
14
15
|
protected authorizerType?: TsgAuthorizerType;
|
|
16
|
+
private lambdas;
|
|
17
|
+
get Lambdas(): NodejsFunction[];
|
|
15
18
|
constructor(scope: Construct, config: AppConfig, gatewayApi: IRestApi, layers?: LayerVersion[] | undefined, tables?: ITable[] | undefined);
|
|
16
19
|
protected createResource(scope: Construct): ApiLambdaResult[] | null;
|
|
17
20
|
protected createOutput<T>(scope: Construct, createdAssets: T[]): void;
|
|
@@ -14,6 +14,10 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
|
|
|
14
14
|
tables;
|
|
15
15
|
requireAuthorizer;
|
|
16
16
|
authorizerType;
|
|
17
|
+
lambdas = [];
|
|
18
|
+
get Lambdas() {
|
|
19
|
+
return this.lambdas;
|
|
20
|
+
}
|
|
17
21
|
constructor(scope, config, gatewayApi, layers, tables) {
|
|
18
22
|
super(scope, config);
|
|
19
23
|
this.gatewayApi = gatewayApi;
|
|
@@ -43,6 +47,7 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
|
|
|
43
47
|
}
|
|
44
48
|
// Create Lambdas
|
|
45
49
|
const lambdas = new createLambda_1.CreateLambda(scope, this.config, this.layers);
|
|
50
|
+
this.lambdas = lambdas.Lambdas;
|
|
46
51
|
// Give Access to Lambdds to All DynamoDb Tables
|
|
47
52
|
if (this.tables) {
|
|
48
53
|
this.assignAccessToTables(this.tables, lambdas.Lambdas);
|
|
@@ -102,4 +107,4 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
|
|
|
102
107
|
}
|
|
103
108
|
}
|
|
104
109
|
exports.CreateApiAndAttachLambdas = CreateApiAndAttachLambdas;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQU81RDtJQUNBO0lBQ0E7SUFQRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRTdDLFlBQVksS0FBZ0IsRUFDeEIsTUFBaUIsRUFDVCxVQUFvQixFQUNwQixNQUF1QixFQUN2QixNQUFpQjtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBR3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztRQUNqRSxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxV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bUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcbiAgICBcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZUF1dGhvcml6ZXI6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGF1dGhvcml6ZXJUeXBlPzogVHNnQXV0aG9yaXplclR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LFxuICAgICAgICBjb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBnYXRld2F5QXBpOiBJUmVzdEFwaSxcbiAgICAgICAgcHJpdmF0ZSBsYXllcnM/OiBMYXllclZlcnNpb25bXSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZXM/OiBJVGFibGVbXSkge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUi50eXBlKSA/IHRydWUgOiBmYWxzZTsgICAgICAgXG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplclR5cGUgPSB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUj8udHlwZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUiAmJiAhdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIudHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIGFuIGF1dGhvcml6ZXIgdHlwZSBpZiBhIEF1dGhvcml6ZXIgaXMgcmVxdWlyZWRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpITtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IEFwaUxhbWJkYVJlc3VsdFtdIHwgbnVsbCB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkIHwgbnVsbCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBDcmVhdGUgQXV0aG9yaXplclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplcikge1xuICAgICAgICAgICAgYXV0aG9yaXplciA9IHRoaXMuY3JlYXRlQXV0aG9yaXplcigpO1xuXG4gICAgICAgICAgICBpZiAoIWF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnQXV0aG9yaXplciBOb3QgQ3JlYXRlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgQ3JlYXRlZCcsIGF1dGhvcml6ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIExhbWJkYXNcbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEoc2NvcGUsIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycyk7XG4gICAgICAgIFxuICAgICAgICAvLyBHaXZlIEFjY2VzcyB0byBMYW1iZGRzIHRvIEFsbCBEeW5hbW9EYiBUYWJsZXNcbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBDcmVhdGUgUm91dGVzIG9uIEFQSSBHYXRld2F5IGZvciBMYW1iZGFzIGZyb20gY29uZmlnXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMuY29uZmlnLCB0aGlzLmdhdGV3YXlBcGksIGxhbWJkYXMuTGFtYmRhcywgYXV0aG9yaXplcik7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBBcGlMYW1iZGFSZXN1bHQgPSB7XG4gICAgICAgICAgICBhcGk6IHRoaXMuZ2F0ZXdheUFwaSxcbiAgICAgICAgICAgIGF1dGhvcml6ZXI6IGF1dGhvcml6ZXJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtyZXN1bHRdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYEF1dGhvcml6ZXJyLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5hdXRob3JpemVyPy5hdXRob3JpemVyQXJuIVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gICAgXG5cbiAgICBwcml2YXRlIGNyZWF0ZUF1dGhvcml6ZXIoKSB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlRPS0VOX0FVVEhPUklaRVIpIHtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dKd3RUb2tlbkF1dGhvcml6ZXIodGhpcy5zY29wZSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZykuSnd0QXV0aG9yaXplcjtcblxuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgVG9rZW5BdXRob3JpemVyKT8uX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBUb2tlbkF1dGhvcml6ZXIpPy5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG5cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlJFUVVFU1RfQVVUSE9SSVpFUikgeyAgICAgICAgICAgIFxuXG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IFRzZ1JlcXVlc3RBdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcsIHRoaXMubGF5ZXJzLCB0aGlzLnRhYmxlcykuVHNnUmVxdWVzdEF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFJlcXVlc3RBdXRob3JpemVyKS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG4gICAgICAgIH1cblxuICAgICAgIFxuICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogSVRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMoY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyfFJlcXVlc3RBdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uZmlnLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQWE1RDtJQUNBO0lBQ0E7SUFiRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRXJDLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRXZDLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUN4QixNQUFpQixFQUNULFVBQW9CLEVBQ3BCLE1BQXVCLEVBQ3ZCLE1BQWlCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFVO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQ2pFLENBQUM7YUFB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QztZQUN6RCxDQUFDO1lBRUQscUJBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUExSUQsOERBMElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcblxuICAgIHByb3RlY3RlZCByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgYXV0aG9yaXplclR5cGU/OiBUc2dBdXRob3JpemVyVHlwZTtcblxuICAgIHByaXZhdGUgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICAgIGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGdhdGV3YXlBcGk6IElSZXN0QXBpLFxuICAgICAgICBwcml2YXRlIGxheWVycz86IExheWVyVmVyc2lvbltdLFxuICAgICAgICBwcml2YXRlIHRhYmxlcz86IElUYWJsZVtdKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZXJUeXBlID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVI/LnR5cGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgIXRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSBhbiBhdXRob3JpemVyIHR5cGUgaWYgYSBBdXRob3JpemVyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKSE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlMYW1iZGFSZXN1bHRbXSB8IG51bGwge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcblxuICAgICAgICAgICAgaWYgKCFhdXRob3JpemVyKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgTm90IENyZWF0ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdBdXRob3JpemVyIENyZWF0ZWQnLCBhdXRob3JpemVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMpO1xuICAgICAgICB0aGlzLmxhbWJkYXMgPSBsYW1iZGFzLkxhbWJkYXM7XG5cbiAgICAgICAgLy8gR2l2ZSBBY2Nlc3MgdG8gTGFtYmRkcyB0byBBbGwgRHluYW1vRGIgVGFibGVzXG4gICAgICAgIGlmICh0aGlzLnRhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25BY2Nlc3NUb1RhYmxlcyh0aGlzLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBSb3V0ZXMgb24gQVBJIEdhdGV3YXkgZm9yIExhbWJkYXMgZnJvbSBjb25maWdcbiAgICAgICAgdGhpcy5BZGRSb3V0ZXModGhpcy5jb25maWcsIHRoaXMuZ2F0ZXdheUFwaSwgbGFtYmRhcy5MYW1iZGFzLCBhdXRob3JpemVyKTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IEFwaUxhbWJkYVJlc3VsdCA9IHtcbiAgICAgICAgICAgIGFwaTogdGhpcy5nYXRld2F5QXBpLFxuICAgICAgICAgICAgYXV0aG9yaXplcjogYXV0aG9yaXplclxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gW3Jlc3VsdF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYEF1dGhvcml6ZXJyLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5hdXRob3JpemVyPy5hdXRob3JpemVyQXJuIVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXV0aG9yaXplcigpIHtcblxuICAgICAgICBsZXQgYXV0aG9yaXplcjogVG9rZW5BdXRob3JpemVyIHwgUmVxdWVzdEF1dGhvcml6ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgJiYgdGhpcy5hdXRob3JpemVyVHlwZSA9PT0gVHNnQXV0aG9yaXplclR5cGUuVE9LRU5fQVVUSE9SSVpFUikge1xuXG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IFRzZ0p3dFRva2VuQXV0aG9yaXplcih0aGlzLnNjb3BlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnKS5Kd3RBdXRob3JpemVyO1xuXG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBUb2tlbkF1dGhvcml6ZXIpPy5fYXR0YWNoVG9BcGkodGhpcy5nYXRld2F5QXBpKTtcbiAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFRva2VuQXV0aG9yaXplcik/LmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcblxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgJiYgdGhpcy5hdXRob3JpemVyVHlwZSA9PT0gVHNnQXV0aG9yaXplclR5cGUuUkVRVUVTVF9BVVRIT1JJWkVSKSB7XG5cbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgVHNnUmVxdWVzdEF1dGhvcml6ZXIodGhpcy5zY29wZSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMsIHRoaXMudGFibGVzKS5Uc2dSZXF1ZXN0QXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcjtcblxuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3NpZ25BY2Nlc3NUb1RhYmxlcyh0YWJsZXM6IElUYWJsZVtdLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlcykge1xuICAgICAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IElUYWJsZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQWRkUm91dGVzKGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBnYXRld2F5OiBJUmVzdEFwaSxcbiAgICAgICAgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSxcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uZmlnLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -8,6 +8,7 @@ const path = require("path");
|
|
|
8
8
|
const baseResource_1 = require("../base/baseResource");
|
|
9
9
|
const aws_logs_1 = require("aws-cdk-lib/aws-logs");
|
|
10
10
|
const lambdaHelper_1 = require("./lambdaHelper");
|
|
11
|
+
const util_helper_1 = require("../../helpers/util-helper");
|
|
11
12
|
class CreateLambda extends baseResource_1.BaseResource {
|
|
12
13
|
layers;
|
|
13
14
|
Lambdas = [];
|
|
@@ -93,29 +94,30 @@ class CreateLambda extends baseResource_1.BaseResource {
|
|
|
93
94
|
const invocationMetric = lambda.metricInvocations({
|
|
94
95
|
period: aws_cdk_lib_1.Duration.minutes(3),
|
|
95
96
|
});
|
|
96
|
-
|
|
97
|
+
const uuid = (0, util_helper_1.getUUID)().split('-')[0];
|
|
98
|
+
new aws_cloudwatch_1.Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-error-alarm`, {
|
|
97
99
|
metric: errorMetric,
|
|
98
100
|
threshold: 5,
|
|
99
101
|
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
100
102
|
evaluationPeriods: 3,
|
|
101
|
-
alarmDescription: `${this.config.AppPrefix}
|
|
102
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
103
|
+
alarmDescription: `${this.config.AppPrefix} errors over 3 min period`,
|
|
104
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-error-alarm`
|
|
103
105
|
});
|
|
104
|
-
new aws_cloudwatch_1.Alarm(this.scope, `${this.config.AppPrefix}-${
|
|
106
|
+
new aws_cloudwatch_1.Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-duration-alarm`, {
|
|
105
107
|
metric: durationMetric,
|
|
106
108
|
threshold: 1,
|
|
107
109
|
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
108
110
|
evaluationPeriods: 3,
|
|
109
|
-
alarmDescription: `${this.config.AppPrefix}-${
|
|
110
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
111
|
+
alarmDescription: `${this.config.AppPrefix}-${uuid} duration errors over 3 min period`,
|
|
112
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-duration-alarm`
|
|
111
113
|
});
|
|
112
|
-
const invocationAlarm = new aws_cloudwatch_1.Alarm(this.scope, `${this.config.AppPrefix}-${
|
|
114
|
+
const invocationAlarm = new aws_cloudwatch_1.Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-invocation-alarm`, {
|
|
113
115
|
metric: errorMetric,
|
|
114
116
|
threshold: 1000,
|
|
115
117
|
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
116
118
|
evaluationPeriods: 3,
|
|
117
|
-
alarmDescription: `${this.config.AppPrefix}-${
|
|
118
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
119
|
+
alarmDescription: `${this.config.AppPrefix}-${uuid} errors over 3 min period`,
|
|
120
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-invocation-Metric-alarm`
|
|
119
121
|
});
|
|
120
122
|
});
|
|
121
123
|
}
|
|
@@ -135,4 +137,4 @@ class CreateLambda extends baseResource_1.BaseResource {
|
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
139
|
exports.CreateLambda = CreateLambda;
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFHckYscUVBQW1HO0FBRW5HLDZCQUE2QjtBQU03Qix1REFBb0Q7QUFDcEQsbURBQXFEO0FBQ3JELGlEQUE4QztBQUc5QyxNQUFhLFlBQWEsU0FBUSwyQkFBNEI7SUFLRDtJQUhsRCxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUMvQixhQUFhLEdBQW1DLEVBQUUsQ0FBQztJQUUxRCxZQUFZLEtBQWdCLEVBQUUsTUFBaUIsRUFBVSxNQUF1QjtRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRGdDLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBRzVFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRXJDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFUyxZQUFZ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QUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBVSxDQUFDO1FBS3hDLE1BQU0sWUFBWSxHQUF1QyxFQUF3QyxDQUFDO1FBRWxHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUIsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWdCLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0NBQ0o7QUF6S0Qsb0NBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBJQWxhcm1BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IElSb2xlLCBNYW5hZ2VkUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBMYW1iZGFIZWxwZXIgfSBmcm9tIFwiLi9sYW1iZGFIZWxwZXJcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlTGFtYmRhIGV4dGVuZHMgQmFzZVJlc291cmNlPE5vZGVqc0Z1bmN0aW9uPiB7XG5cbiAgICBwdWJsaWMgTGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuICAgIHB1YmxpYyBMYW1iZGFSZWNvcmRzOiBSZWNvcmQ8c3RyaW5nLCBOb2RlanNGdW5jdGlvbj4gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIGxheWVycz86IExheWVyVmVyc2lvbltdKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IFsuLi5yZXNvdXJjZXNdO1xuXG4gICAgICAgIHRoaXMuTGFtYmRhcyA9IFsuLi5yZXNvdXJjZXNdO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlQWxhcm1zRm9yTGFtYmRhcyh0aGlzLkxhbWJkYXMpO1xuXG4gICAgICAgIHRoaXMuTGFtYmRhUmVjb3JkcyA9IHRoaXMuY3JlYXRlUmVjb3JkRm9yTGFtYmRhKHRoaXMuTGFtYmRhcyk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXQoc2NvcGUsIHJlc291cmNlcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBOb2RlanNGdW5jdGlvbltdIHtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNyZWF0ZUxhbWJkYXModGhpcy5jb25maWcpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgY3JlYXRlZEFzc2V0cy5mb3JFYWNoKCh4LCBpZHgpID0+IHtcblxuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGxhbWJkYS0ke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHZhbHVlOiB4LmZ1bmN0aW9uTmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFtYmRhcyhjb25maWc6IEFwcENvbmZpZyk6IE5vZGVqc0Z1bmN0aW9uW10ge1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRMYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdID0gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvbnModGhpcy5zY29wZSwgdW5kZWZpbmVkLCB0aGlzLmxheWVycyk7XG5cbiAgICAgICAgcmV0dXJuIGNyZWF0ZWRMYW1iZGFzO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTGFtYmRhRnVuY3Rpb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10pIHsgICAgICAgIFxuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRMYW1iZGFzID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkxBTUJEQS5tYXAoKGNvbmZpZzogVHNnTGFtYmRhUHJvcCkgPT4ge1xuXG4gICAgICAgICAgICBsZXQgbGFtYmRhUHJvcHMgPSB0aGlzLmNyZWF0ZUxhbWJkYVByb3BzKGNvbmZpZywgcm9sZSwgbGF5ZXJzKTtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEoY29uZmlnLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICBsZXQgZmN0biA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgbGFtYmRhSWQsIGxhbWJkYVByb3BzKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsXG4gICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHByb3BzOiBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgcHJvcCwgcm9sZSwgbGF5ZXJzIH0gPSBwcm9wcztcblxuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xuICAgICAgICAgICAgZW50cnk6IHBhdGguam9pbihwcm9wLmNvZGVQYXRoKSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3Byb3AubmFtZX1gLFxuICAgICAgICAgICAgaGFuZGxlcjogcHJvcC5oYW5kbGVyLFxuICAgICAgICAgICAgbG9nUmV0ZW50aW9uOiAoIXByb3AubG9nRHVyYXRpb24pID8gUmV0ZW50aW9uRGF5cy5GSVZFX0RBWVMgOiBMYW1iZGFIZWxwZXIuZ2V0RGF5VG9TYXZlTG9ncyhwcm9wLmxvZ0R1cmF0aW9uKSxcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCB0aGlzLmNvbmZpZy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgLi4ucHJvcC5lbnZpcm9ubWVudFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6ICdlczIwMjAnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXBNb2RlOiBTb3VyY2VNYXBNb2RlLkVYVEVSTkFMLFxuICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBwcm9wLmVudmlyb25tZW50IHx8IHByb3AuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVyc1xuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGFtYmRhUHJvcDtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBjcmVhdGVBbGFybXNGb3JMYW1iZGFzKGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWV0cmljID0gbGFtYmRhLm1ldHJpY0Vycm9ycyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLFxuXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25NZXRyaWMgPSBsYW1iZGEubWV0cmljRHVyYXRpb24oe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbnZvY2F0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0ludm9jYXRpb25zKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWVycm9yLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiA1LFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0gZXJyb3JzIG92ZXIgMyBtaW4gcGVyaW9kYCxcbiAgICAgICAgICAgICAgICBhbGFybU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWVycm9yLWFsYXJtYFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5ldyBBbGFybSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1kdXJhdGlvbi1hbGFybWAsIHtcbiAgICAgICAgICAgICAgICBtZXRyaWM6IGR1cmF0aW9uTWV0cmljLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGR1cmF0aW9uIGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1kdXJhdGlvbi1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbnZvY2F0aW9uQWxhcm0gPSBuZXcgQWxhcm0odGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0taW52b2NhdGlvbi1hbGFybWAsIHtcbiAgICAgICAgICAgICAgICBtZXRyaWM6IGVycm9yTWV0cmljLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMTAwMCxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLU1ldHJpYy1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldElkRm9yTGFtYmRhKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3AsIGFwcENvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBgJHthcHBDb25maWcuQXBwUHJlZml4fS0ke2xhbWJkYVByb3AubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgY3JlYXRlUmVjb3JkRm9yTGFtYmRhKGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBjb25zdCBuYW1lcyA9IHRoaXMuY29uZmlnLlJFU09VUkNFUy5MQU1CREEubWFwKChsYW1iZGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsYW1iZGEubmFtZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhTmFtZXMgPSBbLi4ubmFtZXNdIGFzIGNvbnN0O1xuXG4gICAgICAgIHR5cGUgTGFtYmRhTmFtZSA9IHR5cGVvZiBsYW1iZGFOYW1lc1tudW1iZXJdO1xuICAgIFxuXG4gICAgICAgIGNvbnN0IGxhbWJkYVJlY29yZDogUmVjb3JkPExhbWJkYU5hbWUsIE5vZGVqc0Z1bmN0aW9uPiA9IHt9IGFzIFJlY29yZDxMYW1iZGFOYW1lLCBOb2RlanNGdW5jdGlvbj47XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGEsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbGFtYmRhUmVjb3JkW2xhbWJkYU5hbWVzW2lkeF0gIGFzIExhbWJkYU5hbWVdID0gbGFtYmRhc1tpZHhdO1xuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiBsYW1iZGFSZWNvcmQ7XG4gICAgfVxufVxuXG5cbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFHckYscUVBQW1HO0FBRW5HLDZCQUE2QjtBQU03Qix1REFBb0Q7QUFDcEQsbURBQXFEO0FBQ3JELGlEQUE4QztBQUM5QywyREFBb0Q7QUFHcEQsTUFBYSxZQUFhLFNBQVEsMkJBQTRCO0lBS0Q7SUFIbEQsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDL0IsYUFBYSxHQUFtQyxFQUFFLENBQUM7SUFFMUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCLEVBQVUsTUFBdUI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQURnQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUc1RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLE1BQU0sQ0FBQztJQUNsQixD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QU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQVUsQ0FBQztRQUt4QyxNQUFNLFlBQVksR0FBdUMsRUFBd0MsQ0FBQztRQUVsRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVCLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFlLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0NBQ0o7QUExS0Qsb0NBMEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBJQWxhcm1BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IElSb2xlLCBNYW5hZ2VkUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBMYW1iZGFIZWxwZXIgfSBmcm9tIFwiLi9sYW1iZGFIZWxwZXJcIjtcbmltcG9ydCB7IGdldFVVSUQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy91dGlsLWhlbHBlclwiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVMYW1iZGEgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8Tm9kZWpzRnVuY3Rpb24+IHtcblxuICAgIHB1YmxpYyBMYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdID0gW107XG4gICAgcHVibGljIExhbWJkYVJlY29yZHM6IFJlY29yZDxzdHJpbmcsIE5vZGVqc0Z1bmN0aW9uPiA9IHt9O1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10pIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGNvbmZpZyk7XG5cbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gdGhpcy5jcmVhdGVSZXNvdXJjZShzY29wZSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2VzID0gWy4uLnJlc291cmNlc107XG5cbiAgICAgICAgdGhpcy5MYW1iZGFzID0gWy4uLnJlc291cmNlc107XG5cbiAgICAgICAgdGhpcy5jcmVhdGVBbGFybXNGb3JMYW1iZGFzKHRoaXMuTGFtYmRhcyk7XG5cbiAgICAgICAgdGhpcy5MYW1iZGFSZWNvcmRzID0gdGhpcy5jcmVhdGVSZWNvcmRGb3JMYW1iZGEodGhpcy5MYW1iZGFzKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dChzY29wZSwgcmVzb3VyY2VzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IE5vZGVqc0Z1bmN0aW9uW10ge1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY3JlYXRlTGFtYmRhcyh0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgbGFtYmRhLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IHguZnVuY3Rpb25OYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFzKGNvbmZpZzogQXBwQ29uZmlnKTogTm9kZWpzRnVuY3Rpb25bXSB7XG5cbiAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyh0aGlzLnNjb3BlLCB1bmRlZmluZWQsIHRoaXMubGF5ZXJzKTtcblxuICAgICAgICByZXR1cm4gY3JlYXRlZExhbWJkYXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvbnMoc2NvcGU6IENvbnN0cnVjdCwgcm9sZT86IElSb2xlLCBsYXllcnM/OiBMYXllclZlcnNpb25bXSkge1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRMYW1iZGFzID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkxBTUJEQS5tYXAoKGNvbmZpZzogVHNnTGFtYmRhUHJvcCkgPT4ge1xuXG4gICAgICAgICAgICBsZXQgbGFtYmRhUHJvcHMgPSB0aGlzLmNyZWF0ZUxhbWJkYVByb3BzKGNvbmZpZywgcm9sZSwgbGF5ZXJzKTtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEoY29uZmlnLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICBsZXQgZmN0biA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgbGFtYmRhSWQsIGxhbWJkYVByb3BzKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsXG4gICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHByb3BzOiBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgcHJvcCwgcm9sZSwgbGF5ZXJzIH0gPSBwcm9wcztcblxuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBOb2RlanNGdW5jdGlvblByb3BzID0ge1xuICAgICAgICAgICAgZW50cnk6IHBhdGguam9pbihwcm9wLmNvZGVQYXRoKSxcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3Byb3AubmFtZX1gLFxuICAgICAgICAgICAgaGFuZGxlcjogcHJvcC5oYW5kbGVyLFxuICAgICAgICAgICAgbG9nUmV0ZW50aW9uOiAoIXByb3AubG9nRHVyYXRpb24pID8gUmV0ZW50aW9uRGF5cy5GSVZFX0RBWVMgOiBMYW1iZGFIZWxwZXIuZ2V0RGF5VG9TYXZlTG9ncyhwcm9wLmxvZ0R1cmF0aW9uKSxcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCB0aGlzLmNvbmZpZy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgLi4ucHJvcC5lbnZpcm9ubWVudFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6ICdlczIwMjAnLFxuICAgICAgICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXBNb2RlOiBTb3VyY2VNYXBNb2RlLkVYVEVSTkFMLFxuICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBwcm9wLmVudmlyb25tZW50IHx8IHByb3AuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVyc1xuXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbGFtYmRhUHJvcDtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBjcmVhdGVBbGFybXNGb3JMYW1iZGFzKGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWV0cmljID0gbGFtYmRhLm1ldHJpY0Vycm9ycyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLFxuXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25NZXRyaWMgPSBsYW1iZGEubWV0cmljRHVyYXRpb24oe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbnZvY2F0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0ludm9jYXRpb25zKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgdXVpZCA9IGdldFVVSUQoKS5zcGxpdCgnLScpWzBdO1xuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt1dWlkfS1lcnJvci1hbGFybWAsIHtcbiAgICAgICAgICAgICAgICBtZXRyaWM6IGVycm9yTWV0cmljLFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogNSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0gZXJyb3JzIG92ZXIgMyBtaW4gcGVyaW9kYCxcbiAgICAgICAgICAgICAgICBhbGFybU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt1dWlkfS1lcnJvci1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZXcgQWxhcm0odGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3V1aWR9LWR1cmF0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZHVyYXRpb25NZXRyaWMsXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3V1aWR9IGR1cmF0aW9uIGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dXVpZH0tZHVyYXRpb24tYWxhcm1gXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgaW52b2NhdGlvbkFsYXJtID0gbmV3IEFsYXJtKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt1dWlkfS1pbnZvY2F0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAxMDAwLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3V1aWR9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dXVpZH0taW52b2NhdGlvbi1NZXRyaWMtYWxhcm1gXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJZEZvckxhbWJkYShsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wLCBhcHBDb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICByZXR1cm4gYCR7YXBwQ29uZmlnLkFwcFByZWZpeH0tJHtsYW1iZGFQcm9wLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlUmVjb3JkRm9yTGFtYmRhKGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBjb25zdCBuYW1lcyA9IHRoaXMuY29uZmlnLlJFU09VUkNFUy5MQU1CREEubWFwKChsYW1iZGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsYW1iZGEubmFtZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhTmFtZXMgPSBbLi4ubmFtZXNdIGFzIGNvbnN0O1xuXG4gICAgICAgIHR5cGUgTGFtYmRhTmFtZSA9IHR5cGVvZiBsYW1iZGFOYW1lc1tudW1iZXJdO1xuXG5cbiAgICAgICAgY29uc3QgbGFtYmRhUmVjb3JkOiBSZWNvcmQ8TGFtYmRhTmFtZSwgTm9kZWpzRnVuY3Rpb24+ID0ge30gYXMgUmVjb3JkPExhbWJkYU5hbWUsIE5vZGVqc0Z1bmN0aW9uPjtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG4gICAgICAgICAgICBsYW1iZGFSZWNvcmRbbGFtYmRhTmFtZXNbaWR4XSBhcyBMYW1iZGFOYW1lXSA9IGxhbWJkYXNbaWR4XTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGxhbWJkYVJlY29yZDtcbiAgICB9XG59XG5cblxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sylvesterllc/aws-constructs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92",
|
|
4
4
|
"description": "AWS Constructs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"@types/jest": "^29.5.5",
|
|
38
38
|
"@types/luxon": "^3.3.2",
|
|
39
39
|
"@types/node": "^20.8.3",
|
|
40
|
+
"@types/uuid": "^9.0.8",
|
|
40
41
|
"jest": "^29.7.0",
|
|
41
42
|
"ts-jest": "^29.1.1",
|
|
42
43
|
"ts-node": "^10.9.1",
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
"fsbin": "^1.0.11",
|
|
50
51
|
"luxon": "^3.4.3",
|
|
51
52
|
"source-map-support": "^0.5.21",
|
|
53
|
+
"uuid": "^9.0.1",
|
|
52
54
|
"winston": "^3.11.0"
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -12,29 +12,47 @@ import { CreateApiAndAttachLambdas } from "../resources/gateway/CreateApiAndAtta
|
|
|
12
12
|
import { createSeedDatabaseCustomResource } from "../resources/customResource/createSeedDatabaseCustomResource";
|
|
13
13
|
import { IRestApi } from "aws-cdk-lib/aws-apigateway";
|
|
14
14
|
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
15
|
+
import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
|
|
15
16
|
export class MicroService extends Construct {
|
|
16
17
|
|
|
17
18
|
protected readonly requireDynamoTables: boolean;
|
|
18
19
|
protected requireSeedDatabase: boolean = false;
|
|
19
|
-
protected readonly hasLambdaLayers: boolean = false;
|
|
20
|
+
protected readonly hasLambdaLayers: boolean = false;
|
|
20
21
|
protected appConfig: AppConfig;
|
|
21
22
|
private readonly api: IRestApi;
|
|
22
23
|
private readonly dynamoTables: Table[] | undefined;
|
|
23
24
|
private readonly lambdaLayers: LayerVersion[] | undefined;
|
|
24
25
|
private readonly secretManager: ISecret | null = null;
|
|
26
|
+
private readonly lambdas: NodejsFunction[] = [];
|
|
27
|
+
|
|
28
|
+
public get Tables() {
|
|
29
|
+
return this.dynamoTables;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public get SecretManager() {
|
|
33
|
+
return this.secretManager;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public get LambdaLayers() {
|
|
37
|
+
return this.lambdaLayers;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public get Lambdas() {
|
|
41
|
+
return this.lambdas;
|
|
42
|
+
}
|
|
25
43
|
|
|
26
44
|
constructor(scope: Construct, id: string, props: MicroserviceProps) {
|
|
27
45
|
super(scope, id);
|
|
28
46
|
|
|
29
|
-
this.appConfig = new AppConfig(props);
|
|
30
|
-
|
|
47
|
+
this.appConfig = new AppConfig(props);
|
|
48
|
+
|
|
31
49
|
this.requireDynamoTables = (props.RESOURCES.DYNAMO?.TABLES &&
|
|
32
50
|
props.RESOURCES.DYNAMO.TABLES.length > 0) ? true : false;
|
|
33
51
|
|
|
34
|
-
this.requireSeedDatabase = (props.RESOURCES.DYNAMO?.USE_SEED_DATABASE &&
|
|
52
|
+
this.requireSeedDatabase = (props.RESOURCES.DYNAMO?.USE_SEED_DATABASE &&
|
|
35
53
|
props.RESOURCES.DYNAMO.SEED_LAMBDA) ? true : false;
|
|
36
54
|
|
|
37
|
-
this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
|
|
55
|
+
this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
|
|
38
56
|
props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
|
|
39
57
|
|
|
40
58
|
const results = this.onInit(scope);
|
|
@@ -44,6 +62,8 @@ export class MicroService extends Construct {
|
|
|
44
62
|
this.lambdaLayers = results.lambdaLayers!;
|
|
45
63
|
this.secretManager = results.secretManager!;
|
|
46
64
|
|
|
65
|
+
this.lambdas = results.lambdas!;
|
|
66
|
+
|
|
47
67
|
this.createTag(scope)
|
|
48
68
|
}
|
|
49
69
|
|
|
@@ -56,7 +76,7 @@ export class MicroService extends Construct {
|
|
|
56
76
|
if (process.env.SECRET_MANAGER_ARN) {
|
|
57
77
|
// throw new Error(`You must provide the ARN for the your Configuration Secret
|
|
58
78
|
// Manager`);
|
|
59
|
-
|
|
79
|
+
secretManager = getSecretManager(scope, this.appConfig, process.env.SECRET_MANAGER_ARN);
|
|
60
80
|
}
|
|
61
81
|
|
|
62
82
|
if (this.hasLambdaLayers) {
|
|
@@ -77,18 +97,19 @@ export class MicroService extends Construct {
|
|
|
77
97
|
if (this.requireSeedDatabase) {
|
|
78
98
|
createSeedDatabaseCustomResource(scope, this.appConfig, tables![0], layers);
|
|
79
99
|
}
|
|
80
|
-
|
|
100
|
+
|
|
81
101
|
// CREATE API GATEWAY AND LAMBDA HERE
|
|
82
|
-
const apiGateway = new CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers,tables);
|
|
102
|
+
const apiGateway = new CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers, tables);
|
|
83
103
|
|
|
84
104
|
return {
|
|
85
105
|
restApi: (gateway?.length > 0) ? gateway[0] : null,
|
|
86
106
|
lambdaLayers: layers || null,
|
|
87
107
|
dynamoTables: tables || null,
|
|
88
108
|
secretManager: secretManager,
|
|
109
|
+
lambdas: apiGateway.Lambdas,
|
|
89
110
|
|
|
90
111
|
};
|
|
91
|
-
|
|
112
|
+
|
|
92
113
|
}
|
|
93
114
|
|
|
94
115
|
protected createTag(scope: Construct) {
|
|
@@ -15,19 +15,25 @@ import { TsgLambdaProp } from "../../config/types";
|
|
|
15
15
|
import { Routes } from "../helpers/createRoutes";
|
|
16
16
|
|
|
17
17
|
export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
protected requireAuthorizer: boolean;
|
|
20
20
|
protected authorizerType?: TsgAuthorizerType;
|
|
21
21
|
|
|
22
|
+
private lambdas: NodejsFunction[] = [];
|
|
23
|
+
|
|
24
|
+
public get Lambdas() {
|
|
25
|
+
return this.lambdas;
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
constructor(scope: Construct,
|
|
23
29
|
config: AppConfig,
|
|
24
30
|
private gatewayApi: IRestApi,
|
|
25
31
|
private layers?: LayerVersion[],
|
|
26
32
|
private tables?: ITable[]) {
|
|
27
33
|
super(scope, config);
|
|
28
|
-
|
|
29
|
-
this.requireAuthorizer = (this.config.RESOURCES.AUTHORIZER &&
|
|
30
|
-
this.config.RESOURCES.AUTHORIZER.type) ? true : false;
|
|
34
|
+
|
|
35
|
+
this.requireAuthorizer = (this.config.RESOURCES.AUTHORIZER &&
|
|
36
|
+
this.config.RESOURCES.AUTHORIZER.type) ? true : false;
|
|
31
37
|
|
|
32
38
|
if (this.requireAuthorizer) {
|
|
33
39
|
this.authorizerType = this.config.RESOURCES.AUTHORIZER?.type;
|
|
@@ -56,12 +62,13 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
|
56
62
|
|
|
57
63
|
// Create Lambdas
|
|
58
64
|
const lambdas = new CreateLambda(scope, this.config, this.layers);
|
|
59
|
-
|
|
65
|
+
this.lambdas = lambdas.Lambdas;
|
|
66
|
+
|
|
60
67
|
// Give Access to Lambdds to All DynamoDb Tables
|
|
61
68
|
if (this.tables) {
|
|
62
69
|
this.assignAccessToTables(this.tables, lambdas.Lambdas);
|
|
63
70
|
}
|
|
64
|
-
|
|
71
|
+
|
|
65
72
|
// Create Routes on API Gateway for Lambdas from config
|
|
66
73
|
this.AddRoutes(this.config, this.gatewayApi, lambdas.Lambdas, authorizer);
|
|
67
74
|
|
|
@@ -73,13 +80,13 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
|
73
80
|
}
|
|
74
81
|
|
|
75
82
|
protected createOutput<T>(scope: Construct, createdAssets: T[]): void {
|
|
76
|
-
|
|
83
|
+
|
|
77
84
|
this.createdResources!.forEach((x, idx) => {
|
|
78
85
|
new CfnOutput(scope, `Authorizerr-${idx}`, {
|
|
79
86
|
value: x.authorizer?.authorizerArn!
|
|
80
87
|
});
|
|
81
88
|
});
|
|
82
|
-
}
|
|
89
|
+
}
|
|
83
90
|
|
|
84
91
|
private createAuthorizer() {
|
|
85
92
|
|
|
@@ -95,18 +102,18 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
|
95
102
|
|
|
96
103
|
return authorizer;
|
|
97
104
|
|
|
98
|
-
} else if (this.requireAuthorizer && this.authorizerType === TsgAuthorizerType.REQUEST_AUTHORIZER) {
|
|
105
|
+
} else if (this.requireAuthorizer && this.authorizerType === TsgAuthorizerType.REQUEST_AUTHORIZER) {
|
|
99
106
|
|
|
100
107
|
authorizer = new TsgRequestAuthorizer(this.scope,
|
|
101
108
|
this.config, this.layers, this.tables).TsgRequestAuthorizer as RequestAuthorizer;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
|
|
110
|
+
(authorizer as RequestAuthorizer)._attachToApi(this.gatewayApi);
|
|
111
|
+
(authorizer as RequestAuthorizer).applyRemovalPolicy(RemovalPolicy.DESTROY);
|
|
112
|
+
|
|
106
113
|
return authorizer;
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
|
|
116
|
+
|
|
110
117
|
return authorizer;
|
|
111
118
|
}
|
|
112
119
|
|
|
@@ -127,7 +134,7 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
|
|
|
127
134
|
private AddRoutes(config: AppConfig,
|
|
128
135
|
gateway: IRestApi,
|
|
129
136
|
lambdas: NodejsFunction[],
|
|
130
|
-
authorizer?: TokenAuthorizer|RequestAuthorizer) {
|
|
137
|
+
authorizer?: TokenAuthorizer | RequestAuthorizer) {
|
|
131
138
|
|
|
132
139
|
config.RESOURCES.LAMBDA?.forEach((prop: TsgLambdaProp) => {
|
|
133
140
|
|
|
@@ -14,6 +14,7 @@ import { CreateLambdaFunctionInput } from "../../interfaces/CreateLambdaFunction
|
|
|
14
14
|
import { BaseResource } from "../base/baseResource";
|
|
15
15
|
import { RetentionDays } from "aws-cdk-lib/aws-logs";
|
|
16
16
|
import { LambdaHelper } from "./lambdaHelper";
|
|
17
|
+
import { getUUID } from "../../helpers/util-helper";
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
export class CreateLambda extends BaseResource<NodejsFunction> {
|
|
@@ -61,7 +62,7 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
|
|
|
61
62
|
return createdLambdas;
|
|
62
63
|
}
|
|
63
64
|
|
|
64
|
-
private createLambdaFunctions(scope: Construct, role?: IRole, layers?: LayerVersion[]) {
|
|
65
|
+
private createLambdaFunctions(scope: Construct, role?: IRole, layers?: LayerVersion[]) {
|
|
65
66
|
|
|
66
67
|
const createdLambdas = this.config.RESOURCES.LAMBDA.map((config: TsgLambdaProp) => {
|
|
67
68
|
|
|
@@ -133,31 +134,32 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
|
|
|
133
134
|
period: Duration.minutes(3),
|
|
134
135
|
});
|
|
135
136
|
|
|
136
|
-
|
|
137
|
+
const uuid = getUUID().split('-')[0];
|
|
138
|
+
new Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-error-alarm`, {
|
|
137
139
|
metric: errorMetric,
|
|
138
140
|
threshold: 5,
|
|
139
141
|
comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
140
142
|
evaluationPeriods: 3,
|
|
141
|
-
alarmDescription: `${this.config.AppPrefix}
|
|
142
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
143
|
+
alarmDescription: `${this.config.AppPrefix} errors over 3 min period`,
|
|
144
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-error-alarm`
|
|
143
145
|
});
|
|
144
146
|
|
|
145
|
-
new Alarm(this.scope, `${this.config.AppPrefix}-${
|
|
147
|
+
new Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-duration-alarm`, {
|
|
146
148
|
metric: durationMetric,
|
|
147
149
|
threshold: 1,
|
|
148
150
|
comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
149
151
|
evaluationPeriods: 3,
|
|
150
|
-
alarmDescription: `${this.config.AppPrefix}-${
|
|
151
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
152
|
+
alarmDescription: `${this.config.AppPrefix}-${uuid} duration errors over 3 min period`,
|
|
153
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-duration-alarm`
|
|
152
154
|
});
|
|
153
155
|
|
|
154
|
-
const invocationAlarm = new Alarm(this.scope, `${this.config.AppPrefix}-${
|
|
156
|
+
const invocationAlarm = new Alarm(this.scope, `${this.config.AppPrefix}-${uuid}-invocation-alarm`, {
|
|
155
157
|
metric: errorMetric,
|
|
156
158
|
threshold: 1000,
|
|
157
159
|
comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
|
|
158
160
|
evaluationPeriods: 3,
|
|
159
|
-
alarmDescription: `${this.config.AppPrefix}-${
|
|
160
|
-
alarmName: `${this.config.AppPrefix}-${
|
|
161
|
+
alarmDescription: `${this.config.AppPrefix}-${uuid} errors over 3 min period`,
|
|
162
|
+
alarmName: `${this.config.AppPrefix}-${uuid}-invocation-Metric-alarm`
|
|
161
163
|
});
|
|
162
164
|
});
|
|
163
165
|
}
|
|
@@ -165,7 +167,7 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
|
|
|
165
167
|
public static getIdForLambda(lambdaProp: TsgLambdaProp, appConfig: AppConfig) {
|
|
166
168
|
return `${appConfig.AppPrefix}-${lambdaProp.name}`.toLowerCase();
|
|
167
169
|
}
|
|
168
|
-
|
|
170
|
+
|
|
169
171
|
private createRecordForLambda(lambdas: NodejsFunction[]) {
|
|
170
172
|
|
|
171
173
|
const names = this.config.RESOURCES.LAMBDA.map((lambda) => {
|
|
@@ -175,14 +177,14 @@ export class CreateLambda extends BaseResource<NodejsFunction> {
|
|
|
175
177
|
const lambdaNames = [...names] as const;
|
|
176
178
|
|
|
177
179
|
type LambdaName = typeof lambdaNames[number];
|
|
178
|
-
|
|
180
|
+
|
|
179
181
|
|
|
180
182
|
const lambdaRecord: Record<LambdaName, NodejsFunction> = {} as Record<LambdaName, NodejsFunction>;
|
|
181
183
|
|
|
182
184
|
lambdas.forEach((lambda, idx) => {
|
|
183
|
-
lambdaRecord[lambdaNames[idx]
|
|
185
|
+
lambdaRecord[lambdaNames[idx] as LambdaName] = lambdas[idx];
|
|
184
186
|
});
|
|
185
|
-
|
|
187
|
+
|
|
186
188
|
return lambdaRecord;
|
|
187
189
|
}
|
|
188
190
|
}
|