@sylvesterllc/aws-constructs 1.0.30 → 1.0.31
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/config/ServiceBundleConfig.d.ts +16 -0
- package/dist/config/ServiceBundleConfig.js +3 -0
- package/dist/constructs/MicroService.js +10 -2
- package/dist/resources/gateway/createMicroServiceBundle.d.ts +3 -14
- package/dist/resources/gateway/createMicroServiceBundle.js +18 -23
- package/dist/resources/lambda/createLambda.js +2 -2
- package/package.json +1 -1
- package/src/config/ServiceBundleConfig.ts +18 -0
- package/src/constructs/MicroService.ts +8 -2
- package/src/resources/gateway/createMicroServiceBundle.ts +19 -27
- package/src/resources/lambda/createLambda.ts +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IRestApi } from "aws-cdk-lib/aws-apigateway";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { MicroserviceProps } from "../interfaces/MicroserviceProps";
|
|
4
|
+
import { AppConfig } from "./AppConfig";
|
|
5
|
+
import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
6
|
+
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
7
|
+
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
8
|
+
export interface ServiceBundleConfig {
|
|
9
|
+
scope: Construct;
|
|
10
|
+
readonly gatewayApi: IRestApi;
|
|
11
|
+
readonly props: MicroserviceProps;
|
|
12
|
+
readonly appConfig: AppConfig;
|
|
13
|
+
readonly tables?: Table[];
|
|
14
|
+
readonly secretMgr?: ISecret;
|
|
15
|
+
readonly layers?: LayerVersion[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1bmRsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvU2VydmljZUJ1bmRsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUJ1bmRsZUNvbmZpZyB7XG4gICAgc2NvcGU6IENvbnN0cnVjdCwgXG4gICAgcmVhZG9ubHkgZ2F0ZXdheUFwaTogSVJlc3RBcGksIFxuICAgIHJlYWRvbmx5IHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgICAgICAgIFxuICAgIHJlYWRvbmx5IGFwcENvbmZpZzogQXBwQ29uZmlnLFxuICAgIHJlYWRvbmx5IHRhYmxlcz86IFRhYmxlW10sIFxuICAgIHJlYWRvbmx5IHNlY3JldE1ncj86IElTZWNyZXQsIFxuICAgIHJlYWRvbmx5IGxheWVycz86IExheWVyVmVyc2lvbltdXG5cbn0iXX0=
|
|
@@ -40,7 +40,15 @@ class MicroService extends constructs_1.Construct {
|
|
|
40
40
|
tables = dynamo.CreatedTables;
|
|
41
41
|
}
|
|
42
42
|
// props.RESOURCES.LAMBDA.forEach((lambdaProp: TsgLambdaProp) => {
|
|
43
|
-
const result = new createMicroServiceBundle_1.CreateMicroServiceBundle(
|
|
43
|
+
const result = new createMicroServiceBundle_1.CreateMicroServiceBundle({
|
|
44
|
+
scope,
|
|
45
|
+
gatewayApi: gateway[0],
|
|
46
|
+
props,
|
|
47
|
+
appConfig: this.appConfig,
|
|
48
|
+
tables,
|
|
49
|
+
secretMgr: undefined,
|
|
50
|
+
layers
|
|
51
|
+
});
|
|
44
52
|
// });
|
|
45
53
|
}
|
|
46
54
|
createTag(scope) {
|
|
@@ -49,4 +57,4 @@ class MicroService extends constructs_1.Construct {
|
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
exports.MicroService = MicroService;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2Qyw0RkFBeUY7QUFDekYscUVBQW9FO0FBQ3BFLDhEQUFxRDtBQUNyRCxrRUFBZ0U7QUFDaEUsOEVBQTJFO0FBQzNFLG1EQUFnRDtBQUNoRCw2Q0FBbUM7QUFFbkMsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFNdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSkYsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFNaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhO1lBQ2pELEtBQUssQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQixFQUFFLEtBQWdCO1FBRTdDLElBQUksTUFBTSxHQUF3QixTQUFTLENBQUM7UUFDNUMsSUFBSSxZQUFZLEdBQStCLFNBQVMsQ0FBQztRQUV6RCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUU7WUFDaEMsK0VBQStFO1lBQy9FLHVCQUF1QjtZQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFBLGtDQUFnQixFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3JGO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLFlBQVksR0FBRyxJQUFBLHFDQUFpQixFQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUU1QixzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFFRCxrRUFBa0U7UUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxtREFBd0IsQ0FBQztZQUN4QyxLQUFLO1lBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEIsS0FBSztZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNO1lBQ04sU0FBUyxFQUFFLFNBQVM7WUFDcEIsTUFBTTtTQUFDLENBQUMsQ0FBQztRQUNiLE1BQU07SUFHVixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQWdCO1FBQ2hDLGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKO0FBbkVELG9DQW1FQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGVcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IEFwaSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVBcGlcIjtcbmltcG9ydCB7IGdldFNlY3JldE1hbmFnZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL3NlY3VyaXR5TWFuYWdlclwiO1xuaW1wb3J0IHsgY3JlYXRlQ29tbW9uTGF5ZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2hlbHBlcnMvY3JlYXRlQ29tbW9uTGF5ZXJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuZXhwb3J0IGNsYXNzIE1pY3JvU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUR5bmFtb1RhYmxlczogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTGFtYmRhTGF5ZXJzOiBib29sZWFuID0gZmFsc2U7ICBcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaGFzTGFtYmRhTGF5ZXJzID0gKHByb3BzLlJFU09VUkNFUy5MQU1CREFfTEFZRVJTICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vbkluaXQoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZVRhZyhzY29wZSlcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0LCBwcm9wczogQXBwQ29uZmlnKSB7XG5cbiAgICAgICAgbGV0IHRhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGNvbW1vbkxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTikge1xuICAgICAgICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIHRoZSBBUk4gZm9yIHRoZSB5b3VyIENvbmZpZ3VyYXRpb24gU2VjcmV0IFxuICAgICAgICAgICAgLy8gICAgIE1hbmFnZXJgKTsgICAgICBcbiAgICAgICAgICAgICBjb25zdCBzZWNyZXRNZ3IgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCBwcm9wcywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQS5mb3JFYWNoKChsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG4gICAgICAgICAgICBcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSh7XG4gICAgICAgICAgICBzY29wZSwgXG4gICAgICAgICAgICBnYXRld2F5QXBpOiBnYXRld2F5WzBdLCBcbiAgICAgICAgICAgIHByb3BzLCBcbiAgICAgICAgICAgIGFwcENvbmZpZzogdGhpcy5hcHBDb25maWcsIFxuICAgICAgICAgICAgdGFibGVzLCBcbiAgICAgICAgICAgIHNlY3JldE1ncjogdW5kZWZpbmVkLCBcbiAgICAgICAgICAgIGxheWVyc30pO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICBcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
|
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
3
|
-
import { Construct } from "constructs";
|
|
4
|
-
import { MicroserviceProps } from "../../interfaces/MicroserviceProps";
|
|
5
|
-
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
6
|
-
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
7
|
-
import { AppConfig } from "../../config/AppConfig";
|
|
1
|
+
import { ServiceBundleConfig } from "../../config/ServiceBundleConfig";
|
|
8
2
|
export declare class CreateMicroServiceBundle {
|
|
9
|
-
private
|
|
10
|
-
private readonly props;
|
|
11
|
-
private readonly appConfig;
|
|
12
|
-
private readonly tables?;
|
|
13
|
-
private readonly secretMgr?;
|
|
14
|
-
private readonly layers?;
|
|
3
|
+
private serviceBundleConfig;
|
|
15
4
|
protected readonly requireDynamoTableRefs: boolean;
|
|
16
5
|
protected readonly requireAuthorizer: boolean;
|
|
17
|
-
constructor(
|
|
6
|
+
constructor(serviceBundleConfig: ServiceBundleConfig);
|
|
18
7
|
private onInit;
|
|
19
8
|
private AssignAccessToTables;
|
|
20
9
|
private AssignAccessToTableRefs;
|
|
@@ -9,42 +9,37 @@ const createLambda_1 = require("../lambda/createLambda");
|
|
|
9
9
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
10
10
|
const CreateDynamo_1 = require("../dynamodb/CreateDynamo");
|
|
11
11
|
class CreateMicroServiceBundle {
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.secretMgr = secretMgr;
|
|
18
|
-
this.layers = layers;
|
|
19
|
-
this.requireDynamoTableRefs = (props.RESOURCES.DYNAMO?.TABLE_REFS?.length ?? 0 > 0) ? true : false;
|
|
20
|
-
this.requireAuthorizer = (props.RESOURCES.AUTHORIZER) ? true : false;
|
|
21
|
-
this.onInit(scope);
|
|
12
|
+
constructor(serviceBundleConfig) {
|
|
13
|
+
this.serviceBundleConfig = serviceBundleConfig;
|
|
14
|
+
this.requireDynamoTableRefs = (this.serviceBundleConfig.props.RESOURCES.DYNAMO?.TABLE_REFS?.length ?? 0 > 0) ? true : false;
|
|
15
|
+
this.requireAuthorizer = (this.serviceBundleConfig.props.RESOURCES.AUTHORIZER) ? true : false;
|
|
16
|
+
this.onInit(this.serviceBundleConfig.scope);
|
|
22
17
|
}
|
|
23
18
|
onInit(scope) {
|
|
24
19
|
let authorizer = undefined;
|
|
25
20
|
// Create Authorizer
|
|
26
21
|
if (this.requireAuthorizer) {
|
|
27
|
-
authorizer = new createAuthorizer_1.CreateAuthorizer(scope, this.appConfig, this.props.RESOURCES.AUTHORIZER).JwtAuthorizer;
|
|
28
|
-
authorizer._attachToApi(this.gatewayApi);
|
|
22
|
+
authorizer = new createAuthorizer_1.CreateAuthorizer(scope, this.serviceBundleConfig.appConfig, this.serviceBundleConfig.props.RESOURCES.AUTHORIZER).JwtAuthorizer;
|
|
23
|
+
authorizer._attachToApi(this.serviceBundleConfig.gatewayApi);
|
|
29
24
|
authorizer.applyRemovalPolicy(aws_cdk_lib_1.RemovalPolicy.DESTROY);
|
|
30
25
|
}
|
|
31
26
|
// Create Lambdas
|
|
32
27
|
const lambdaProp = {
|
|
33
28
|
scope,
|
|
34
|
-
prop: this.props,
|
|
35
|
-
layers: this.layers,
|
|
36
|
-
appConfig: this.appConfig
|
|
29
|
+
prop: this.serviceBundleConfig.props,
|
|
30
|
+
layers: this.serviceBundleConfig.layers,
|
|
31
|
+
appConfig: this.serviceBundleConfig.appConfig
|
|
37
32
|
};
|
|
38
|
-
const lambdas = new createLambda_1.CreateLambda(lambdaProp, this.appConfig);
|
|
39
|
-
if (this.tables) {
|
|
40
|
-
this.AssignAccessToTables(this.tables, lambdas.Lambdas);
|
|
33
|
+
const lambdas = new createLambda_1.CreateLambda(lambdaProp, this.serviceBundleConfig.appConfig);
|
|
34
|
+
if (this.serviceBundleConfig.tables) {
|
|
35
|
+
this.AssignAccessToTables(this.serviceBundleConfig.tables, lambdas.Lambdas);
|
|
41
36
|
}
|
|
42
37
|
// Allow access to existing tables
|
|
43
38
|
// if (this.requireDynamoTableRefs) {
|
|
44
39
|
// this.AssignAccessToTableRefs(scope, this.props.RESOURCES.DYNAMO?.TABLE_REFS, lambdas.Lambdas);
|
|
45
40
|
// }
|
|
46
|
-
if (this.secretMgr) {
|
|
47
|
-
this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
|
|
41
|
+
if (this.serviceBundleConfig.secretMgr) {
|
|
42
|
+
this.AssignAccessToSecretManager(this.serviceBundleConfig.secretMgr, lambdas.Lambdas);
|
|
48
43
|
}
|
|
49
44
|
// lambdas.Lambdas.map((lambda) => {
|
|
50
45
|
// lambda.metricErrors({
|
|
@@ -52,7 +47,7 @@ class CreateMicroServiceBundle {
|
|
|
52
47
|
// period: Duration.minutes(3)
|
|
53
48
|
// })
|
|
54
49
|
// });
|
|
55
|
-
this.AddRoutes(this.props, this.gatewayApi, lambdas.Lambdas, authorizer);
|
|
50
|
+
this.AddRoutes(this.serviceBundleConfig.props, this.serviceBundleConfig.gatewayApi, lambdas.Lambdas, authorizer);
|
|
56
51
|
}
|
|
57
52
|
AssignAccessToTables(tables, lambdas) {
|
|
58
53
|
if (tables) {
|
|
@@ -111,7 +106,7 @@ class CreateMicroServiceBundle {
|
|
|
111
106
|
}
|
|
112
107
|
AddRoutes(props, gateway, lambdas, authorizer) {
|
|
113
108
|
props.RESOURCES.LAMBDA?.forEach((prop) => {
|
|
114
|
-
const lambdaId = createLambda_1.CreateLambda.getIdForLambda(prop, this.appConfig);
|
|
109
|
+
const lambdaId = createLambda_1.CreateLambda.getIdForLambda(prop, this.serviceBundleConfig.appConfig);
|
|
115
110
|
if (!lambdaId) {
|
|
116
111
|
throw new Error(`Can't find lambda`);
|
|
117
112
|
}
|
|
@@ -129,4 +124,4 @@ class CreateMicroServiceBundle {
|
|
|
129
124
|
}
|
|
130
125
|
}
|
|
131
126
|
exports.CreateMicroServiceBundle = CreateMicroServiceBundle;
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUE2RDtBQUM3RCwyREFBMEQ7QUFNMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBWSxLQUFnQixFQUNQLFVBQW9CLEVBQ3BCLEtBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLFNBQTBCLEVBQzFCLE1BQXVCO1FBTHZCLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBR3hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNuRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBZ0I7UUFHM0IsSUFBSSxVQUFVLEdBQThCLFNBQVMsQ0FBQztRQUV0RCxvQkFBb0I7UUFDcEIs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LE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUU3RCxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQzthQUN4RDtZQUVELHFCQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE1BQWUsRUFBRSxPQUF5QjtRQUUxRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7Q0FFSjtBQTdLRCw0REE2S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJVGFibGUsIFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9UYWJsZVJlZiwgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3BzIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGFQcm9wc1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlQXV0aG9yaXplciB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vZHluYW1vZGIvQ3JlYXRlRHluYW1vXCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVNaWNyb1NlcnZpY2VCdW5kbGUge1xuICAgIFxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVSZWZzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdhdGV3YXlBcGk6IElSZXN0QXBpLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsICAgICAgICBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWJsZXM/OiBUYWJsZVtdLCBcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNZ3I/OiBJU2VjcmV0IHwgbnVsbCwgXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sICAgICAgICBcbiAgICAgICAgKSB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZVJlZnMgPSAocHJvcHMuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVfUkVGUz8ubGVuZ3RoID8/IDAgPiAwKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXF1aXJlQXV0aG9yaXplciA9IChwcm9wcy5SRVNPVVJDRVMuQVVUSE9SSVpFUikgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMub25Jbml0KHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIENyZWF0ZSBBdXRob3JpemVyXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IENyZWF0ZUF1dGhvcml6ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0aGlzLnByb3BzLlJFU09VUkNFUy5BVVRIT1JJWkVSISkuSnd0QXV0aG9yaXplcjtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIuX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7ICAgXG4gICAgICAgICAgICBhdXRob3JpemVyLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBDcmVhdGUgTGFtYmRhc1xuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wcyA9IHtcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgcHJvcDogdGhpcy5wcm9wcywgICAgICAgICAgICBcbiAgICAgICAgICAgIGxheWVyczogdGhpcy5sYXllcnMsXG4gICAgICAgICAgICBhcHBDb25maWc6IHRoaXMuYXBwQ29uZmlnXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEobGFtYmRhUHJvcCwgdGhpcy5hcHBDb25maWcpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1RhYmxlcyh0aGlzLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gQWxsb3cgYWNjZXNzIHRvIGV4aXN0aW5nIHRhYmxlc1xuICAgICAgICAvLyBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVSZWZzKSB7XG4gICAgICAgIC8vICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvVGFibGVSZWZzKHNjb3BlLCB0aGlzLnByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlMsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICBpZiAodGhpcy5zZWNyZXRNZ3IpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9TZWNyZXRNYW5hZ2VyKHRoaXMuc2VjcmV0TWdyLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBsYW1iZGFzLkxhbWJkYXMubWFwKChsYW1iZGEpID0+IHtcbiAgICAgICAgLy8gICAgIGxhbWJkYS5tZXRyaWNFcnJvcnMoeyAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgICAgICAgICAgbGFiZWw6IGAke2xhbWJkYS5mdW5jdGlvbk5hbWV9LWVycm9yc2AsIFxuICAgICAgICAvLyAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMykgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAvLyAgICAgfSlcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgdGhpcy5BZGRSb3V0ZXModGhpcy5wcm9wcywgdGhpcy5nYXRld2F5QXBpLCBsYW1iZGFzLkxhbWJkYXMsIGF1dGhvcml6ZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduQWNjZXNzVG9UYWJsZXModGFibGVzOiBUYWJsZVtdLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlcykge1xuICAgICAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IElUYWJsZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gIFRoaXMgaXMgYSBDREsgYnVnOiBJdCBkb2Vzbid0IHByb3ZpZGVcbiAgICAgICAgICAgICAgICAgICAgLy8gIGFjY2VzcyB0byB0aGUgaW5kZXhlcy5cbiAgICAgICAgICAgICAgICAgICAgLy90YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyAgV29ya2Fyb3VuZDpcbiAgICAgICAgICAgICAgICAgICAgLy8gbGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGFjdGlvbnM6IENyZWF0ZUR5bmFtb0RiLlJlYWRXcml0ZUFjdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRhYmxlLnRhYmxlQXJuLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBgJHt0YWJsZS50YWJsZUFybn0vKmAsIC8vIFRoaXMgaXMgbm90IHJlY29nbml6ZWQgYnkgY2RrLCBidXQgdGFibGUgaXMuICB3aHk/XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvVGFibGVSZWZzKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmczogVHNnRHluYW1vVGFibGVSZWZbXSB8IHVuZGVmaW5lZCwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGlmICh0YWJsZVJlZnMpIHtcbiAgICAgICAgICAgIHRhYmxlUmVmcy5mb3JFYWNoKCh0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYpID0+IHtcblxuICAgICAgICAgICAgICAgIGlmICh0YWJsZVJlZi5yZWdpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Bc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlSW5SZWdpb24oc2NvcGUsIHRhYmxlUmVmLCBsYW1iZGFzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQXNzaWduUmVhZFdyaXRlQWNjZXNzVG9UYWJsZShzY29wZSwgdGFibGVSZWYsIGxhbWJkYXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlSW5SZWdpb24oc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG4gICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhOiBOb2RlanNGdW5jdGlvbikgPT4ge1xuXG4gICAgICAgICAgICBsZXQgdGFibGVBcm4gPSBcImFybjphd3M6ZHluYW1vZGI6XCIgKyB0YWJsZVJlZi5yZWdpb24gKyBcIjpcIiArICgoc2NvcGUgYXMgU3RhY2spLmFjY291bnQpICsgXCI6dGFibGUvXCIgKyB0YWJsZVJlZi50YWJsZU5hbWU7XG4gICAgICAgICAgICBsZXQgc3RhdGVtZW50ID0gbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQXJuLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZUFybiArIFwiL2luZGV4LypcIixcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IENyZWF0ZUR5bmFtb0RiLlJlYWRXcml0ZUFjdGlvbnMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbGFtYmRhLnJvbGU/LmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlKHNjb3BlOiBDb25zdHJ1Y3QsIHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZiwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuICAgICAgICBsZXQgdGFibGU6IElUYWJsZSA9IFRhYmxlLmZyb21UYWJsZU5hbWUoc2NvcGUsIHRhYmxlUmVmLnRhYmxlTmFtZSwgdGFibGVSZWYudGFibGVOYW1lKTtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpXG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMocHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBcbiAgICAgICAgZ2F0ZXdheTogSVJlc3RBcGksIFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLCBcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplcikge1xuXG4gICAgICAgIHByb3BzLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5hcHBDb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSb3V0ZXMuY3JlYXRlUmVzb3VyY2UocHJvcCwgZ2F0ZXdheSwgbGFtYmRhTm9kZSwgYXV0aG9yaXplcik7XG4gICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnbkFjY2Vzc1RvU2VjcmV0TWFuYWdlcihzZWNyZXQ6IElTZWNyZXQsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gc2VjcmV0LmdyYW50UmVhZChsYW1iZGEpO1xuICAgICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICB9XG5cbn0iXX0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWljcm9TZXJ2aWNlQnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyREFBeUQ7QUFFekQsaURBQThEO0FBSzlELGtFQUErRDtBQUMvRCwwREFBaUQ7QUFDakQseURBQXNEO0FBQ3RELDZDQUFtRDtBQUNuRCwyREFBMEQ7QUFLMUQsTUFBYSx3QkFBd0I7SUFLakMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFFeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1SCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDOUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQjtRQUczQixJQUFJLFVBQVUsR0FBOEIsU0FBUyxDQUFDO1FBRXRELG9CQUFvQjtRQUNwQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixVQUFVLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFXLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDakosVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsVUFBVSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxpQkFBaUI7UUFDakIsTUFBTSxVQUFVLEdBQW1CO1lBQy9CLEtBQUs7WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUs7WUFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUztTQUNoRCxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvRTtRQUVELGtDQUFrQztRQUNsQyxxQ0FBcUM7UUFDckMscUdBQXFHO1FBQ3JHLElBQUk7UUFFSixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUU7WUFDcEMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsb0NBQW9DO1FBQ3BDLDRDQUE0QztRQUM1Qyx1REFBdUQ7UUFDdkQscURBQXFEO1FBRXJELFNBQVM7UUFDVCxNQUFNO1FBRU4sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBZSxFQUFFLE9BQXlCO1FBRW5FLElBQUksTUFBTSxFQUFFO1lBQ1IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtnQkFFdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO29CQUk3Qix5Q0FBeUM7b0JBQ3pDLDBCQUEwQjtvQkFDMUIsbUNBQW1DO29CQUVuQyxlQUFlO29CQUNmLDBCQUEwQjtvQkFDMUIsNEJBQTRCO29CQUM1QixnQ0FBZ0M7b0JBQ2hDLG9EQUFvRDtvQkFDcEQsdUJBQXVCO29CQUN2Qiw4QkFBOEI7b0JBQzlCLDJGQUEyRjtvQkFDM0YsYUFBYTtvQkFDYixTQUFTO29CQUNULEtBQUs7b0JBRUwsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUdyQyxDQUFDLENBQUMsQ0FBQztZQUVQLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxTQUEwQyxFQUFFLE9BQXlCO1FBRW5ILElBQUksU0FBUyxFQUFFO1lBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQTJCLEVBQUUsRUFBRTtnQkFFOUMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO29CQUNqQixJQUFJLENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDdkU7cUJBQ0k7b0JBQ0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7aUJBQy9EO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTyxvQ0FBb0MsQ0FBQyxLQUFnQixFQUFFLFFBQTJCLEVBQUUsT0FBeUI7UUFDakgsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtZQUV2QyxJQUFJLFFBQVEsR0FBRyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFFLEtBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUN6SCxJQUFJLFNBQVMsR0FBRyxJQUFJLHlCQUFlLENBQUM7Z0JBQ2hDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLFNBQVMsRUFBRTtvQkFDUCxRQUFRO29CQUNSLFFBQVEsR0FBRyxVQUFVO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUUsNkJBQWMsQ0FBQyxnQkFBZ0I7YUFDM0MsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxLQUFnQixFQUFFLFFBQTJCLEVBQUUsT0FBeUI7UUFDekcsSUFBSSxLQUFLLEdBQVcsb0JBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZGLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFzQixFQUFFLEVBQUU7WUFDdkMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXBDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUF3QixFQUN0QyxPQUFpQixFQUNqQixPQUF5QixFQUN6QixVQUE0QjtRQUU1QixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFtQixFQUFFLEVBQUU7WUFFcEQsTUFBTSxRQUFRLEdBQUcsMkJBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV2RixJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN4QztZQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztZQUU3RCxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQzthQUN4RDtZQUVELHFCQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWpFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE1BQWUsRUFBRSxPQUF5QjtRQUUxRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7Q0FFSjtBQXRLRCw0REFzS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzdEFwaSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJVGFibGUsIFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9UYWJsZVJlZiwgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3BzIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGFQcm9wc1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlQXV0aG9yaXplciB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDcmVhdGVEeW5hbW9EYiB9IGZyb20gXCIuLi9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5cbmltcG9ydCB7IFNlcnZpY2VCdW5kbGVDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL1NlcnZpY2VCdW5kbGVDb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU1pY3JvU2VydmljZUJ1bmRsZSB7XG4gICAgXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZVJlZnM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVBdXRob3JpemVyOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlQnVuZGxlQ29uZmlnOiBTZXJ2aWNlQnVuZGxlQ29uZmlnKSB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZVJlZnMgPSAodGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlM/Lmxlbmd0aCA/PyAwID4gMCkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnByb3BzLlJFU09VUkNFUy5BVVRIT1JJWkVSKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkluaXQodGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSW5pdChzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIENyZWF0ZSBBdXRob3JpemVyXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IENyZWF0ZUF1dGhvcml6ZXIoc2NvcGUsIHRoaXMuc2VydmljZUJ1bmRsZUNvbmZpZy5hcHBDb25maWcsIHRoaXMuc2VydmljZUJ1bmRsZUNvbmZpZy5wcm9wcy5SRVNPVVJDRVMuQVVUSE9SSVpFUiEpLkp3dEF1dGhvcml6ZXI7XG4gICAgICAgICAgICBhdXRob3JpemVyLl9hdHRhY2hUb0FwaSh0aGlzLnNlcnZpY2VCdW5kbGVDb25maWcuZ2F0ZXdheUFwaSk7ICAgXG4gICAgICAgICAgICBhdXRob3JpemVyLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICB9ICAgICAgICBcblxuICAgICAgICAvLyBDcmVhdGUgTGFtYmRhc1xuICAgICAgICBjb25zdCBsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wcyA9IHtcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgcHJvcDogdGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnByb3BzLCAgICAgICAgICAgIFxuICAgICAgICAgICAgbGF5ZXJzOiB0aGlzLnNlcnZpY2VCdW5kbGVDb25maWcubGF5ZXJzLFxuICAgICAgICAgICAgYXBwQ29uZmlnOiB0aGlzLnNlcnZpY2VCdW5kbGVDb25maWcuYXBwQ29uZmlnXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEobGFtYmRhUHJvcCwgdGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLmFwcENvbmZpZyk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VydmljZUJ1bmRsZUNvbmZpZy50YWJsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuQXNzaWduQWNjZXNzVG9UYWJsZXModGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gQWxsb3cgYWNjZXNzIHRvIGV4aXN0aW5nIHRhYmxlc1xuICAgICAgICAvLyBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVSZWZzKSB7XG4gICAgICAgIC8vICAgICB0aGlzLkFzc2lnbkFjY2Vzc1RvVGFibGVSZWZzKHNjb3BlLCB0aGlzLnByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFX1JFRlMsIGxhbWJkYXMuTGFtYmRhcyk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnNlY3JldE1ncikge1xuICAgICAgICAgICAgdGhpcy5Bc3NpZ25BY2Nlc3NUb1NlY3JldE1hbmFnZXIodGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLnNlY3JldE1nciwgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfSAgICAgICAgXG5cbiAgICAgICAgLy8gbGFtYmRhcy5MYW1iZGFzLm1hcCgobGFtYmRhKSA9PiB7XG4gICAgICAgIC8vICAgICBsYW1iZGEubWV0cmljRXJyb3JzKHsgICAgICAgICAgICAgICAgXG4gICAgICAgIC8vICAgICAgICAgICAgIGxhYmVsOiBgJHtsYW1iZGEuZnVuY3Rpb25OYW1lfS1lcnJvcnNgLCBcbiAgICAgICAgLy8gICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgIH0pXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMuc2VydmljZUJ1bmRsZUNvbmZpZy5wcm9wcywgdGhpcy5zZXJ2aWNlQnVuZGxlQ29uZmlnLmdhdGV3YXlBcGksIGxhbWJkYXMuTGFtYmRhcywgYXV0aG9yaXplcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1RhYmxlcyh0YWJsZXM6IFRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICAvLyAgVGhpcyBpcyBhIENESyBidWc6IEl0IGRvZXNuJ3QgcHJvdmlkZVxuICAgICAgICAgICAgICAgICAgICAvLyAgYWNjZXNzIHRvIHRoZSBpbmRleGVzLlxuICAgICAgICAgICAgICAgICAgICAvL3RhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vICBXb3JrYXJvdW5kOlxuICAgICAgICAgICAgICAgICAgICAvLyBsYW1iZGEuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgYWN0aW9uczogQ3JlYXRlRHluYW1vRGIuUmVhZFdyaXRlQWN0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgdGFibGUudGFibGVBcm4sXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGAke3RhYmxlLnRhYmxlQXJufS8qYCwgLy8gVGhpcyBpcyBub3QgcmVjb2duaXplZCBieSBjZGssIGJ1dCB0YWJsZSBpcy4gIHdoeT9cbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLy8gKTtcblxuICAgICAgICAgICAgICAgICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQXNzaWduQWNjZXNzVG9UYWJsZVJlZnMoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWZzOiBUc2dEeW5hbW9UYWJsZVJlZltdIHwgdW5kZWZpbmVkLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlUmVmcykge1xuICAgICAgICAgICAgdGFibGVSZWZzLmZvckVhY2goKHRhYmxlUmVmOiBUc2dEeW5hbW9UYWJsZVJlZikgPT4ge1xuXG4gICAgICAgICAgICAgICAgaWYgKHRhYmxlUmVmLnJlZ2lvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGVJblJlZ2lvbihzY29wZSwgdGFibGVSZWYsIGxhbWJkYXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Bc3NpZ25SZWFkV3JpdGVBY2Nlc3NUb1RhYmxlKHNjb3BlLCB0YWJsZVJlZiwgbGFtYmRhcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGVJblJlZ2lvbihzY29wZTogQ29uc3RydWN0LCB0YWJsZVJlZjogVHNnRHluYW1vVGFibGVSZWYsIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgIGxldCB0YWJsZUFybiA9IFwiYXJuOmF3czpkeW5hbW9kYjpcIiArIHRhYmxlUmVmLnJlZ2lvbiArIFwiOlwiICsgKChzY29wZSBhcyBTdGFjaykuYWNjb3VudCkgKyBcIjp0YWJsZS9cIiArIHRhYmxlUmVmLnRhYmxlTmFtZTtcbiAgICAgICAgICAgIGxldCBzdGF0ZW1lbnQgPSBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVBcm4sXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQXJuICsgXCIvaW5kZXgvKlwiLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYWN0aW9uczogQ3JlYXRlRHluYW1vRGIuUmVhZFdyaXRlQWN0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsYW1iZGEucm9sZT8uYWRkVG9QcmluY2lwYWxQb2xpY3koc3RhdGVtZW50KTtcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFzc2lnblJlYWRXcml0ZUFjY2Vzc1RvVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVSZWY6IFRzZ0R5bmFtb1RhYmxlUmVmLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG4gICAgICAgIGxldCB0YWJsZTogSVRhYmxlID0gVGFibGUuZnJvbVRhYmxlTmFtZShzY29wZSwgdGFibGVSZWYudGFibGVOYW1lLCB0YWJsZVJlZi50YWJsZU5hbWUpO1xuXG4gICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhOiBOb2RlanNGdW5jdGlvbikgPT4ge1xuICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSlcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIEFkZFJvdXRlcyhwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsIFxuICAgICAgICBnYXRld2F5OiBJUmVzdEFwaSwgXG4gICAgICAgIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10sIFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyKSB7XG5cbiAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQT8uZm9yRWFjaCgocHJvcDogVHNnTGFtYmRhUHJvcCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBsYW1iZGFJZCA9IENyZWF0ZUxhbWJkYS5nZXRJZEZvckxhbWJkYShwcm9wLCB0aGlzLnNlcnZpY2VCdW5kbGVDb25maWcuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFJZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBsYW1iZGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYU5vZGUgPSBsYW1iZGFzLmZpbmQoeCA9PiB4Lm5vZGUuaWQgPT09IGxhbWJkYUlkKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFOb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZmluZCB0aGUgTGFtYmRhIEludGVncmF0aW9uXCIpOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUm91dGVzLmNyZWF0ZVJlc291cmNlKHByb3AsIGdhdGV3YXksIGxhbWJkYU5vZGUsIGF1dGhvcml6ZXIpO1xuICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBc3NpZ25BY2Nlc3NUb1NlY3JldE1hbmFnZXIoc2VjcmV0OiBJU2VjcmV0LCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHNlY3JldC5ncmFudFJlYWQobGFtYmRhKTtcbiAgICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgfVxuXG59Il19
|
|
@@ -79,7 +79,7 @@ class CreateLambda extends baseResource_1.BaseResource {
|
|
|
79
79
|
environment: prop.environment || prop.environment,
|
|
80
80
|
},
|
|
81
81
|
role,
|
|
82
|
-
|
|
82
|
+
layers
|
|
83
83
|
};
|
|
84
84
|
return lambdaProp;
|
|
85
85
|
}
|
|
@@ -134,4 +134,4 @@ class CreateLambda extends baseResource_1.BaseResource {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
exports.CreateLambda = CreateLambda;
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFDckYsaURBQTJEO0FBRTNELHFFQUFtRztBQUVuRyw2QkFBNkI7QUFNN0IsdURBQW9EO0FBR3BELE1BQWEsWUFBYSxTQUFRLDJCQUE0QjtJQUsxRCxZQUFvQixLQUFxQixFQUFFLE1BQWlCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRFgsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFIbEMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFNbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUU3QixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsS0FB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RywyQkFBMkI7Z0JBQzVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEdBQUcsMEJBQTBCO2FBQ3ZFLENBQUMsQ0FBQztZQUVILHdDQUF3QztZQUN4QywrQ0FBK0M7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUF5QixFQUFFLFNBQW9CO1FBQ3hFLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0NBQ0o7QUE1S0Qsb0NBNEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBJQWxhcm1BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IElSb2xlLCBNYW5hZ2VkUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUxhbWJkYSBleHRlbmRzIEJhc2VSZXNvdXJjZTxOb2RlanNGdW5jdGlvbj4ge1xuXG4gICAgcHVibGljIExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcbiAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcHM6IFRzZ0xhbWJkYVByb3BzLCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihwcm9wcy5zY29wZSwgY29uZmlnKTtcblxuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHByb3BzLnNjb3BlKTtcblxuICAgICAgICB0aGlzLkxhbWJkYXMgPSBbLi4ucmVzb3VyY2VzXTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUFsYXJtc0ZvckxhbWJkYXModGhpcy5MYW1iZGFzKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHByb3BzLnNjb3BlLCByZXNvdXJjZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogTm9kZWpzRnVuY3Rpb25bXSB7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jcmVhdGVMYW1iZGFzKHRoaXMucHJvcHMpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgbGFtYmRhLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IHguZnVuY3Rpb25OYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFzKHByb3BzOiBUc2dMYW1iZGFQcm9wcyk6IE5vZGVqc0Z1bmN0aW9uW10ge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyh0aGlzLnNjb3BlLCBwcm9wcy5yb2xlLCBwcm9wcy5sYXllcnMpO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyhzY29wZTogQ29uc3RydWN0LCByb2xlPzogSVJvbGUsIGxheWVycz86IExheWVyVmVyc2lvbltdKSB7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBjcmVhdGVkTGFtYmRhcyA9IHRoaXMucHJvcHMucHJvcC5SRVNPVVJDRVMuTEFNQkRBLm1hcCgoY29uZmlnOlRzZ0xhbWJkYVByb3ApID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGV0IGxhbWJkYVByb3BzID0gdGhpcy5jcmVhdGVMYW1iZGFQcm9wcyhjb25maWcsIHJvbGUsIGxheWVycyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKGNvbmZpZywgdGhpcy5jb25maWcpO1xuICAgICAgICAgICAgbGV0IGZjdG4gPSBuZXcgTm9kZWpzRnVuY3Rpb24oc2NvcGUsIGxhbWJkYUlkLCBsYW1iZGFQcm9wcyk7XG5cbiAgICAgICAgICAgIGlmIChsYW1iZGFJZCA9PT0gZmN0bi5ub2RlLmlkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGZvdW5kIExhbWJkYSBmb3IgOiAke2ZjdG4ubm9kZS5pZH1gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyAgSWYgd2UgaGF2ZSBtYW5hZ2VkIHBvbGljaWVzLCB3ZSBhZGQgdGhlbS5cbiAgICAgICAgICAgIGlmIChjb25maWcubWFuYWdlZFBvbGljaWVzICYmIGNvbmZpZy5tYW5hZ2VkUG9saWNpZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbk1hbmFnZWRQb2xpY2llcyhmY3RuLCBjb25maWcubWFuYWdlZFBvbGljaWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsIFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVycywgXG4gICAgICAgICAgICBwcm9wc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9uUHJvcHMocHJvcHM6IENyZWF0ZUxhbWJkYUZ1bmN0aW9uSW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wLCByb2xlLCBsYXllcnMgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGBmdW5jdGlvbiBOYW1lOiAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCk7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICAgICAgICAgIGVudHJ5OiBwYXRoLmpvaW4ocHJvcC5jb2RlUGF0aCksXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6IGAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCxcbiAgICAgICAgICAgIGhhbmRsZXI6IHByb3AuaGFuZGxlcixcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCB0aGlzLmNvbmZpZy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC4uLnByb3AuZW52aXJvbm1lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgICAgICAgIG1pbmlmeTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnZXMyMDIwJyxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogcHJvcC5lbnZpcm9ubWVudCB8fCBwcm9wLmVudmlyb25tZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICAvL2xheWVyc1xuXG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGxhbWJkYVByb3A7XG4gICAgfTtcblxuICAgIHByaXZhdGUgYXNzaWduTWFuYWdlZFBvbGljaWVzKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24sIG1hbmFnZWRQb2xpY3lOYW1lczogc3RyaW5nW10pIHtcblxuICAgICAgICBtYW5hZ2VkUG9saWN5TmFtZXMuZm9yRWFjaCgobWFuYWdlZFBvbGljeU5hbWU6IHN0cmluZykgPT4ge1xuXG4gICAgICAgICAgICBsZXQgcG9saWN5ID0gTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUobWFuYWdlZFBvbGljeU5hbWUpO1xuXG4gICAgICAgICAgICBsYW1iZGEucm9sZT8uYWRkTWFuYWdlZFBvbGljeShwb2xpY3kpO1xuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQWxhcm1zRm9yTGFtYmRhcyhsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7ICAgICAgICBcblxuICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWV0cmljID0gbGFtYmRhLm1ldHJpY0Vycm9ycyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0R1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25NZXRyaWMgPSBsYW1iZGEubWV0cmljSW52b2NhdGlvbnMoe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSwgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMucHJvcHMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWVycm9yLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogNSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1lcnJvci1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZXcgQWxhcm0odGhpcy5wcm9wcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0tZHVyYXRpb24tYWxhcm1gLCB7XG4gICAgICAgICAgICAgICAgbWV0cmljOiBkdXJhdGlvbk1ldHJpYywgXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgICAgICAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0gZHVyYXRpb24gZXJyb3JzIG92ZXIgMyBtaW4gcGVyaW9kYCxcbiAgICAgICAgICAgICAgICBhbGFybU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWR1cmF0aW9uLWFsYXJtYFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGludm9jYXRpb25BbGFybSA9IG5ldyBBbGFybSh0aGlzLnByb3BzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZXJyb3JNZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMTAwMCxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1pbnZvY2F0aW9uLU1ldHJpYy1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBhbGFybUFjdGlvbjogSUFsYXJtQWN0aW9uID0ge307XG4gICAgICAgICAgICAvLyBpbnZvY2F0aW9uQWxhcm0uYWRkQWxhcm1BY3Rpb24oYWxhcm1BY3Rpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldElkRm9yTGFtYmRhKGxhbWJkYVByb3A6IFRzZ0xhbWJkYVByb3AsIGFwcENvbmZpZzogQXBwQ29uZmlnKSB7ICAgICAgIFxuICAgICAgICByZXR1cm4gYCR7YXBwQ29uZmlnLkFwcFByZWZpeH0tJHtsYW1iZGFQcm9wLm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbn0iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9sYW1iZGEvY3JlYXRlTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFrRDtBQUVsRCwrREFBcUY7QUFDckYsaURBQTJEO0FBRTNELHFFQUFtRztBQUVuRyw2QkFBNkI7QUFNN0IsdURBQW9EO0FBR3BELE1BQWEsWUFBYSxTQUFRLDJCQUE0QjtJQUsxRCxZQUFvQixLQUFxQixFQUFFLE1BQWlCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRFgsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFIbEMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFNbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUU3QixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxFQUFFLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsS0FB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RywyQkFBMkI7Z0JBQzVFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEdBQUcsMEJBQTBCO2FBQ3ZFLENBQUMsQ0FBQztZQUVILHdDQUF3QztZQUN4QywrQ0FBK0M7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUF5QixFQUFFLFNBQW9CO1FBQ3hFLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0NBQ0o7QUE1S0Qsb0NBNEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBJQWxhcm1BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IElSb2xlLCBNYW5hZ2VkUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiwgTm9kZWpzRnVuY3Rpb25Qcm9wcywgU291cmNlTWFwTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcHMgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0xhbWJkYVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVMYW1iZGFGdW5jdGlvbklucHV0IH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQ3JlYXRlTGFtYmRhRnVuY3Rpb25JbnB1dFwiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUxhbWJkYSBleHRlbmRzIEJhc2VSZXNvdXJjZTxOb2RlanNGdW5jdGlvbj4ge1xuXG4gICAgcHVibGljIExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcbiAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcHM6IFRzZ0xhbWJkYVByb3BzLCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihwcm9wcy5zY29wZSwgY29uZmlnKTtcblxuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHByb3BzLnNjb3BlKTtcblxuICAgICAgICB0aGlzLkxhbWJkYXMgPSBbLi4ucmVzb3VyY2VzXTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUFsYXJtc0ZvckxhbWJkYXModGhpcy5MYW1iZGFzKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHByb3BzLnNjb3BlLCByZXNvdXJjZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogTm9kZWpzRnVuY3Rpb25bXSB7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5jcmVhdGVMYW1iZGFzKHRoaXMucHJvcHMpO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgbGFtYmRhLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IHguZnVuY3Rpb25OYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMYW1iZGFzKHByb3BzOiBUc2dMYW1iZGFQcm9wcyk6IE5vZGVqc0Z1bmN0aW9uW10ge1xuICAgICAgICBcbiAgICAgICAgY29uc3QgY3JlYXRlZExhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyh0aGlzLnNjb3BlLCBwcm9wcy5yb2xlLCBwcm9wcy5sYXllcnMpO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9ucyhzY29wZTogQ29uc3RydWN0LCByb2xlPzogSVJvbGUsIGxheWVycz86IExheWVyVmVyc2lvbltdKSB7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBjcmVhdGVkTGFtYmRhcyA9IHRoaXMucHJvcHMucHJvcC5SRVNPVVJDRVMuTEFNQkRBLm1hcCgoY29uZmlnOlRzZ0xhbWJkYVByb3ApID0+IHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGV0IGxhbWJkYVByb3BzID0gdGhpcy5jcmVhdGVMYW1iZGFQcm9wcyhjb25maWcsIHJvbGUsIGxheWVycyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKGNvbmZpZywgdGhpcy5jb25maWcpO1xuICAgICAgICAgICAgbGV0IGZjdG4gPSBuZXcgTm9kZWpzRnVuY3Rpb24oc2NvcGUsIGxhbWJkYUlkLCBsYW1iZGFQcm9wcyk7XG5cbiAgICAgICAgICAgIGlmIChsYW1iZGFJZCA9PT0gZmN0bi5ub2RlLmlkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGZvdW5kIExhbWJkYSBmb3IgOiAke2ZjdG4ubm9kZS5pZH1gKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyAgSWYgd2UgaGF2ZSBtYW5hZ2VkIHBvbGljaWVzLCB3ZSBhZGQgdGhlbS5cbiAgICAgICAgICAgIGlmIChjb25maWcubWFuYWdlZFBvbGljaWVzICYmIGNvbmZpZy5tYW5hZ2VkUG9saWNpZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbk1hbmFnZWRQb2xpY2llcyhmY3RuLCBjb25maWcubWFuYWdlZFBvbGljaWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZjdG47XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjcmVhdGVkTGFtYmRhcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYVByb3BzKHByb3A6IFRzZ0xhbWJkYVByb3AsIHJvbGU/OiBJUm9sZSwgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sIHByb3BzPzogVHNnTGFtYmRhUHJvcHMpIHtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVMYW1iZGFGdW5jdGlvblByb3BzKHtcbiAgICAgICAgICAgIHByb3AsIFxuICAgICAgICAgICAgcm9sZSxcbiAgICAgICAgICAgIGxheWVycywgXG4gICAgICAgICAgICBwcm9wc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUxhbWJkYUZ1bmN0aW9uUHJvcHMocHJvcHM6IENyZWF0ZUxhbWJkYUZ1bmN0aW9uSW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wLCByb2xlLCBsYXllcnMgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGBmdW5jdGlvbiBOYW1lOiAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCk7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhUHJvcDogTm9kZWpzRnVuY3Rpb25Qcm9wcyA9IHtcbiAgICAgICAgICAgIGVudHJ5OiBwYXRoLmpvaW4ocHJvcC5jb2RlUGF0aCksXG4gICAgICAgICAgICBmdW5jdGlvbk5hbWU6IGAke3RoaXMucHJvcHMuYXBwQ29uZmlnLkFwcFByZWZpeH0tJHtwcm9wLm5hbWV9YCxcbiAgICAgICAgICAgIGhhbmRsZXI6IHByb3AuaGFuZGxlcixcbiAgICAgICAgICAgIHJ1bnRpbWU6IHByb3AucnVudGltZSB8fCB0aGlzLmNvbmZpZy5HTE9CQUxTLnN0YWNrUnVudGltZSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHByb3AuZHVyYXRpb24gfHwgRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IHByb3AubWVtb3J5IHx8IDUxMixcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgXCJWRVJCT1NFX0xPR0dJTkdcIjogXCJ0cnVlXCIsICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC4uLnByb3AuZW52aXJvbm1lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgICAgICAgIG1pbmlmeTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnZXMyMDIwJyxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwTW9kZTogU291cmNlTWFwTW9kZS5FWFRFUk5BTCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogcHJvcC5lbnZpcm9ubWVudCB8fCBwcm9wLmVudmlyb25tZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICBsYXllcnNcblxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIHJldHVybiBsYW1iZGFQcm9wO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGFzc2lnbk1hbmFnZWRQb2xpY2llcyhsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uLCBtYW5hZ2VkUG9saWN5TmFtZXM6IHN0cmluZ1tdKSB7XG5cbiAgICAgICAgbWFuYWdlZFBvbGljeU5hbWVzLmZvckVhY2goKG1hbmFnZWRQb2xpY3lOYW1lOiBzdHJpbmcpID0+IHtcblxuICAgICAgICAgICAgbGV0IHBvbGljeSA9IE1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKG1hbmFnZWRQb2xpY3lOYW1lKTtcblxuICAgICAgICAgICAgbGFtYmRhLnJvbGU/LmFkZE1hbmFnZWRQb2xpY3kocG9saWN5KTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFsYXJtc0ZvckxhbWJkYXMobGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkgeyAgICAgICAgXG5cbiAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGEsIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBlcnJvck1ldHJpYyA9IGxhbWJkYS5tZXRyaWNFcnJvcnMoe1xuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygzKSxcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbk1ldHJpYyA9IGxhbWJkYS5tZXRyaWNEdXJhdGlvbih7XG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDMpLCAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbnZvY2F0aW9uTWV0cmljID0gbGFtYmRhLm1ldHJpY0ludm9jYXRpb25zKHtcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMyksICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5ldyBBbGFybSh0aGlzLnByb3BzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1lcnJvci1hbGFybWAsIHtcbiAgICAgICAgICAgICAgICBtZXRyaWM6IGVycm9yTWV0cmljLCBcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDUsXG4gICAgICAgICAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICAgICAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICAgICAgICAgICAgICBhbGFybURlc2NyaXB0aW9uOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fSBlcnJvcnMgb3ZlciAzIG1pbiBwZXJpb2RgLFxuICAgICAgICAgICAgICAgIGFsYXJtTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0tZXJyb3ItYWxhcm1gXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3IEFsYXJtKHRoaXMucHJvcHMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9LWR1cmF0aW9uLWFsYXJtYCwge1xuICAgICAgICAgICAgICAgIG1ldHJpYzogZHVyYXRpb25NZXRyaWMsIFxuICAgICAgICAgICAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgICAgICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICAgICAgICAgIGFsYXJtRGVzY3JpcHRpb246IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHtpZHh9IGR1cmF0aW9uIGVycm9ycyBvdmVyIDMgbWluIHBlcmlvZGAsXG4gICAgICAgICAgICAgICAgYWxhcm1OYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fS1kdXJhdGlvbi1hbGFybWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbnZvY2F0aW9uQWxhcm0gPSBuZXcgQWxhcm0odGhpcy5wcm9wcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0taW52b2NhdGlvbi1hbGFybWAsIHtcbiAgICAgICAgICAgICAgICBtZXRyaWM6IGVycm9yTWV0cmljLCBcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDEwMDAsXG4gICAgICAgICAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICAgICAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICAgICAgICAgICAgICBhbGFybURlc2NyaXB0aW9uOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7aWR4fSBlcnJvcnMgb3ZlciAzIG1pbiBwZXJpb2RgLFxuICAgICAgICAgICAgICAgIGFsYXJtTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke2lkeH0taW52b2NhdGlvbi1NZXRyaWMtYWxhcm1gXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gY29uc3QgYWxhcm1BY3Rpb246IElBbGFybUFjdGlvbiA9IHt9O1xuICAgICAgICAgICAgLy8gaW52b2NhdGlvbkFsYXJtLmFkZEFsYXJtQWN0aW9uKGFsYXJtQWN0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJZEZvckxhbWJkYShsYW1iZGFQcm9wOiBUc2dMYW1iZGFQcm9wLCBhcHBDb25maWc6IEFwcENvbmZpZykgeyAgICAgICBcbiAgICAgICAgcmV0dXJuIGAke2FwcENvbmZpZy5BcHBQcmVmaXh9LSR7bGFtYmRhUHJvcC5uYW1lfWAudG9Mb3dlckNhc2UoKTtcbiAgICB9XG59Il19
|
package/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IRestApi } from "aws-cdk-lib/aws-apigateway";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { MicroserviceProps } from "../interfaces/MicroserviceProps";
|
|
4
|
+
import { AppConfig } from "./AppConfig";
|
|
5
|
+
import { Table } from "aws-cdk-lib/aws-dynamodb";
|
|
6
|
+
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
7
|
+
import { LayerVersion } from "aws-cdk-lib/aws-lambda";
|
|
8
|
+
|
|
9
|
+
export interface ServiceBundleConfig {
|
|
10
|
+
scope: Construct,
|
|
11
|
+
readonly gatewayApi: IRestApi,
|
|
12
|
+
readonly props: MicroserviceProps,
|
|
13
|
+
readonly appConfig: AppConfig,
|
|
14
|
+
readonly tables?: Table[],
|
|
15
|
+
readonly secretMgr?: ISecret,
|
|
16
|
+
readonly layers?: LayerVersion[]
|
|
17
|
+
|
|
18
|
+
}
|
|
@@ -59,8 +59,14 @@ export class MicroService extends Construct {
|
|
|
59
59
|
|
|
60
60
|
// props.RESOURCES.LAMBDA.forEach((lambdaProp: TsgLambdaProp) => {
|
|
61
61
|
|
|
62
|
-
const result = new CreateMicroServiceBundle(
|
|
63
|
-
|
|
62
|
+
const result = new CreateMicroServiceBundle({
|
|
63
|
+
scope,
|
|
64
|
+
gatewayApi: gateway[0],
|
|
65
|
+
props,
|
|
66
|
+
appConfig: this.appConfig,
|
|
67
|
+
tables,
|
|
68
|
+
secretMgr: undefined,
|
|
69
|
+
layers});
|
|
64
70
|
// });
|
|
65
71
|
|
|
66
72
|
|
|
@@ -9,30 +9,22 @@ import { MicroserviceProps } from "../../interfaces/MicroserviceProps";
|
|
|
9
9
|
import { CreateAuthorizer } from "../helpers/createAuthorizer";
|
|
10
10
|
import { Routes } from "../helpers/createRoutes";
|
|
11
11
|
import { CreateLambda } from "../lambda/createLambda";
|
|
12
|
-
import {
|
|
12
|
+
import { RemovalPolicy, Stack } from "aws-cdk-lib";
|
|
13
13
|
import { CreateDynamoDb } from "../dynamodb/CreateDynamo";
|
|
14
14
|
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
15
|
-
|
|
16
|
-
import {
|
|
17
|
-
import { MetricOptions } from "aws-cdk-lib/aws-cloudwatch";
|
|
15
|
+
|
|
16
|
+
import { ServiceBundleConfig } from "../../config/ServiceBundleConfig";
|
|
18
17
|
|
|
19
18
|
export class CreateMicroServiceBundle {
|
|
20
19
|
|
|
21
20
|
protected readonly requireDynamoTableRefs: boolean;
|
|
22
21
|
protected readonly requireAuthorizer: boolean;
|
|
23
22
|
|
|
24
|
-
constructor(
|
|
25
|
-
private readonly gatewayApi: IRestApi,
|
|
26
|
-
private readonly props: MicroserviceProps,
|
|
27
|
-
private readonly appConfig: AppConfig,
|
|
28
|
-
private readonly tables?: Table[],
|
|
29
|
-
private readonly secretMgr?: ISecret | null,
|
|
30
|
-
private readonly layers?: LayerVersion[],
|
|
31
|
-
) {
|
|
23
|
+
constructor(private serviceBundleConfig: ServiceBundleConfig) {
|
|
32
24
|
|
|
33
|
-
this.requireDynamoTableRefs = (props.RESOURCES.DYNAMO?.TABLE_REFS?.length ?? 0 > 0) ? true : false;
|
|
34
|
-
this.requireAuthorizer = (props.RESOURCES.AUTHORIZER) ? true : false;
|
|
35
|
-
this.onInit(scope);
|
|
25
|
+
this.requireDynamoTableRefs = (this.serviceBundleConfig.props.RESOURCES.DYNAMO?.TABLE_REFS?.length ?? 0 > 0) ? true : false;
|
|
26
|
+
this.requireAuthorizer = (this.serviceBundleConfig.props.RESOURCES.AUTHORIZER) ? true : false;
|
|
27
|
+
this.onInit(this.serviceBundleConfig.scope);
|
|
36
28
|
}
|
|
37
29
|
|
|
38
30
|
private onInit(scope: Construct) {
|
|
@@ -42,23 +34,23 @@ export class CreateMicroServiceBundle {
|
|
|
42
34
|
|
|
43
35
|
// Create Authorizer
|
|
44
36
|
if (this.requireAuthorizer) {
|
|
45
|
-
authorizer = new CreateAuthorizer(scope, this.appConfig, this.props.RESOURCES.AUTHORIZER!).JwtAuthorizer;
|
|
46
|
-
authorizer._attachToApi(this.gatewayApi);
|
|
37
|
+
authorizer = new CreateAuthorizer(scope, this.serviceBundleConfig.appConfig, this.serviceBundleConfig.props.RESOURCES.AUTHORIZER!).JwtAuthorizer;
|
|
38
|
+
authorizer._attachToApi(this.serviceBundleConfig.gatewayApi);
|
|
47
39
|
authorizer.applyRemovalPolicy(RemovalPolicy.DESTROY);
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
// Create Lambdas
|
|
51
43
|
const lambdaProp: TsgLambdaProps = {
|
|
52
44
|
scope,
|
|
53
|
-
prop: this.props,
|
|
54
|
-
layers: this.layers,
|
|
55
|
-
appConfig: this.appConfig
|
|
45
|
+
prop: this.serviceBundleConfig.props,
|
|
46
|
+
layers: this.serviceBundleConfig.layers,
|
|
47
|
+
appConfig: this.serviceBundleConfig.appConfig
|
|
56
48
|
};
|
|
57
49
|
|
|
58
|
-
const lambdas = new CreateLambda(lambdaProp, this.appConfig);
|
|
50
|
+
const lambdas = new CreateLambda(lambdaProp, this.serviceBundleConfig.appConfig);
|
|
59
51
|
|
|
60
|
-
if (this.tables) {
|
|
61
|
-
this.AssignAccessToTables(this.tables, lambdas.Lambdas);
|
|
52
|
+
if (this.serviceBundleConfig.tables) {
|
|
53
|
+
this.AssignAccessToTables(this.serviceBundleConfig.tables, lambdas.Lambdas);
|
|
62
54
|
}
|
|
63
55
|
|
|
64
56
|
// Allow access to existing tables
|
|
@@ -66,8 +58,8 @@ export class CreateMicroServiceBundle {
|
|
|
66
58
|
// this.AssignAccessToTableRefs(scope, this.props.RESOURCES.DYNAMO?.TABLE_REFS, lambdas.Lambdas);
|
|
67
59
|
// }
|
|
68
60
|
|
|
69
|
-
if (this.secretMgr) {
|
|
70
|
-
this.AssignAccessToSecretManager(this.secretMgr, lambdas.Lambdas);
|
|
61
|
+
if (this.serviceBundleConfig.secretMgr) {
|
|
62
|
+
this.AssignAccessToSecretManager(this.serviceBundleConfig.secretMgr, lambdas.Lambdas);
|
|
71
63
|
}
|
|
72
64
|
|
|
73
65
|
// lambdas.Lambdas.map((lambda) => {
|
|
@@ -78,7 +70,7 @@ export class CreateMicroServiceBundle {
|
|
|
78
70
|
// })
|
|
79
71
|
// });
|
|
80
72
|
|
|
81
|
-
this.AddRoutes(this.props, this.gatewayApi, lambdas.Lambdas, authorizer);
|
|
73
|
+
this.AddRoutes(this.serviceBundleConfig.props, this.serviceBundleConfig.gatewayApi, lambdas.Lambdas, authorizer);
|
|
82
74
|
}
|
|
83
75
|
|
|
84
76
|
private AssignAccessToTables(tables: Table[], lambdas: NodejsFunction[]) {
|
|
@@ -164,7 +156,7 @@ export class CreateMicroServiceBundle {
|
|
|
164
156
|
|
|
165
157
|
props.RESOURCES.LAMBDA?.forEach((prop: TsgLambdaProp) => {
|
|
166
158
|
|
|
167
|
-
const lambdaId = CreateLambda.getIdForLambda(prop, this.appConfig);
|
|
159
|
+
const lambdaId = CreateLambda.getIdForLambda(prop, this.serviceBundleConfig.appConfig);
|
|
168
160
|
|
|
169
161
|
if (!lambdaId) {
|
|
170
162
|
throw new Error(`Can't find lambda`);
|