cdk-serverless 0.1.52 → 1.0.2
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/.gitattributes +23 -20
- package/.gitpod.yml +6 -0
- package/README.md +2 -0
- package/lib/constructs/asset-cdn.d.ts +4 -5
- package/lib/constructs/asset-cdn.js +16 -39
- package/lib/constructs/auth.d.ts +4 -4
- package/lib/constructs/auth.js +12 -12
- package/lib/constructs/base-api.d.ts +3 -3
- package/lib/constructs/base-api.js +3 -22
- package/lib/constructs/func.d.ts +6 -9
- package/lib/constructs/func.js +8 -10
- package/lib/constructs/graphql-api.d.ts +3 -3
- package/lib/constructs/graphql-api.js +16 -16
- package/lib/constructs/http-api.d.ts +4 -4
- package/lib/constructs/http-api.js +11 -13
- package/lib/constructs/monitoring.d.ts +4 -4
- package/lib/constructs/monitoring.js +12 -31
- package/lib/constructs/scheduled-func.d.ts +4 -7
- package/lib/constructs/scheduled-func.js +6 -7
- package/lib/constructs/table.d.ts +4 -5
- package/lib/constructs/table.js +13 -14
- package/lib/constructs/webhook.d.ts +4 -4
- package/lib/constructs/webhook.js +13 -16
- package/lib/projen/core.d.ts +2 -13
- package/lib/projen/core.js +7 -20
- package/lib/projen/graphql-api.d.ts +1 -1
- package/lib/projen/graphql-api.js +2 -3
- package/lib/projen/http-api.d.ts +1 -1
- package/lib/projen/http-api.js +2 -3
- package/package.json +21 -50
package/.gitattributes
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
2
2
|
|
|
3
|
-
*.snap
|
|
4
|
-
/.eslintrc.json
|
|
5
|
-
/.gitattributes
|
|
6
|
-
/.github/pull_request_template.md
|
|
7
|
-
/.github/workflows/
|
|
8
|
-
/.github/workflows/
|
|
9
|
-
/.github/workflows/
|
|
10
|
-
/.github/workflows/
|
|
11
|
-
/.github/workflows/
|
|
12
|
-
/.
|
|
13
|
-
/.
|
|
14
|
-
/.
|
|
15
|
-
/.
|
|
16
|
-
/.
|
|
17
|
-
/.projen
|
|
18
|
-
/
|
|
19
|
-
/
|
|
20
|
-
/
|
|
21
|
-
/
|
|
22
|
-
/
|
|
3
|
+
*.snap linguist-generated
|
|
4
|
+
/.eslintrc.json linguist-generated
|
|
5
|
+
/.gitattributes linguist-generated
|
|
6
|
+
/.github/pull_request_template.md linguist-generated
|
|
7
|
+
/.github/workflows/auto-approve.yml linguist-generated
|
|
8
|
+
/.github/workflows/build.yml linguist-generated
|
|
9
|
+
/.github/workflows/pull-request-lint.yml linguist-generated
|
|
10
|
+
/.github/workflows/release.yml linguist-generated
|
|
11
|
+
/.github/workflows/stale.yml linguist-generated
|
|
12
|
+
/.github/workflows/upgrade-main.yml linguist-generated
|
|
13
|
+
/.gitignore linguist-generated
|
|
14
|
+
/.gitpod.yml linguist-generated
|
|
15
|
+
/.mergify.yml linguist-generated
|
|
16
|
+
/.npmignore linguist-generated
|
|
17
|
+
/.projen/** linguist-generated
|
|
18
|
+
/.projen/deps.json linguist-generated
|
|
19
|
+
/.projen/files.json linguist-generated
|
|
20
|
+
/.projen/tasks.json linguist-generated
|
|
21
|
+
/LICENSE linguist-generated
|
|
22
|
+
/package.json linguist-generated
|
|
23
|
+
/tsconfig.dev.json linguist-generated
|
|
24
|
+
/tsconfig.json linguist-generated
|
|
25
|
+
/yarn.lock linguist-generated
|
package/.gitpod.yml
ADDED
package/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# CDK Serverless
|
|
2
|
+
|
|
1
3
|
[](https://badge.fury.io/js/cdk-serverless)
|
|
2
4
|
|
|
3
5
|
CDK Serverless is a tool suite to facilitate the use of the AWS Cloud Development Kit (CDK) in serverless architectures. It provides project management features to configure your TypeScript CDK app and also higher-level (L3) constructs for different APIs and resources needed for serverless applications. Additionally, it leverages utility libraries to write Lambda functions and do live updates to Lambda function code during development.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import * as cdk from '@aws-cdk/core';
|
|
1
|
+
import { aws_route53 as route53, aws_s3 as s3 } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
4
3
|
export interface AssetCdnProps {
|
|
5
4
|
/**
|
|
6
5
|
* Domain name of the asset content delivery network (e.g. example.com)
|
|
@@ -11,9 +10,9 @@ export interface AssetCdnProps {
|
|
|
11
10
|
*/
|
|
12
11
|
hostName: string;
|
|
13
12
|
}
|
|
14
|
-
export declare class AssetCdn extends
|
|
13
|
+
export declare class AssetCdn extends Construct {
|
|
15
14
|
readonly zone: route53.IHostedZone;
|
|
16
15
|
readonly assetBucket: s3.Bucket;
|
|
17
16
|
readonly assetDomainName: string;
|
|
18
|
-
constructor(scope:
|
|
17
|
+
constructor(scope: Construct, id: string, props: AssetCdnProps);
|
|
19
18
|
}
|
|
@@ -1,54 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.AssetCdn = void 0;
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
const route53Targets = __importStar(require("@aws-cdk/aws-route53-targets"));
|
|
27
|
-
const s3 = __importStar(require("@aws-cdk/aws-s3"));
|
|
28
|
-
const cdk = __importStar(require("@aws-cdk/core"));
|
|
29
|
-
class AssetCdn extends cdk.Construct {
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const constructs_1 = require("constructs");
|
|
6
|
+
class AssetCdn extends constructs_1.Construct {
|
|
30
7
|
constructor(scope, id, props) {
|
|
31
8
|
super(scope, id);
|
|
32
|
-
this.zone =
|
|
9
|
+
this.zone = aws_cdk_lib_1.aws_route53.HostedZone.fromLookup(this, 'HostedZone', {
|
|
33
10
|
domainName: props.domainName,
|
|
34
11
|
});
|
|
35
|
-
this.assetBucket = new
|
|
36
|
-
blockPublicAccess:
|
|
12
|
+
this.assetBucket = new aws_cdk_lib_1.aws_s3.Bucket(this, 'AssetBucket', {
|
|
13
|
+
blockPublicAccess: aws_cdk_lib_1.aws_s3.BlockPublicAccess.BLOCK_ALL,
|
|
37
14
|
});
|
|
38
15
|
this.assetBucket.addCorsRule({
|
|
39
16
|
allowedHeaders: ['*'],
|
|
40
|
-
allowedMethods: [
|
|
17
|
+
allowedMethods: [aws_cdk_lib_1.aws_s3.HttpMethods.PUT],
|
|
41
18
|
allowedOrigins: ['*'],
|
|
42
19
|
});
|
|
43
20
|
this.assetDomainName = `${props.hostName}.${props.domainName}`;
|
|
44
|
-
const cert = new
|
|
21
|
+
const cert = new aws_cdk_lib_1.aws_certificatemanager.DnsValidatedCertificate(this, 'Certificate', {
|
|
45
22
|
hostedZone: this.zone,
|
|
46
23
|
domainName: this.assetDomainName,
|
|
47
24
|
region: 'us-east-1',
|
|
48
25
|
});
|
|
49
|
-
const originAccessIdentity = new
|
|
26
|
+
const originAccessIdentity = new aws_cdk_lib_1.aws_cloudfront.OriginAccessIdentity(this, 'OAI', { comment: `S3 Frontend ${this.assetDomainName}` });
|
|
50
27
|
this.assetBucket.grantRead(originAccessIdentity);
|
|
51
|
-
const distribution = new
|
|
28
|
+
const distribution = new aws_cdk_lib_1.aws_cloudfront.CloudFrontWebDistribution(this, 'Distribution', {
|
|
52
29
|
originConfigs: [
|
|
53
30
|
{
|
|
54
31
|
behaviors: [{ isDefaultBehavior: true }],
|
|
@@ -58,19 +35,19 @@ class AssetCdn extends cdk.Construct {
|
|
|
58
35
|
},
|
|
59
36
|
},
|
|
60
37
|
],
|
|
61
|
-
viewerCertificate:
|
|
38
|
+
viewerCertificate: aws_cdk_lib_1.aws_cloudfront.ViewerCertificate.fromAcmCertificate(cert, {
|
|
62
39
|
aliases: [this.assetDomainName],
|
|
63
40
|
}),
|
|
64
41
|
comment: `Asset endpoint for ${this.assetDomainName}`,
|
|
65
|
-
priceClass:
|
|
66
|
-
viewerProtocolPolicy:
|
|
42
|
+
priceClass: aws_cdk_lib_1.aws_cloudfront.PriceClass.PRICE_CLASS_ALL,
|
|
43
|
+
viewerProtocolPolicy: aws_cdk_lib_1.aws_cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
67
44
|
});
|
|
68
|
-
new
|
|
45
|
+
new aws_cdk_lib_1.aws_route53.ARecord(this, 'AliasRecord', {
|
|
69
46
|
recordName: this.assetDomainName,
|
|
70
47
|
zone: this.zone,
|
|
71
|
-
target:
|
|
48
|
+
target: aws_cdk_lib_1.aws_route53.RecordTarget.fromAlias(new aws_cdk_lib_1.aws_route53_targets.CloudFrontTarget(distribution)),
|
|
72
49
|
});
|
|
73
50
|
}
|
|
74
51
|
}
|
|
75
52
|
exports.AssetCdn = AssetCdn;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtY2RuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvYXNzZXQtY2RuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFjdkMsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFNckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDNUQsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3BELGlCQUFpQixFQUFFLG9CQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztTQUNsRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUMzQixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDckIsY0FBYyxFQUFFLENBQUMsb0JBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBQ3BDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUN0QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQ0FBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQy9FLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDaEMsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDRCQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRCxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNsRixhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsU0FBUyxFQUFFLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDeEMsY0FBYyxFQUFFO3dCQUNkLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVzt3QkFDaEMsb0JBQW9CO3FCQUNyQjtpQkFDRjthQUNGO1lBQ0QsaUJBQWlCLEVBQUUsNEJBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDaEMsQ0FBQztZQUNGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNyRCxVQUFVLEVBQUUsNEJBQVUsQ0FBQyxVQUFVLENBQUMsZUFBZTtZQUNqRCxvQkFBb0IsRUFBRSw0QkFBVSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQjtTQUN4RSxDQUFDLENBQUM7UUFFSCxJQUFJLHlCQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSx5QkFBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxpQ0FBYyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFGLENBQUMsQ0FBQztJQUVMLENBQUM7Q0FDRjtBQTFERCw0QkEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfY2VydGlmaWNhdGVtYW5hZ2VyIGFzIGNlcnRpZmljYXRlbWFuYWdlcixcbiAgYXdzX2Nsb3VkZnJvbnQgYXMgY2xvdWRmcm9udCxcbiAgYXdzX3JvdXRlNTMgYXMgcm91dGU1MyxcbiAgYXdzX3JvdXRlNTNfdGFyZ2V0cyBhcyByb3V0ZTUzVGFyZ2V0cyxcbiAgYXdzX3MzIGFzIHMzLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBBc3NldENkblByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiBuYW1lIG9mIHRoZSBhc3NldCBjb250ZW50IGRlbGl2ZXJ5IG5ldHdvcmsgKGUuZy4gZXhhbXBsZS5jb20pXG4gICAqL1xuICBkb21haW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvc3RuYW1lIG9mIHRoZSBhc3NldCBjb250ZW50IGRlbGl2ZXJ5IG5ldHdvcmsgKGUuZy4gY2RuKVxuICAgKi9cbiAgaG9zdE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFzc2V0Q2RuIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgem9uZTogcm91dGU1My5JSG9zdGVkWm9uZTtcbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0QnVja2V0OiBzMy5CdWNrZXQ7XG4gIHB1YmxpYyByZWFkb25seSBhc3NldERvbWFpbk5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXNzZXRDZG5Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnpvbmUgPSByb3V0ZTUzLkhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCAnSG9zdGVkWm9uZScsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFzc2V0QnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQXNzZXRCdWNrZXQnLCB7XG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgIH0pO1xuICAgIHRoaXMuYXNzZXRCdWNrZXQuYWRkQ29yc1J1bGUoe1xuICAgICAgYWxsb3dlZEhlYWRlcnM6IFsnKiddLFxuICAgICAgYWxsb3dlZE1ldGhvZHM6IFtzMy5IdHRwTWV0aG9kcy5QVVRdLFxuICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldERvbWFpbk5hbWUgPSBgJHtwcm9wcy5ob3N0TmFtZX0uJHtwcm9wcy5kb21haW5OYW1lfWA7XG5cbiAgICBjb25zdCBjZXJ0ID0gbmV3IGNlcnRpZmljYXRlbWFuYWdlci5EbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSh0aGlzLCAnQ2VydGlmaWNhdGUnLCB7XG4gICAgICBob3N0ZWRab25lOiB0aGlzLnpvbmUsXG4gICAgICBkb21haW5OYW1lOiB0aGlzLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvcmlnaW5BY2Nlc3NJZGVudGl0eSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsICdPQUknLCB7IGNvbW1lbnQ6IGBTMyBGcm9udGVuZCAke3RoaXMuYXNzZXREb21haW5OYW1lfWAgfSk7XG4gICAgdGhpcy5hc3NldEJ1Y2tldC5ncmFudFJlYWQob3JpZ2luQWNjZXNzSWRlbnRpdHkpO1xuXG4gICAgY29uc3QgZGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuQ2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgb3JpZ2luQ29uZmlnczogW1xuICAgICAgICB7XG4gICAgICAgICAgYmVoYXZpb3JzOiBbeyBpc0RlZmF1bHRCZWhhdmlvcjogdHJ1ZSB9XSxcbiAgICAgICAgICBzM09yaWdpblNvdXJjZToge1xuICAgICAgICAgICAgczNCdWNrZXRTb3VyY2U6IHRoaXMuYXNzZXRCdWNrZXQsXG4gICAgICAgICAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHZpZXdlckNlcnRpZmljYXRlOiBjbG91ZGZyb250LlZpZXdlckNlcnRpZmljYXRlLmZyb21BY21DZXJ0aWZpY2F0ZShjZXJ0LCB7XG4gICAgICAgIGFsaWFzZXM6IFt0aGlzLmFzc2V0RG9tYWluTmFtZV0sXG4gICAgICB9KSxcbiAgICAgIGNvbW1lbnQ6IGBBc3NldCBlbmRwb2ludCBmb3IgJHt0aGlzLmFzc2V0RG9tYWluTmFtZX1gLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTX0FMTCxcbiAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBjbG91ZGZyb250LlZpZXdlclByb3RvY29sUG9saWN5LlJFRElSRUNUX1RPX0hUVFBTLFxuICAgIH0pO1xuXG4gICAgbmV3IHJvdXRlNTMuQVJlY29yZCh0aGlzLCAnQWxpYXNSZWNvcmQnLCB7XG4gICAgICByZWNvcmROYW1lOiB0aGlzLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgIHpvbmU6IHRoaXMuem9uZSxcbiAgICAgIHRhcmdldDogcm91dGU1My5SZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyByb3V0ZTUzVGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KGRpc3RyaWJ1dGlvbikpLFxuICAgIH0pO1xuXG4gIH1cbn0iXX0=
|
package/lib/constructs/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { aws_cognito as cognito } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
3
|
import { LambdaFunction } from './func';
|
|
4
4
|
export interface IAuthentication {
|
|
5
5
|
readonly userpool: cognito.IUserPool;
|
|
@@ -56,9 +56,9 @@ export interface AuthenticationProps {
|
|
|
56
56
|
[name: string]: string;
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
export declare class Authentication extends
|
|
59
|
+
export declare class Authentication extends Construct implements IAuthentication {
|
|
60
60
|
readonly userpool: cognito.UserPool;
|
|
61
61
|
readonly customMessageFunction?: LambdaFunction;
|
|
62
62
|
readonly preTokenGenerationFunction?: LambdaFunction;
|
|
63
|
-
constructor(scope:
|
|
63
|
+
constructor(scope: Construct, id: string, props: AuthenticationProps);
|
|
64
64
|
}
|
package/lib/constructs/auth.js
CHANGED
|
@@ -21,14 +21,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.Authentication = void 0;
|
|
23
23
|
const fs = __importStar(require("fs"));
|
|
24
|
-
const
|
|
25
|
-
const
|
|
24
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
25
|
+
const constructs_1 = require("constructs");
|
|
26
26
|
const func_1 = require("./func");
|
|
27
|
-
class Authentication extends
|
|
27
|
+
class Authentication extends constructs_1.Construct {
|
|
28
28
|
constructor(scope, id, props) {
|
|
29
29
|
var _a, _b;
|
|
30
30
|
super(scope, id);
|
|
31
|
-
this.userpool = new
|
|
31
|
+
this.userpool = new aws_cdk_lib_1.aws_cognito.UserPool(this, 'UserPool', {
|
|
32
32
|
autoVerify: { email: true },
|
|
33
33
|
passwordPolicy: {
|
|
34
34
|
minLength: 12,
|
|
@@ -81,10 +81,10 @@ class Authentication extends cdk.Construct {
|
|
|
81
81
|
'.html': 'text',
|
|
82
82
|
},
|
|
83
83
|
},
|
|
84
|
-
timeout:
|
|
84
|
+
timeout: aws_cdk_lib_1.Duration.seconds(5),
|
|
85
85
|
},
|
|
86
86
|
});
|
|
87
|
-
this.userpool.addTrigger(
|
|
87
|
+
this.userpool.addTrigger(aws_cdk_lib_1.aws_cognito.UserPoolOperation.CUSTOM_MESSAGE, this.customMessageFunction);
|
|
88
88
|
}
|
|
89
89
|
if ((_b = props.triggers) === null || _b === void 0 ? void 0 : _b.preTokenGeneration) {
|
|
90
90
|
const entryFile = './src/lambda/cognito.pre-token-generation.ts';
|
|
@@ -101,31 +101,31 @@ class Authentication extends cdk.Construct {
|
|
|
101
101
|
}
|
|
102
102
|
this.preTokenGenerationFunction = new func_1.LambdaFunction(this, 'PreTokenGenerationFunction', {
|
|
103
103
|
lambdaOptions: {
|
|
104
|
-
timeout:
|
|
104
|
+
timeout: aws_cdk_lib_1.Duration.seconds(5),
|
|
105
105
|
},
|
|
106
106
|
entry: entryFile,
|
|
107
107
|
});
|
|
108
|
-
this.userpool.addTrigger(
|
|
108
|
+
this.userpool.addTrigger(aws_cdk_lib_1.aws_cognito.UserPoolOperation.PRE_TOKEN_GENERATION, this.preTokenGenerationFunction);
|
|
109
109
|
}
|
|
110
110
|
if (props.sesEmailSender) {
|
|
111
111
|
this.userpool.node.defaultChild.emailConfiguration = {
|
|
112
112
|
emailSendingAccount: 'DEVELOPER',
|
|
113
113
|
from: `${props.sesEmailSender.name} <${props.sesEmailSender.email}>`,
|
|
114
|
-
sourceArn: `arn:aws:ses:${props.sesEmailSender.region}:${
|
|
114
|
+
sourceArn: `arn:aws:ses:${props.sesEmailSender.region}:${aws_cdk_lib_1.Stack.of(this).account}:identity/${props.sesEmailSender.email}`,
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
for (const groupName in props.groups) {
|
|
118
118
|
if (Object.prototype.hasOwnProperty.call(props.groups, groupName)) {
|
|
119
119
|
const groupDescription = props.groups[groupName];
|
|
120
|
-
new
|
|
120
|
+
new aws_cdk_lib_1.aws_cognito.CfnUserPoolGroup(this, `Group${groupName}`, {
|
|
121
121
|
userPoolId: this.userpool.userPoolId,
|
|
122
122
|
groupName,
|
|
123
123
|
description: groupDescription,
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
new
|
|
127
|
+
new aws_cdk_lib_1.CfnOutput(this, 'UserPoolId', { value: this.userpool.userPoolId });
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
exports.Authentication = Authentication;
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6Qiw4REFBZ0Q7QUFDaEQsbURBQXFDO0FBQ3JDLGlDQUF3QztBQWdFeEMsTUFBYSxjQUFlLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFNL0MsWUFBWSxLQUFvQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JELFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDM0IsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRSxFQUFFO2dCQUNiLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2QixjQUFjLEVBQUUsS0FBSztnQkFDckIsZ0JBQWdCLEVBQUUsS0FBSzthQUN4QjtZQUNELGtCQUFrQixFQUFFO2dCQUNsQixRQUFRLEVBQUU7b0JBQ1IsT0FBTyxFQUFFLElBQUk7b0JBQ2IsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0Y7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixHQUFHLEtBQUssQ0FBQyxhQUFhO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksTUFBQSxLQUFLLENBQUMsUUFBUSwwQ0FBRSxjQUFjLEVBQUU7WUFDbEMsTUFBTSxTQUFTLEdBQUcsd0NBQXdD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UUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGO0FBcEhELHdDQW9IQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIGNvZ25pdG8gZnJvbSAnQGF3cy1jZGsvYXdzLWNvZ25pdG8nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICcuL2Z1bmMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoZW50aWNhdGlvbiB7XG4gIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLklVc2VyUG9vbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGlvblByb3BzIHtcblxuICAvKipcbiAgICogQ29uZmlndXJlIENvZ25pdG8gTGFtYmRhIHRyaWdnZXJzXG4gICAqL1xuICB0cmlnZ2Vycz86IHtcbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyBhIGxhbWJkYSBmdW5jdGlvbiB0byB0aGUgY3VzdG9tIG1lc3NhZ2UgdHJpZ2dlclxuICAgICAqXG4gICAgICogQ29kZSBoYXMgdG8gcmVzaWRlIGluICcuL3NyYy9sYW1iZGEvY29nbml0by5jdXN0b20tbWVzc2FnZS50cycgd2l0aCBhIG1ldGhvZCAnaGFuZGxlcidcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgY3VzdG9tTWVzc2FnZXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQXR0YWNoZXMgYSBsYW1iZGEgZnVuY3Rpb24gdG8gdGhlIHByZSB0b2tlbiBnZW5lcmF0aW9uIHRyaWdnZXJcbiAgICAgKlxuICAgICAqIENvZGUgaGFzIHRvIHJlc2lkZSBpbiAnLi9zcmMvbGFtYmRhL2NvZ25pdG8ucHJlLXRva2VuLWdlbmVyYXRpb24udHMnIHdpdGggYSBtZXRob2QgJ2hhbmRsZXInXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHByZVRva2VuR2VuZXJhdGlvbj86IGJvb2xlYW47XG4gIH07XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgb2YgdGhlIENvZ25pdG8gdXNlciBwb29sXG4gICAqL1xuICB1c2VyUG9vbFByb3BzPzogY29nbml0by5Vc2VyUG9vbFByb3BzO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgU0VTIG1haWwgc2VuZGluZ1xuICAgKi9cbiAgc2VzRW1haWxTZW5kZXI/OiB7XG4gICAgLyoqXG4gICAgICogQVdTIHJlZ2lvbiB0byB1c2UgZm9yIFNFU1xuICAgICAqL1xuICAgIHJlZ2lvbjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFNlbmRlciBuYW1lXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFNlbmRlciBlbWFpbC4gTmVlZHMgdG8gYmUgdmVyaWZpZWQgaW4gU0VTXG4gICAgICovXG4gICAgZW1haWw6IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICogR3JvdXBzIHRvIGNyZWF0ZSBpbiBDb2duaXRvIHVzZXIgcG9vbFxuICAgKiBLZXk6IGdyb3VwIG5hbWVcbiAgICogVmFsdWU6IGdyb3VwIGRlc2NyaXB0aW9uXG4gICAqL1xuICBncm91cHM/OiB7XG4gICAgW25hbWU6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCBpbXBsZW1lbnRzIElBdXRoZW50aWNhdGlvbiB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tTWVzc2FnZUZ1bmN0aW9uPzogTGFtYmRhRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBwcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbj86IExhbWJkYUZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXV0aGVudGljYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnVzZXJwb29sID0gbmV3IGNvZ25pdG8uVXNlclBvb2wodGhpcywgJ1VzZXJQb29sJywge1xuICAgICAgYXV0b1ZlcmlmeTogeyBlbWFpbDogdHJ1ZSB9LFxuICAgICAgcGFzc3dvcmRQb2xpY3k6IHtcbiAgICAgICAgbWluTGVuZ3RoOiAxMixcbiAgICAgICAgcmVxdWlyZURpZ2l0czogZmFsc2UsXG4gICAgICAgIHJlcXVpcmVMb3dlcmNhc2U6IGZhbHNlLFxuICAgICAgICByZXF1aXJlU3ltYm9sczogZmFsc2UsXG4gICAgICAgIHJlcXVpcmVVcHBlcmNhc2U6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHN0YW5kYXJkQXR0cmlidXRlczoge1xuICAgICAgICBmdWxsbmFtZToge1xuICAgICAgICAgIG11dGFibGU6IHRydWUsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGVtYWlsOiB7XG4gICAgICAgICAgbXV0YWJsZTogZmFsc2UsXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2VsZlNpZ25VcEVuYWJsZWQ6IGZhbHNlLFxuICAgICAgc2lnbkluQWxpYXNlczoge1xuICAgICAgICBlbWFpbDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzaWduSW5DYXNlU2Vuc2l0aXZlOiBmYWxzZSxcbiAgICAgIC4uLnByb3BzLnVzZXJQb29sUHJvcHMsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMudHJpZ2dlcnM/LmN1c3RvbU1lc3NhZ2VzKSB7XG4gICAgICBjb25zdCBlbnRyeUZpbGUgPSAnLi9zcmMvbGFtYmRhL2NvZ25pdG8uY3VzdG9tLW1lc3NhZ2UudHMnO1xuXG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZW50cnlGaWxlKSkge1xuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGVudHJ5RmlsZSwgYGV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBBV1NMYW1iZGEuQ3VzdG9tTWVzc2FnZVRyaWdnZXJFdmVudCk6IFByb21pc2U8QVdTTGFtYmRhLkN1c3RvbU1lc3NhZ2VUcmlnZ2VyRXZlbnQ+IHtcbiAgY29uc29sZS5sb2coZXZlbnQpO1xuXG4gIGlmIChldmVudC50cmlnZ2VyU291cmNlID09PSAnQ3VzdG9tTWVzc2FnZV9BZG1pbkNyZWF0ZVVzZXInKSB7XG4gICAgLy8gZXZlbnQucmVzcG9uc2UuZW1haWxTdWJqZWN0ID0gJyc7XG4gICAgLy8gZXZlbnQucmVzcG9uc2UuZW1haWxNZXNzYWdlID0gJyc7XG4gIH0gZWxzZSBpZiAoZXZlbnQudHJpZ2dlclNvdXJjZSA9PT0gJ0N1c3RvbU1lc3NhZ2VfRm9yZ290UGFzc3dvcmQnKSB7XG4gICAgLy8gZXZlbnQucmVzcG9uc2UuZW1haWxTdWJqZWN0ID0gJyc7XG4gICAgLy8gZXZlbnQucmVzcG9uc2UuZW1haWxNZXNzYWdlID0gJyc7XG4gIH0gLy8gLi4uXG5cbiAgcmV0dXJuIGV2ZW50O1xufWAsIHtcbiAgICAgICAgICBlbmNvZGluZzogJ3V0Zi04JyxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZUZ1bmN0aW9uID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsICdDdXN0b21NZXNzYWdlRnVuY3Rpb24nLCB7XG4gICAgICAgIGVudHJ5OiBlbnRyeUZpbGUsXG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IHtcbiAgICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgICAgICcuaHRtbCc6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcyg1KSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy51c2VycG9vbC5hZGRUcmlnZ2VyKGNvZ25pdG8uVXNlclBvb2xPcGVyYXRpb24uQ1VTVE9NX01FU1NBR0UsIHRoaXMuY3VzdG9tTWVzc2FnZUZ1bmN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudHJpZ2dlcnM/LnByZVRva2VuR2VuZXJhdGlvbikge1xuICAgICAgY29uc3QgZW50cnlGaWxlID0gJy4vc3JjL2xhbWJkYS9jb2duaXRvLnByZS10b2tlbi1nZW5lcmF0aW9uLnRzJztcblxuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGVudHJ5RmlsZSkpIHtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhlbnRyeUZpbGUsIGBleHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLlByZVRva2VuR2VuZXJhdGlvblRyaWdnZXJFdmVudCk6IFByb21pc2U8QVdTTGFtYmRhLlByZVRva2VuR2VuZXJhdGlvblRyaWdnZXJFdmVudD4ge1xuICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShldmVudCkpO1xuXG4gIC8vIG1vZGlmeSBldmVudC5yZXNwb25zZSBoZXJlIC4uLlxuXG4gIHJldHVybiBldmVudDtcbn1gLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6ICd1dGYtOCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnByZVRva2VuR2VuZXJhdGlvbkZ1bmN0aW9uID0gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsICdQcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbicsIHtcbiAgICAgICAgbGFtYmRhT3B0aW9uczoge1xuICAgICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDUpLFxuICAgICAgICB9LFxuICAgICAgICBlbnRyeTogZW50cnlGaWxlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVzZXJwb29sLmFkZFRyaWdnZXIoY29nbml0by5Vc2VyUG9vbE9wZXJhdGlvbi5QUkVfVE9LRU5fR0VORVJBVElPTiwgdGhpcy5wcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNlc0VtYWlsU2VuZGVyKSB7XG4gICAgICAodGhpcy51c2VycG9vbC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBjb2duaXRvLkNmblVzZXJQb29sKS5lbWFpbENvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGVtYWlsU2VuZGluZ0FjY291bnQ6ICdERVZFTE9QRVInLFxuICAgICAgICBmcm9tOiBgJHtwcm9wcy5zZXNFbWFpbFNlbmRlci5uYW1lfSA8JHtwcm9wcy5zZXNFbWFpbFNlbmRlci5lbWFpbH0+YCxcbiAgICAgICAgc291cmNlQXJuOiBgYXJuOmF3czpzZXM6JHtwcm9wcy5zZXNFbWFpbFNlbmRlci5yZWdpb259OiR7Y2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnR9OmlkZW50aXR5LyR7cHJvcHMuc2VzRW1haWxTZW5kZXIuZW1haWx9YCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBncm91cE5hbWUgaW4gcHJvcHMuZ3JvdXBzKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLmdyb3VwcywgZ3JvdXBOYW1lKSkge1xuICAgICAgICBjb25zdCBncm91cERlc2NyaXB0aW9uID0gcHJvcHMuZ3JvdXBzW2dyb3VwTmFtZV07XG4gICAgICAgIG5ldyBjb2duaXRvLkNmblVzZXJQb29sR3JvdXAodGhpcywgYEdyb3VwJHtncm91cE5hbWV9YCwge1xuICAgICAgICAgIHVzZXJQb29sSWQ6IHRoaXMudXNlcnBvb2wudXNlclBvb2xJZCxcbiAgICAgICAgICBncm91cE5hbWUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGdyb3VwRGVzY3JpcHRpb24sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdVc2VyUG9vbElkJywgeyB2YWx1ZTogdGhpcy51c2VycG9vbC51c2VyUG9vbElkIH0pO1xuICB9XG59Il19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6Qiw2Q0FHcUI7QUFDckIsMkNBQXVDO0FBQ3ZDLGlDQUF3QztBQWdFeEMsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFNM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkseUJBQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNyRCxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzNCLGNBQWMsRUFBRTtnQkFDZCxTQUFTLEVBQUUsRUFBRTtnQkFDYixhQUFhLEVBQUUsS0FBSztnQkFDcEIsZ0JBQWdCLEVBQUUsS0FBSztnQkFDdkIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLGdCQUFnQixFQUFFLEtBQUs7YUFDeEI7WUFDRCxrQkFBa0IsRUFBRTtnQkFDbEIsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsS0FBSztvQkFDZCxRQUFRLEVBQUUsSUFBSTtpQkFDZjthQUNGO1lBQ0QsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixhQUFhLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsR0FBRyxLQUFLLENBQUMsYUFBYTtTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLE1BQUEsS0FBSyxDQUFDLFFBQVEsMENBQUUsY0FBYyxFQUFFO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLHdDQUF3QyxDQUFDO1lB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Q0FDRjtBQXBIRCx3Q0FvSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQge1xuICBhd3NfY29nbml0byBhcyBjb2duaXRvLCBDZm5PdXRwdXQsIER1cmF0aW9uLCBTdGFjayxcblxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uIH0gZnJvbSAnLi9mdW5jJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXV0aGVudGljYXRpb24ge1xuICByZWFkb25seSB1c2VycG9vbDogY29nbml0by5JVXNlclBvb2w7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25Qcm9wcyB7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBDb2duaXRvIExhbWJkYSB0cmlnZ2Vyc1xuICAgKi9cbiAgdHJpZ2dlcnM/OiB7XG4gICAgLyoqXG4gICAgICogQXR0YWNoZXMgYSBsYW1iZGEgZnVuY3Rpb24gdG8gdGhlIGN1c3RvbSBtZXNzYWdlIHRyaWdnZXJcbiAgICAgKlxuICAgICAqIENvZGUgaGFzIHRvIHJlc2lkZSBpbiAnLi9zcmMvbGFtYmRhL2NvZ25pdG8uY3VzdG9tLW1lc3NhZ2UudHMnIHdpdGggYSBtZXRob2QgJ2hhbmRsZXInXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIGN1c3RvbU1lc3NhZ2VzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dGFjaGVzIGEgbGFtYmRhIGZ1bmN0aW9uIHRvIHRoZSBwcmUgdG9rZW4gZ2VuZXJhdGlvbiB0cmlnZ2VyXG4gICAgICpcbiAgICAgKiBDb2RlIGhhcyB0byByZXNpZGUgaW4gJy4vc3JjL2xhbWJkYS9jb2duaXRvLnByZS10b2tlbi1nZW5lcmF0aW9uLnRzJyB3aXRoIGEgbWV0aG9kICdoYW5kbGVyJ1xuICAgICAqXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwcmVUb2tlbkdlbmVyYXRpb24/OiBib29sZWFuO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIG9mIHRoZSBDb2duaXRvIHVzZXIgcG9vbFxuICAgKi9cbiAgdXNlclBvb2xQcm9wcz86IGNvZ25pdG8uVXNlclBvb2xQcm9wcztcblxuICAvKipcbiAgICogQ29uZmlndXJlIFNFUyBtYWlsIHNlbmRpbmdcbiAgICovXG4gIHNlc0VtYWlsU2VuZGVyPzoge1xuICAgIC8qKlxuICAgICAqIEFXUyByZWdpb24gdG8gdXNlIGZvciBTRVNcbiAgICAgKi9cbiAgICByZWdpb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZW5kZXIgbmFtZVxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZW5kZXIgZW1haWwuIE5lZWRzIHRvIGJlIHZlcmlmaWVkIGluIFNFU1xuICAgICAqL1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdyb3VwcyB0byBjcmVhdGUgaW4gQ29nbml0byB1c2VyIHBvb2xcbiAgICogS2V5OiBncm91cCBuYW1lXG4gICAqIFZhbHVlOiBncm91cCBkZXNjcmlwdGlvblxuICAgKi9cbiAgZ3JvdXBzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbiBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBdXRoZW50aWNhdGlvbiB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tTWVzc2FnZUZ1bmN0aW9uPzogTGFtYmRhRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBwcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbj86IExhbWJkYUZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBdXRoZW50aWNhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudXNlcnBvb2wgPSBuZXcgY29nbml0by5Vc2VyUG9vbCh0aGlzLCAnVXNlclBvb2wnLCB7XG4gICAgICBhdXRvVmVyaWZ5OiB7IGVtYWlsOiB0cnVlIH0sXG4gICAgICBwYXNzd29yZFBvbGljeToge1xuICAgICAgICBtaW5MZW5ndGg6IDEyLFxuICAgICAgICByZXF1aXJlRGlnaXRzOiBmYWxzZSxcbiAgICAgICAgcmVxdWlyZUxvd2VyY2FzZTogZmFsc2UsXG4gICAgICAgIHJlcXVpcmVTeW1ib2xzOiBmYWxzZSxcbiAgICAgICAgcmVxdWlyZVVwcGVyY2FzZTogZmFsc2UsXG4gICAgICB9LFxuICAgICAgc3RhbmRhcmRBdHRyaWJ1dGVzOiB7XG4gICAgICAgIGZ1bGxuYW1lOiB7XG4gICAgICAgICAgbXV0YWJsZTogdHJ1ZSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZW1haWw6IHtcbiAgICAgICAgICBtdXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzZWxmU2lnblVwRW5hYmxlZDogZmFsc2UsXG4gICAgICBzaWduSW5BbGlhc2VzOiB7XG4gICAgICAgIGVtYWlsOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHNpZ25JbkNhc2VTZW5zaXRpdmU6IGZhbHNlLFxuICAgICAgLi4ucHJvcHMudXNlclBvb2xQcm9wcyxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy50cmlnZ2Vycz8uY3VzdG9tTWVzc2FnZXMpIHtcbiAgICAgIGNvbnN0IGVudHJ5RmlsZSA9ICcuL3NyYy9sYW1iZGEvY29nbml0by5jdXN0b20tbWVzc2FnZS50cyc7XG5cbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhlbnRyeUZpbGUpKSB7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZW50cnlGaWxlLCBgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5DdXN0b21NZXNzYWdlVHJpZ2dlckV2ZW50KTogUHJvbWlzZTxBV1NMYW1iZGEuQ3VzdG9tTWVzc2FnZVRyaWdnZXJFdmVudD4ge1xuICBjb25zb2xlLmxvZyhldmVudCk7XG5cbiAgaWYgKGV2ZW50LnRyaWdnZXJTb3VyY2UgPT09ICdDdXN0b21NZXNzYWdlX0FkbWluQ3JlYXRlVXNlcicpIHtcbiAgICAvLyBldmVudC5yZXNwb25zZS5lbWFpbFN1YmplY3QgPSAnJztcbiAgICAvLyBldmVudC5yZXNwb25zZS5lbWFpbE1lc3NhZ2UgPSAnJztcbiAgfSBlbHNlIGlmIChldmVudC50cmlnZ2VyU291cmNlID09PSAnQ3VzdG9tTWVzc2FnZV9Gb3Jnb3RQYXNzd29yZCcpIHtcbiAgICAvLyBldmVudC5yZXNwb25zZS5lbWFpbFN1YmplY3QgPSAnJztcbiAgICAvLyBldmVudC5yZXNwb25zZS5lbWFpbE1lc3NhZ2UgPSAnJztcbiAgfSAvLyAuLi5cblxuICByZXR1cm4gZXZlbnQ7XG59YCwge1xuICAgICAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXN0b21NZXNzYWdlRnVuY3Rpb24gPSBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcywgJ0N1c3RvbU1lc3NhZ2VGdW5jdGlvbicsIHtcbiAgICAgICAgZW50cnk6IGVudHJ5RmlsZSxcbiAgICAgICAgbGFtYmRhT3B0aW9uczoge1xuICAgICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgICBsb2FkZXI6IHtcbiAgICAgICAgICAgICAgJy5odG1sJzogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNSksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMudXNlcnBvb2wuYWRkVHJpZ2dlcihjb2duaXRvLlVzZXJQb29sT3BlcmF0aW9uLkNVU1RPTV9NRVNTQUdFLCB0aGlzLmN1c3RvbU1lc3NhZ2VGdW5jdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyaWdnZXJzPy5wcmVUb2tlbkdlbmVyYXRpb24pIHtcbiAgICAgIGNvbnN0IGVudHJ5RmlsZSA9ICcuL3NyYy9sYW1iZGEvY29nbml0by5wcmUtdG9rZW4tZ2VuZXJhdGlvbi50cyc7XG5cbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhlbnRyeUZpbGUpKSB7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZW50cnlGaWxlLCBgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5QcmVUb2tlbkdlbmVyYXRpb25UcmlnZ2VyRXZlbnQpOiBQcm9taXNlPEFXU0xhbWJkYS5QcmVUb2tlbkdlbmVyYXRpb25UcmlnZ2VyRXZlbnQ+IHtcbiAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZXZlbnQpKTtcblxuICAvLyBtb2RpZnkgZXZlbnQucmVzcG9uc2UgaGVyZSAuLi5cblxuICByZXR1cm4gZXZlbnQ7XG59YCwge1xuICAgICAgICAgIGVuY29kaW5nOiAndXRmLTgnLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbiA9IG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLCAnUHJlVG9rZW5HZW5lcmF0aW9uRnVuY3Rpb24nLCB7XG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IHtcbiAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDUpLFxuICAgICAgICB9LFxuICAgICAgICBlbnRyeTogZW50cnlGaWxlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVzZXJwb29sLmFkZFRyaWdnZXIoY29nbml0by5Vc2VyUG9vbE9wZXJhdGlvbi5QUkVfVE9LRU5fR0VORVJBVElPTiwgdGhpcy5wcmVUb2tlbkdlbmVyYXRpb25GdW5jdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNlc0VtYWlsU2VuZGVyKSB7XG4gICAgICAodGhpcy51c2VycG9vbC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBjb2duaXRvLkNmblVzZXJQb29sKS5lbWFpbENvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGVtYWlsU2VuZGluZ0FjY291bnQ6ICdERVZFTE9QRVInLFxuICAgICAgICBmcm9tOiBgJHtwcm9wcy5zZXNFbWFpbFNlbmRlci5uYW1lfSA8JHtwcm9wcy5zZXNFbWFpbFNlbmRlci5lbWFpbH0+YCxcbiAgICAgICAgc291cmNlQXJuOiBgYXJuOmF3czpzZXM6JHtwcm9wcy5zZXNFbWFpbFNlbmRlci5yZWdpb259OiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06aWRlbnRpdHkvJHtwcm9wcy5zZXNFbWFpbFNlbmRlci5lbWFpbH1gLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGdyb3VwTmFtZSBpbiBwcm9wcy5ncm91cHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMuZ3JvdXBzLCBncm91cE5hbWUpKSB7XG4gICAgICAgIGNvbnN0IGdyb3VwRGVzY3JpcHRpb24gPSBwcm9wcy5ncm91cHNbZ3JvdXBOYW1lXTtcbiAgICAgICAgbmV3IGNvZ25pdG8uQ2ZuVXNlclBvb2xHcm91cCh0aGlzLCBgR3JvdXAke2dyb3VwTmFtZX1gLCB7XG4gICAgICAgICAgdXNlclBvb2xJZDogdGhpcy51c2VycG9vbC51c2VyUG9vbElkLFxuICAgICAgICAgIGdyb3VwTmFtZSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogZ3JvdXBEZXNjcmlwdGlvbixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCAnVXNlclBvb2xJZCcsIHsgdmFsdWU6IHRoaXMudXNlcnBvb2wudXNlclBvb2xJZCB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Construct } from 'constructs';
|
|
2
2
|
import { AssetCdn, AssetCdnProps } from './asset-cdn';
|
|
3
3
|
import { AuthenticationProps, IAuthentication } from './auth';
|
|
4
4
|
import { LambdaOptions, LambdaTracingOptions } from './func';
|
|
@@ -58,10 +58,10 @@ export interface BaseApiProps {
|
|
|
58
58
|
*/
|
|
59
59
|
lambdaTracing?: LambdaTracingOptions;
|
|
60
60
|
}
|
|
61
|
-
export declare abstract class BaseApi extends
|
|
61
|
+
export declare abstract class BaseApi extends Construct {
|
|
62
62
|
readonly singleTableDatastore?: SingleTableDatastore;
|
|
63
63
|
readonly authentication?: IAuthentication;
|
|
64
64
|
readonly assetCdn?: AssetCdn;
|
|
65
65
|
readonly monitoring?: Monitoring;
|
|
66
|
-
constructor(scope:
|
|
66
|
+
constructor(scope: Construct, id: string, props: BaseApiProps);
|
|
67
67
|
}
|
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.BaseApi = void 0;
|
|
23
|
-
const
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
24
5
|
const asset_cdn_1 = require("./asset-cdn");
|
|
25
6
|
const auth_1 = require("./auth");
|
|
26
7
|
const monitoring_1 = require("./monitoring");
|
|
27
8
|
const table_1 = require("./table");
|
|
28
|
-
class BaseApi extends
|
|
9
|
+
class BaseApi extends constructs_1.Construct {
|
|
29
10
|
constructor(scope, id, props) {
|
|
30
11
|
var _a;
|
|
31
12
|
super(scope, id);
|
|
@@ -62,4 +43,4 @@ class BaseApi extends cdk.Construct {
|
|
|
62
43
|
}
|
|
63
44
|
}
|
|
64
45
|
exports.BaseApi = BaseApi;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9iYXNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsMkNBQXNEO0FBQ3RELGlDQUE4RTtBQUU5RSw2Q0FBMEM7QUFDMUMsbUNBQTBFO0FBb0UxRSxNQUFzQixPQUFRLFNBQVEsc0JBQVM7SUFPN0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjs7UUFDM0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRTtZQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSw0QkFBb0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3pHO1FBQ0QsSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7U0FDcEY7UUFDRCxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztTQUNwRDtRQUNELElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDN0IsSUFBSSxPQUFPLENBQUMscUJBQXFCLEVBQUU7b0JBQ2pDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDaEY7Z0JBQ0QsSUFBSSxPQUFPLENBQUMsMEJBQTBCLEVBQUU7b0JBQ3RDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDckY7YUFDRjtZQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxNQUFBLEtBQUssQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksdUJBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUNuRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUzthQUMzQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FFRjtBQTNDRCwwQkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFzc2V0Q2RuLCBBc3NldENkblByb3BzIH0gZnJvbSAnLi9hc3NldC1jZG4nO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb24sIEF1dGhlbnRpY2F0aW9uUHJvcHMsIElBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4vYXV0aCc7XG5pbXBvcnQgeyBMYW1iZGFPcHRpb25zLCBMYW1iZGFUcmFjaW5nT3B0aW9ucyB9IGZyb20gJy4vZnVuYyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nIH0gZnJvbSAnLi9tb25pdG9yaW5nJztcbmltcG9ydCB7IFNpbmdsZVRhYmxlRGF0YXN0b3JlLCBTaW5nbGVUYWJsZURhdGFzdG9yZVByb3BzIH0gZnJvbSAnLi90YWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVByb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQVBJXG4gICAqL1xuICBhcGlOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlcGxveW1lbnQgc3RhZ2UgKGUuZy4gZGV2KVxuICAgKi9cbiAgc3RhZ2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBDbG91ZFdhdGNoIERhc2hib2FyZCBmb3IgdGhlIEFQSSBhbmQgdGhlIExhbWJkYSBmdW5jdGlvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgbW9uaXRvcmluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER5bmFtb0RCIFRhYmxlIHRvIHN0b3JlIGRhdGEgdXNpbmcgdGhlIHNpbmdsZSB0YWJsZSBkZXNpZ25cbiAgICpcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgc2luZ2xlVGFibGVEYXRhc3RvcmU/OiBTaW5nbGVUYWJsZURhdGFzdG9yZVByb3BzO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYSBDb2duaXRvIHVzZXIgcG9vbCBhbmQgdXNlIGl0IGZvciBhdXRob3JpemF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIGF1dGhlbnRpY2F0aW9uPzogQXV0aGVudGljYXRpb25Qcm9wcztcblxuICAvKipcbiAgICogVXNlIGFuIGV4aXN0aW5nIENvZ25pdG8gdXNlciBwb29sIGFuZCB1c2UgaXQgZm9yIGF1dGhvcml6YXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgZXhpc3RpbmdBdXRoZW50aWNhdGlvbj86IElBdXRoZW50aWNhdGlvbjtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGEgY29udGVudCBkZWxpdmVyeSBuZXR3b3JrIGZvciBzdGF0aWMgYXNzZXRzXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIGFzc2V0Q2RuPzogQXNzZXRDZG5Qcm9wcztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb2YgYWxsIExhbWJkYSBmdW5jdGlvbnNcbiAgICovXG4gIGFkZGl0aW9uYWxFbnY/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB1bmRlcmx5aW5nIExhbWJkYSBmdW5jdGlvbiBjb25zdHJ1Y3RcbiAgICovXG4gIGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUcmFjaW5nIGNvbmZpZyBmb3IgdGhlIGdlbmVyYXRlZCBMYW1iZGEgZnVuY3Rpb25zXG4gICAqL1xuICBsYW1iZGFUcmFjaW5nPzogTGFtYmRhVHJhY2luZ09wdGlvbnM7XG5cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBcGkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHB1YmxpYyByZWFkb25seSBzaW5nbGVUYWJsZURhdGFzdG9yZT86IFNpbmdsZVRhYmxlRGF0YXN0b3JlO1xuICBwdWJsaWMgcmVhZG9ubHkgYXV0aGVudGljYXRpb24/OiBJQXV0aGVudGljYXRpb247XG4gIHB1YmxpYyByZWFkb25seSBhc3NldENkbj86IEFzc2V0Q2RuO1xuICBwdWJsaWMgcmVhZG9ubHkgbW9uaXRvcmluZz86IE1vbml0b3Jpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJhc2VBcGlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMuc2luZ2xlVGFibGVEYXRhc3RvcmUpIHtcbiAgICAgIHRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmUgPSBuZXcgU2luZ2xlVGFibGVEYXRhc3RvcmUodGhpcywgJ1NpbmdsZVRhYmxlRFMnLCBwcm9wcy5zaW5nbGVUYWJsZURhdGFzdG9yZSk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5leGlzdGluZ0F1dGhlbnRpY2F0aW9uICYmIHByb3BzLmF1dGhlbnRpY2F0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IG5ldyBhbmQgZXhpc3RpbmcgYXV0aGVudGljYXRpb24gYXQgdGhlIHNhbWUgdGltZScpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuZXhpc3RpbmdBdXRoZW50aWNhdGlvbikge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbiA9IHByb3BzLmV4aXN0aW5nQXV0aGVudGljYXRpb247XG4gICAgfVxuICAgIGlmIChwcm9wcy5hdXRoZW50aWNhdGlvbikge1xuICAgICAgY29uc3QgbmV3QXV0aCA9IG5ldyBBdXRoZW50aWNhdGlvbih0aGlzLCAnQXV0aGVudGljYXRpb24nLCBwcm9wcy5hdXRoZW50aWNhdGlvbik7XG4gICAgICBpZiAodGhpcy5zaW5nbGVUYWJsZURhdGFzdG9yZSkge1xuICAgICAgICBpZiAobmV3QXV0aC5jdXN0b21NZXNzYWdlRnVuY3Rpb24pIHtcbiAgICAgICAgICBuZXdBdXRoLmN1c3RvbU1lc3NhZ2VGdW5jdGlvbi5zZXRUYWJsZSh0aGlzLnNpbmdsZVRhYmxlRGF0YXN0b3JlLnRhYmxlLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld0F1dGgucHJlVG9rZW5HZW5lcmF0aW9uRnVuY3Rpb24pIHtcbiAgICAgICAgICBuZXdBdXRoLnByZVRva2VuR2VuZXJhdGlvbkZ1bmN0aW9uLnNldFRhYmxlKHRoaXMuc2luZ2xlVGFibGVEYXRhc3RvcmUudGFibGUsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbiA9IG5ld0F1dGg7XG4gICAgfVxuICAgIGlmIChwcm9wcy5hc3NldENkbikge1xuICAgICAgdGhpcy5hc3NldENkbiA9IG5ldyBBc3NldENkbih0aGlzLCAnQXNzZXRDZG4nLCBwcm9wcy5hc3NldENkbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm1vbml0b3JpbmcgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5tb25pdG9yaW5nID0gbmV3IE1vbml0b3JpbmcodGhpcywgJ01vbml0b3JpbmcnLCB7XG4gICAgICAgIGFwaU5hbWU6IHByb3BzLmFwaU5hbWUsXG4gICAgICAgIHN0YWdlTmFtZTogcHJvcHMuc3RhZ2VOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
package/lib/constructs/func.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import * as cdk from '@aws-cdk/core';
|
|
6
|
-
import { WatchableNodejsFunction, WatchableNodejsFunctionProps } from 'cdk-watch';
|
|
7
|
-
export declare type LambdaOptions = Omit<WatchableNodejsFunctionProps, 'entry' | 'handler' | 'description'>;
|
|
1
|
+
import { aws_dynamodb as dynamodb, aws_s3 as s3, aws_cognito as cognito, aws_lambda as lambda, aws_lambda_nodejs as lambdaNodejs } from 'aws-cdk-lib';
|
|
2
|
+
import * as cdk from 'aws-cdk-lib';
|
|
3
|
+
import { Construct } from 'constructs';
|
|
4
|
+
export declare type LambdaOptions = Omit<lambdaNodejs.NodejsFunctionProps, 'entry' | 'handler' | 'description'>;
|
|
8
5
|
export interface LambdaTracingOptions {
|
|
9
6
|
/**
|
|
10
7
|
* Activate tracing with X-Ray
|
|
@@ -102,9 +99,9 @@ export interface LambdaFunctionProps {
|
|
|
102
99
|
*/
|
|
103
100
|
lambdaTracing?: LambdaTracingOptions;
|
|
104
101
|
}
|
|
105
|
-
export declare class LambdaFunction extends
|
|
102
|
+
export declare class LambdaFunction extends lambdaNodejs.NodejsFunction {
|
|
106
103
|
private props;
|
|
107
|
-
constructor(scope:
|
|
104
|
+
constructor(scope: Construct, id: string, props: LambdaFunctionProps);
|
|
108
105
|
setTable(table: dynamodb.ITable, tableWrites?: boolean): LambdaFunction;
|
|
109
106
|
setUserPool(userPool: cognito.IUserPool): LambdaFunction;
|
|
110
107
|
grantTableWrite(): LambdaFunction;
|
package/lib/constructs/func.js
CHANGED
|
@@ -20,11 +20,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.LambdaFunction = void 0;
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
const cdk_watch_1 = require("cdk-watch");
|
|
27
|
-
class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
23
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
24
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
25
|
+
class LambdaFunction extends aws_cdk_lib_1.aws_lambda_nodejs.NodejsFunction {
|
|
28
26
|
constructor(scope, id, props) {
|
|
29
27
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
30
28
|
super(scope, id, {
|
|
@@ -67,7 +65,7 @@ class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
|
67
65
|
});
|
|
68
66
|
this.props = props;
|
|
69
67
|
if ((_l = props.lambdaTracing) === null || _l === void 0 ? void 0 : _l.thundraTracing) {
|
|
70
|
-
this.addLayers(
|
|
68
|
+
this.addLayers(aws_cdk_lib_1.aws_lambda.LayerVersion.fromLayerVersionArn(this, 'ThundraLayer', (_o = (_m = this.props.lambdaTracing) === null || _m === void 0 ? void 0 : _m.thundraLayerArn) !== null && _o !== void 0 ? _o : `arn:aws:lambda:${cdk.Stack.of(this).region}:269863060030:layer:thundra-lambda-node-layer-minified:87`));
|
|
71
69
|
this.node.tryFindChild('Resource').handler = 'thundra_handler.wrapper';
|
|
72
70
|
}
|
|
73
71
|
if (props.table) {
|
|
@@ -104,7 +102,7 @@ class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
|
104
102
|
return this;
|
|
105
103
|
}
|
|
106
104
|
grantSendEmails() {
|
|
107
|
-
this.grantPrincipal.addToPrincipalPolicy(new
|
|
105
|
+
this.grantPrincipal.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
108
106
|
actions: [
|
|
109
107
|
'ses:SendEmail',
|
|
110
108
|
'ses:SendTemplatedEmail',
|
|
@@ -132,7 +130,7 @@ class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
|
132
130
|
if (!this.props.userPool) {
|
|
133
131
|
throw new Error('No user pool configured');
|
|
134
132
|
}
|
|
135
|
-
this.grantPrincipal.addToPrincipalPolicy(new
|
|
133
|
+
this.grantPrincipal.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
136
134
|
actions: [
|
|
137
135
|
'cognito-idp:ListUsers',
|
|
138
136
|
'cognito-idp:AdminGetUser',
|
|
@@ -147,7 +145,7 @@ class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
|
147
145
|
throw new Error('No user pool configured');
|
|
148
146
|
}
|
|
149
147
|
this.grantUserpoolRead();
|
|
150
|
-
this.grantPrincipal.addToPrincipalPolicy(new
|
|
148
|
+
this.grantPrincipal.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
|
|
151
149
|
actions: [
|
|
152
150
|
'cognito-idp:AdminUpdateUserAttributes',
|
|
153
151
|
'cognito-idp:AdminAddUserToGroup',
|
|
@@ -165,4 +163,4 @@ class LambdaFunction extends cdk_watch_1.WatchableNodejsFunction {
|
|
|
165
163
|
}
|
|
166
164
|
}
|
|
167
165
|
exports.LambdaFunction = LambdaFunction;
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2Z1bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHNEQUF3QztBQUN4Qyw0REFBOEM7QUFFOUMsbURBQXFDO0FBQ3JDLHlDQUFrRjtBQXNIbEYsTUFBYSxjQUFlLFNBQVEsbUNBQXVCO0lBRXpELFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQVUsS0FBMEI7O1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLLENBQUMsYUFBYTtZQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsUUFBUSxFQUFFO2dCQUNSLEdBQUcsTUFBQSxLQUFLLENBQUMsYUFBYSwwQ0FBRSxRQUFRO2dCQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNsRCxNQUFNLEVBQUU7b0JBQ04sR0FBRyxNQUFBLE1BQUEsS0FBSyxDQUFDLGFBQWEsMENBQUUsUUFBUSwwQ0FBRSxNQUFNO29CQUN4QyxPQUFPLEVBQUUsTUFBTTtpQkFDaEI7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxHQUFHLE1BQUEsS0FBSyxDQUFDLGFBQWEsMENBQUUsV0FBVztnQkFDbkMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJO29CQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7aUJBQ3ZCO2dCQUNELEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSTtvQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUztpQkFDN0I7Z0JBQ0QsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJO29CQUNuQixZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVO2lCQUN4QztnQkFDRCxHQUFHLEtBQUssQ0FBQyxXQUFXLElB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dUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsb0NBQW9DO2FBQ3JDO1lBQ0QsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1NBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUMvRCxPQUFPLEVBQUU7Z0JBQ1AsdUNBQXVDO2dCQUN2QyxpQ0FBaUM7Z0JBQ2pDLHNDQUFzQztnQkFDdEMsNkJBQTZCO2dCQUM3Qiw2QkFBNkI7YUFDOUI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7U0FDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBcUI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFtQyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FFRjtBQXRKRCx3Q0FzSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb2duaXRvIGZyb20gJ0Bhd3MtY2RrL2F3cy1jb2duaXRvJztcbmltcG9ydCAqIGFzIGR5bmFtb2RiIGZyb20gJ0Bhd3MtY2RrL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdAYXdzLWNkay9hd3MtczMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgV2F0Y2hhYmxlTm9kZWpzRnVuY3Rpb24sIFdhdGNoYWJsZU5vZGVqc0Z1bmN0aW9uUHJvcHMgfSBmcm9tICdjZGstd2F0Y2gnO1xuXG5leHBvcnQgdHlwZSBMYW1iZGFPcHRpb25zID0gT21pdDxXYXRjaGFibGVOb2RlanNGdW5jdGlvblByb3BzLCAnZW50cnknIHwgJ2hhbmRsZXInIHwgJ2Rlc2NyaXB0aW9uJz5cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFUcmFjaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBY3RpdmF0ZSB0cmFjaW5nIHdpdGggWC1SYXlcbiAgICpcbiAgICogQGRlZmF1bHQgbGFtYmRhLlRyYWNpbmcuRElTQUJMRURcbiAgICovXG4gIHhSYXlUcmFjaW5nPzogbGFtYmRhLlRyYWNpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIHRyYWNpbmcgd2l0aCBUaHVuZHJhXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICB0aHVuZHJhVHJhY2luZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIG5hbWUgb2YgdGhlIFNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSBUaHVuZHJhIEFQSSBLZXlcbiAgICpcbiAgICogQGRlZmF1bHQgVGh1bmRyYVxuICAgKi9cbiAgdGh1bmRyYUFwaUtleVNlY3JldD86IHN0cmluZztcblxuICAvKipcbiAgICogbmFtZSBvZiB0aGUgU2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIFRodW5kcmEgQVBJIEtleVxuICAgKlxuICAgKiBAZGVmYXVsdCBBcGlLZXlcbiAgICovXG4gIHRodW5kcmFBcGlLZXlTZWNyZXRGaWVsZD86IHN0cmluZztcblxuICAvKipcbiAgICogQVJOIG9mIHRoZSBMYW1iZGEgbGF5ZXIgcHJvdmlkZWQgYnkgVGh1bmRyYVxuICAgKlxuICAgKiBAZGVmYXVsdCBsYXRlc3RcbiAgICovXG4gIHRodW5kcmFMYXllckFybj86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBEZXBsb3ltZW50IHN0YWdlIChlLmcuIGRldilcbiAgICovXG4gIHN0YWdlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogZW50cnkgZmlsZSBuYW1lXG4gICAqL1xuICBlbnRyeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBuYW1lIG9mIHRoZSBleHBvcnRlZCBoYW5kbGVyIGZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IGhhbmRsZXJcbiAgICovXG4gIGhhbmRsZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGRlc2NyaXB0aW9uIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb25cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEeW5hbW9EQiB0aGF0IGlzIHVzZWQgYXMgZGF0YXN0b3JlXG4gICAqIFRoZSBMYW1iZGEgZnVuY3Rpb24gd2lsbCBoYXZlIHJlYWQgYWNjZXNzIHRvIHRoaXMgdGFibGUgYXV0b21hdGljYWxseVxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdGFibGUgaXMgYXZhaWxhYmxlIGFzIHByb2Nlc3MuZW52LlRBQkxFXG4gICAqL1xuICB0YWJsZT86IGR5bmFtb2RiLklUYWJsZTtcblxuICAvKipcbiAgICogQWN0aXZhdGUgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhlIER5bmFtb0RCIHRhYmxlXG4gICAqL1xuICB0YWJsZVdyaXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gdXNlciBwb29sXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwb29sIGlzIGF2YWlsYWJsZSBhcyBwcm9jZXNzLmVudi5VU0VSX1BPT0xfSURcbiAgICovXG4gIHVzZXJQb29sPzogY29nbml0by5JVXNlclBvb2w7XG5cbiAgLyoqXG4gICAqIEJ1Y2tldCB0aGF0IGlzIHVzZWQgZm9yIGFzc2V0cyBhbmQgcHVibGlzaGVkIHVzaW5nIHRoZSBhc3NldCBDRE5cbiAgICogVGhlIG5hbWUgb2YgdGhlIGJ1Y2tldCBpcyBhdmFpbGFibGUgYXMgcHJvY2Vzcy5lbnYuQVNTRVRfQlVDS0VUXG4gICAqL1xuICBhc3NldEJ1Y2tldD86IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogRnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIG9mIHRoZSBhc3NldCBDRE5cbiAgICogSXQgaXMgYXZhaWxhYmxlIGFzIHByb2Nlc3MuZW52LkFTU0VUX0RPTUFJTl9OQU1FXG4gICAqL1xuICBhc3NldERvbWFpbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNob3VsZCB0aGUgQVdTLVNESyBiZSBwYWNrYWdlZCB3aXRoIHRoZSBMYW1iZGEgY29kZSBvciBleGNsdWRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAoZXhjbHVkZSBTREsgYW5kIHVzZSBydW50aW1lIHByb3ZpZGVkIG9uZSlcbiAgICovXG4gIGluY2x1ZGVTREs/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gICAqL1xuICBhZGRpdGlvbmFsRW52Pzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdW5kZXJseWluZyBMYW1iZGEgZnVuY3Rpb24gY29uc3RydWN0XG4gICAqL1xuICBsYW1iZGFPcHRpb25zPzogTGFtYmRhT3B0aW9ucztcblxuICAvKipcbiAgICogVHJhY2luZyBjb25maWdcbiAgICovXG4gIGxhbWJkYVRyYWNpbmc/OiBMYW1iZGFUcmFjaW5nT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uIGV4dGVuZHMgV2F0Y2hhYmxlTm9kZWpzRnVuY3Rpb24ge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcml2YXRlIHByb3BzOiBMYW1iZGFGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcy5sYW1iZGFPcHRpb25zLFxuICAgICAgZW50cnk6IHByb3BzLmVudHJ5LFxuICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgLi4ucHJvcHMubGFtYmRhT3B0aW9ucz8uYnVuZGxpbmcsXG4gICAgICAgIGV4dGVybmFsTW9kdWxlczogcHJvcHMuaW5jbHVkZVNESyA/IFtdIDogdW5kZWZpbmVkLFxuICAgICAgICBsb2FkZXI6IHtcbiAgICAgICAgICAuLi5wcm9wcy5sYW1iZGFPcHRpb25zPy5idW5kbGluZz8ubG9hZGVyLFxuICAgICAgICAgICcueWFtbCc6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5wcm9wcy5sYW1iZGFPcHRpb25zPy5lbnZpcm9ubWVudCxcbiAgICAgICAgLi4ucHJvcHMuc3RhZ2VOYW1lICYmIHtcbiAgICAgICAgICBTVEFHRTogcHJvcHMuc3RhZ2VOYW1lLFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wcy50YWJsZSAmJiB7XG4gICAgICAgICAgVEFCTEU6IHByb3BzLnRhYmxlLnRhYmxlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMudXNlclBvb2wgJiYge1xuICAgICAgICAgIFVTRVJfUE9PTF9JRDogcHJvcHMudXNlclBvb2wudXNlclBvb2xJZCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMuYXNzZXRCdWNrZXQgJiYge1xuICAgICAgICAgIEFTU0VUX0JVQ0tFVDogcHJvcHMuYXNzZXRCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMuYXNzZXREb21haW5OYW1lICYmIHtcbiAgICAgICAgICBBU1NFVF9ET01BSU5fTkFNRTogcHJvcHMuYXNzZXREb21haW5OYW1lLFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wcy5sYW1iZGFUcmFjaW5nPy50aHVuZHJhVHJhY2luZyAmJiB7XG4gICAgICAgICAgdGh1bmRyYV9hZ2VudF9sYW1iZGFfaGFuZGxlcjogYGluZGV4LiR7cHJvcHMuaGFuZGxlciA/PyAnaGFuZGxlcid9YCxcbiAgICAgICAgICB0aHVuZHJhX2FwaUtleTogY2RrLlNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKHByb3BzLmxhbWJkYVRyYWNpbmcudGh1bmRyYUFwaUtleVNlY3JldCA/PyAnVGh1bmRyYScsIHsganNvbkZpZWxkOiBwcm9wcy5sYW1iZGFUcmFjaW5nLnRodW5kcmFBcGlLZXlTZWNyZXRGaWVsZCA/PyAnQXBpS2V5JyB9KS50b1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wcy5hZGRpdGlvbmFsRW52LFxuICAgICAgfSxcbiAgICAgIGhhbmRsZXI6IHByb3BzLmhhbmRsZXIgPz8gJ2hhbmRsZXInLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgdHJhY2luZzogcHJvcHMubGFtYmRhVHJhY2luZz8ueFJheVRyYWNpbmcsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMubGFtYmRhVHJhY2luZz8udGh1bmRyYVRyYWNpbmcpIHtcbiAgICAgIHRoaXMuYWRkTGF5ZXJzKGxhbWJkYS5MYXllclZlcnNpb24uZnJvbUxheWVyVmVyc2lvbkFybih0aGlzLCAnVGh1bmRyYUxheWVyJywgdGhpcy5wcm9wcy5sYW1iZGFUcmFjaW5nPy50aHVuZHJhTGF5ZXJBcm4gPz8gYGFybjphd3M6bGFtYmRhOiR7Y2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvbn06MjY5ODYzMDYwMDMwOmxheWVyOnRodW5kcmEtbGFtYmRhLW5vZGUtbGF5ZXItbWluaWZpZWQ6ODdgKSk7XG4gICAgICAodGhpcy5ub2RlLnRyeUZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBsYW1iZGEuQ2ZuRnVuY3Rpb24pLmhhbmRsZXIgPSAndGh1bmRyYV9oYW5kbGVyLndyYXBwZXInO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50YWJsZSkge1xuICAgICAgaWYgKHByb3BzLnRhYmxlV3JpdGVzID8/IHRydWUpIHtcbiAgICAgICAgcHJvcHMudGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvcHMudGFibGUuZ3JhbnRSZWFkRGF0YSh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VGFibGUodGFibGU6IGR5bmFtb2RiLklUYWJsZSwgdGFibGVXcml0ZXM/OiBib29sZWFuKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIHRoaXMucHJvcHMudGFibGUgPSB0YWJsZTtcbiAgICB0aGlzLnByb3BzLnRhYmxlV3JpdGVzID0gdGFibGVXcml0ZXM7XG5cbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdUQUJMRScsIHRhYmxlLnRhYmxlTmFtZSk7XG4gICAgaWYgKHRhYmxlV3JpdGVzID8/IHRydWUpIHtcbiAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGFibGUuZ3JhbnRSZWFkRGF0YSh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRVc2VyUG9vbCh1c2VyUG9vbDogY29nbml0by5JVXNlclBvb2wpOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgdGhpcy5wcm9wcy51c2VyUG9vbCA9IHVzZXJQb29sO1xuICAgIHRoaXMuYWRkRW52aXJvbm1lbnQoJ1VTRVJfUE9PTF9JRCcsIHVzZXJQb29sLnVzZXJQb29sSWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdyYW50VGFibGVXcml0ZSgpOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnRhYmxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRhYmxlIGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy50YWJsZS5ncmFudFJlYWRXcml0ZURhdGEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRTZW5kRW1haWxzKCk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3NlczpTZW5kRW1haWwnLFxuICAgICAgICAnc2VzOlNlbmRUZW1wbGF0ZWRFbWFpbCcsXG4gICAgICAgICdzZXM6U2VuZEJ1bGtUZW1wbGF0ZWRFbWFpbCcsXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRVcGxvYWRBc3NldHMoKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIGlmICghdGhpcy5wcm9wcy5hc3NldEJ1Y2tldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhc3NldCBidWNrZXQgY29uZmlndXJlZCcpO1xuICAgIH1cbiAgICB0aGlzLnByb3BzLmFzc2V0QnVja2V0LmdyYW50UHV0KHRoaXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdyYW50RGVsZXRlQXNzZXQoKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIGlmICghdGhpcy5wcm9wcy5hc3NldEJ1Y2tldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhc3NldCBidWNrZXQgY29uZmlndXJlZCcpO1xuICAgIH1cbiAgICB0aGlzLnByb3BzLmFzc2V0QnVja2V0LmdyYW50RGVsZXRlKHRoaXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdyYW50VXNlcnBvb2xSZWFkKCk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMucHJvcHMudXNlclBvb2wpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gdXNlciBwb29sIGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdjb2duaXRvLWlkcDpMaXN0VXNlcnMnLFxuICAgICAgICAnY29nbml0by1pZHA6QWRtaW5HZXRVc2VyJyxcbiAgICAgICAgJ2NvZ25pdG8taWRwOkFkbWluTGlzdEdyb3Vwc0ZvclVzZXInLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW3RoaXMucHJvcHMudXNlclBvb2wudXNlclBvb2xBcm5dLFxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBncmFudFVzZXJwb29sUmVhZFdyaXRlKCk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMucHJvcHMudXNlclBvb2wpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gdXNlciBwb29sIGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5ncmFudFVzZXJwb29sUmVhZCgpO1xuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnY29nbml0by1pZHA6QWRtaW5VcGRhdGVVc2VyQXR0cmlidXRlcycsXG4gICAgICAgICdjb2duaXRvLWlkcDpBZG1pbkFkZFVzZXJUb0dyb3VwJyxcbiAgICAgICAgJ2NvZ25pdG8taWRwOkFkbWluUmVtb3ZlVXNlckZyb21Hcm91cCcsXG4gICAgICAgICdjb2duaXRvLWlkcDpBZG1pbkNyZWF0ZVVzZXInLFxuICAgICAgICAnY29nbml0by1pZHA6QWRtaW5EZWxldGVVc2VyJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnByb3BzLnVzZXJQb29sLnVzZXJQb29sQXJuXSxcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0VGltZW91dCh0aW1lb3V0OiBjZGsuRHVyYXRpb24pOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgKHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgYXMgbGFtYmRhLkNmbkZ1bmN0aW9uKS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdUaW1lb3V0JywgdGltZW91dC50b1NlY29uZHMoKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxufSJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL2Z1bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQU9xQjtBQUNyQixpREFBbUM7QUF1SG5DLE1BQWEsY0FBZSxTQUFRLCtCQUFZLENBQUMsY0FBYztJQUU3RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFVLEtBQTBCOztRQUMxRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSyxDQUFDLGFBQWE7WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLFFBQVEsRUFBRTtnQkFDUixHQUFHLE1BQUEsS0FBSyxDQUFDLGFBQWEsMENBQUUsUUFBUTtnQkFDaEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDbEQsTUFBTSxFQUFFO29CQUNOLEdBQUcsTUFBQSxNQUFBLEtBQUssQ0FBQyxhQUFhLDBDQUFFLFFBQVEsMENBQUUsTUFBTTtvQkFDeEMsT0FBTyxFQUFFLE1BQU07aUJBQ2hCO2FBQ0Y7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxNQUFBLEtBQUssQ0FBQyxhQUFhLDBDQUFFLFdBQVc7Z0JBQ25DLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSTtvQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTO2lCQUN2QjtnQkFDRCxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUk7b0JBQ2hCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVM7aUJBQzdCO2dCQUNELEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSTtvQkFDbkIsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVTtpQkFDeEM7Z0JBQ0QsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJO29CQUN0QixZQUFZLEVB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MEI7Z0JBQzFCLG9DQUFvQzthQUNyQztZQUNELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUFDO1lBQy9ELE9BQU8sRUFBRTtnQkFDUCx1Q0FBdUM7Z0JBQ3ZDLGlDQUFpQztnQkFDakMsc0NBQXNDO2dCQUN0Qyw2QkFBNkI7Z0JBQzdCLDZCQUE2QjthQUM5QjtZQUNELFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFxQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQW1DLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUVGO0FBdEpELHdDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19keW5hbW9kYiBhcyBkeW5hbW9kYixcbiAgYXdzX3MzIGFzIHMzLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2NvZ25pdG8gYXMgY29nbml0byxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19sYW1iZGFfbm9kZWpzIGFzIGxhbWJkYU5vZGVqcyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgdHlwZSBMYW1iZGFPcHRpb25zID0gT21pdDxsYW1iZGFOb2RlanMuTm9kZWpzRnVuY3Rpb25Qcm9wcywgJ2VudHJ5JyB8ICdoYW5kbGVyJyB8ICdkZXNjcmlwdGlvbic+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhVHJhY2luZ09wdGlvbnMge1xuICAvKipcbiAgICogQWN0aXZhdGUgdHJhY2luZyB3aXRoIFgtUmF5XG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5UcmFjaW5nLkRJU0FCTEVEXG4gICAqL1xuICB4UmF5VHJhY2luZz86IGxhbWJkYS5UcmFjaW5nO1xuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSB0cmFjaW5nIHdpdGggVGh1bmRyYVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgdGh1bmRyYVRyYWNpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBuYW1lIG9mIHRoZSBTZWNyZXQgdGhhdCBjb250YWlucyB0aGUgVGh1bmRyYSBBUEkgS2V5XG4gICAqXG4gICAqIEBkZWZhdWx0IFRodW5kcmFcbiAgICovXG4gIHRodW5kcmFBcGlLZXlTZWNyZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIG5hbWUgb2YgdGhlIFNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSBUaHVuZHJhIEFQSSBLZXlcbiAgICpcbiAgICogQGRlZmF1bHQgQXBpS2V5XG4gICAqL1xuICB0aHVuZHJhQXBpS2V5U2VjcmV0RmllbGQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGUgTGFtYmRhIGxheWVyIHByb3ZpZGVkIGJ5IFRodW5kcmFcbiAgICpcbiAgICogQGRlZmF1bHQgbGF0ZXN0XG4gICAqL1xuICB0aHVuZHJhTGF5ZXJBcm4/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogRGVwbG95bWVudCBzdGFnZSAoZS5nLiBkZXYpXG4gICAqL1xuICBzdGFnZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGVudHJ5IGZpbGUgbmFtZVxuICAgKi9cbiAgZW50cnk6IHN0cmluZztcblxuICAvKipcbiAgICogbmFtZSBvZiB0aGUgZXhwb3J0ZWQgaGFuZGxlciBmdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCBoYW5kbGVyXG4gICAqL1xuICBoYW5kbGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBkZXNjcmlwdGlvbiBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRHluYW1vREIgdGhhdCBpcyB1c2VkIGFzIGRhdGFzdG9yZVxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHdpbGwgaGF2ZSByZWFkIGFjY2VzcyB0byB0aGlzIHRhYmxlIGF1dG9tYXRpY2FsbHlcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGlzIGF2YWlsYWJsZSBhcyBwcm9jZXNzLmVudi5UQUJMRVxuICAgKi9cbiAgdGFibGU/OiBkeW5hbW9kYi5JVGFibGU7XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSBEeW5hbW9EQiB0YWJsZVxuICAgKi9cbiAgdGFibGVXcml0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb2duaXRvIHVzZXIgcG9vbFxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcG9vbCBpcyBhdmFpbGFibGUgYXMgcHJvY2Vzcy5lbnYuVVNFUl9QT09MX0lEXG4gICAqL1xuICB1c2VyUG9vbD86IGNvZ25pdG8uSVVzZXJQb29sO1xuXG4gIC8qKlxuICAgKiBCdWNrZXQgdGhhdCBpcyB1c2VkIGZvciBhc3NldHMgYW5kIHB1Ymxpc2hlZCB1c2luZyB0aGUgYXNzZXQgQ0ROXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWNrZXQgaXMgYXZhaWxhYmxlIGFzIHByb2Nlc3MuZW52LkFTU0VUX0JVQ0tFVFxuICAgKi9cbiAgYXNzZXRCdWNrZXQ/OiBzMy5CdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBvZiB0aGUgYXNzZXQgQ0ROXG4gICAqIEl0IGlzIGF2YWlsYWJsZSBhcyBwcm9jZXNzLmVudi5BU1NFVF9ET01BSU5fTkFNRVxuICAgKi9cbiAgYXNzZXREb21haW5OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgdGhlIEFXUy1TREsgYmUgcGFja2FnZWQgd2l0aCB0aGUgTGFtYmRhIGNvZGUgb3IgZXhjbHVkZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgKGV4Y2x1ZGUgU0RLIGFuZCB1c2UgcnVudGltZSBwcm92aWRlZCBvbmUpXG4gICAqL1xuICBpbmNsdWRlU0RLPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgb2YgdGhlIExhbWJkYSBmdW5jdGlvblxuICAgKi9cbiAgYWRkaXRpb25hbEVudj86IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHVuZGVybHlpbmcgTGFtYmRhIGZ1bmN0aW9uIGNvbnN0cnVjdFxuICAgKi9cbiAgbGFtYmRhT3B0aW9ucz86IExhbWJkYU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRyYWNpbmcgY29uZmlnXG4gICAqL1xuICBsYW1iZGFUcmFjaW5nPzogTGFtYmRhVHJhY2luZ09wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbiBleHRlbmRzIGxhbWJkYU5vZGVqcy5Ob2RlanNGdW5jdGlvbiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJpdmF0ZSBwcm9wczogTGFtYmRhRnVuY3Rpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMubGFtYmRhT3B0aW9ucyxcbiAgICAgIGVudHJ5OiBwcm9wcy5lbnRyeSxcbiAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgIC4uLnByb3BzLmxhbWJkYU9wdGlvbnM/LmJ1bmRsaW5nLFxuICAgICAgICBleHRlcm5hbE1vZHVsZXM6IHByb3BzLmluY2x1ZGVTREsgPyBbXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgLi4ucHJvcHMubGFtYmRhT3B0aW9ucz8uYnVuZGxpbmc/LmxvYWRlcixcbiAgICAgICAgICAnLnlhbWwnOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLi4ucHJvcHMubGFtYmRhT3B0aW9ucz8uZW52aXJvbm1lbnQsXG4gICAgICAgIC4uLnByb3BzLnN0YWdlTmFtZSAmJiB7XG4gICAgICAgICAgU1RBR0U6IHByb3BzLnN0YWdlTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMudGFibGUgJiYge1xuICAgICAgICAgIFRBQkxFOiBwcm9wcy50YWJsZS50YWJsZU5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3BzLnVzZXJQb29sICYmIHtcbiAgICAgICAgICBVU0VSX1BPT0xfSUQ6IHByb3BzLnVzZXJQb29sLnVzZXJQb29sSWQsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3BzLmFzc2V0QnVja2V0ICYmIHtcbiAgICAgICAgICBBU1NFVF9CVUNLRVQ6IHByb3BzLmFzc2V0QnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3BzLmFzc2V0RG9tYWluTmFtZSAmJiB7XG4gICAgICAgICAgQVNTRVRfRE9NQUlOX05BTUU6IHByb3BzLmFzc2V0RG9tYWluTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMubGFtYmRhVHJhY2luZz8udGh1bmRyYVRyYWNpbmcgJiYge1xuICAgICAgICAgIHRodW5kcmFfYWdlbnRfbGFtYmRhX2hhbmRsZXI6IGBpbmRleC4ke3Byb3BzLmhhbmRsZXIgPz8gJ2hhbmRsZXInfWAsXG4gICAgICAgICAgdGh1bmRyYV9hcGlLZXk6IGNkay5TZWNyZXRWYWx1ZS5zZWNyZXRzTWFuYWdlcihwcm9wcy5sYW1iZGFUcmFjaW5nLnRodW5kcmFBcGlLZXlTZWNyZXQgPz8gJ1RodW5kcmEnLCB7IGpzb25GaWVsZDogcHJvcHMubGFtYmRhVHJhY2luZy50aHVuZHJhQXBpS2V5U2VjcmV0RmllbGQgPz8gJ0FwaUtleScgfSkudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvcHMuYWRkaXRpb25hbEVudixcbiAgICAgIH0sXG4gICAgICBoYW5kbGVyOiBwcm9wcy5oYW5kbGVyID8/ICdoYW5kbGVyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHRyYWNpbmc6IHByb3BzLmxhbWJkYVRyYWNpbmc/LnhSYXlUcmFjaW5nLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmxhbWJkYVRyYWNpbmc/LnRodW5kcmFUcmFjaW5nKSB7XG4gICAgICB0aGlzLmFkZExheWVycyhsYW1iZGEuTGF5ZXJWZXJzaW9uLmZyb21MYXllclZlcnNpb25Bcm4odGhpcywgJ1RodW5kcmFMYXllcicsIHRoaXMucHJvcHMubGFtYmRhVHJhY2luZz8udGh1bmRyYUxheWVyQXJuID8/IGBhcm46YXdzOmxhbWJkYToke2Nkay5TdGFjay5vZih0aGlzKS5yZWdpb259OjI2OTg2MzA2MDAzMDpsYXllcjp0aHVuZHJhLWxhbWJkYS1ub2RlLWxheWVyLW1pbmlmaWVkOjg3YCkpO1xuICAgICAgKHRoaXMubm9kZS50cnlGaW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgbGFtYmRhLkNmbkZ1bmN0aW9uKS5oYW5kbGVyID0gJ3RodW5kcmFfaGFuZGxlci53cmFwcGVyJztcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudGFibGUpIHtcbiAgICAgIGlmIChwcm9wcy50YWJsZVdyaXRlcyA/PyB0cnVlKSB7XG4gICAgICAgIHByb3BzLnRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLnRhYmxlLmdyYW50UmVhZERhdGEodGhpcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFRhYmxlKHRhYmxlOiBkeW5hbW9kYi5JVGFibGUsIHRhYmxlV3JpdGVzPzogYm9vbGVhbik6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICB0aGlzLnByb3BzLnRhYmxlID0gdGFibGU7XG4gICAgdGhpcy5wcm9wcy50YWJsZVdyaXRlcyA9IHRhYmxlV3JpdGVzO1xuXG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnVEFCTEUnLCB0YWJsZS50YWJsZU5hbWUpO1xuICAgIGlmICh0YWJsZVdyaXRlcyA/PyB0cnVlKSB7XG4gICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRhYmxlLmdyYW50UmVhZERhdGEodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlclBvb2wodXNlclBvb2w6IGNvZ25pdG8uSVVzZXJQb29sKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIHRoaXMucHJvcHMudXNlclBvb2wgPSB1c2VyUG9vbDtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdVU0VSX1BPT0xfSUQnLCB1c2VyUG9vbC51c2VyUG9vbElkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBncmFudFRhYmxlV3JpdGUoKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgIGlmICghdGhpcy5wcm9wcy50YWJsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB0YWJsZSBjb25maWd1cmVkJyk7XG4gICAgfVxuICAgIHRoaXMucHJvcHMudGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKHRoaXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdyYW50U2VuZEVtYWlscygpOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzZXM6U2VuZEVtYWlsJyxcbiAgICAgICAgJ3NlczpTZW5kVGVtcGxhdGVkRW1haWwnLFxuICAgICAgICAnc2VzOlNlbmRCdWxrVGVtcGxhdGVkRW1haWwnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdyYW50VXBsb2FkQXNzZXRzKCk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuYXNzZXRCdWNrZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYXNzZXQgYnVja2V0IGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy5hc3NldEJ1Y2tldC5ncmFudFB1dCh0aGlzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBncmFudERlbGV0ZUFzc2V0KCk6IExhbWJkYUZ1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuYXNzZXRCdWNrZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYXNzZXQgYnVja2V0IGNvbmZpZ3VyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy5hc3NldEJ1Y2tldC5ncmFudERlbGV0ZSh0aGlzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBncmFudFVzZXJwb29sUmVhZCgpOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnVzZXJQb29sKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHVzZXIgcG9vbCBjb25maWd1cmVkJyk7XG4gICAgfVxuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnY29nbml0by1pZHA6TGlzdFVzZXJzJyxcbiAgICAgICAgJ2NvZ25pdG8taWRwOkFkbWluR2V0VXNlcicsXG4gICAgICAgICdjb2duaXRvLWlkcDpBZG1pbkxpc3RHcm91cHNGb3JVc2VyJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnByb3BzLnVzZXJQb29sLnVzZXJQb29sQXJuXSxcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRVc2VycG9vbFJlYWRXcml0ZSgpOiBMYW1iZGFGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnVzZXJQb29sKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHVzZXIgcG9vbCBjb25maWd1cmVkJyk7XG4gICAgfVxuICAgIHRoaXMuZ3JhbnRVc2VycG9vbFJlYWQoKTtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2NvZ25pdG8taWRwOkFkbWluVXBkYXRlVXNlckF0dHJpYnV0ZXMnLFxuICAgICAgICAnY29nbml0by1pZHA6QWRtaW5BZGRVc2VyVG9Hcm91cCcsXG4gICAgICAgICdjb2duaXRvLWlkcDpBZG1pblJlbW92ZVVzZXJGcm9tR3JvdXAnLFxuICAgICAgICAnY29nbml0by1pZHA6QWRtaW5DcmVhdGVVc2VyJyxcbiAgICAgICAgJ2NvZ25pdG8taWRwOkFkbWluRGVsZXRlVXNlcicsXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9wcy51c2VyUG9vbC51c2VyUG9vbEFybl0sXG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldFRpbWVvdXQodGltZW91dDogY2RrLkR1cmF0aW9uKTogTGFtYmRhRnVuY3Rpb24ge1xuICAgICh0aGlzLm5vZGUuZGVmYXVsdENoaWxkIGFzIGxhbWJkYS5DZm5GdW5jdGlvbikuYWRkUHJvcGVydHlPdmVycmlkZSgnVGltZW91dCcsIHRpbWVvdXQudG9TZWNvbmRzKCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbn0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as appsync from '@aws-cdk/aws-appsync';
|
|
2
|
-
import
|
|
1
|
+
import * as appsync from '@aws-cdk/aws-appsync-alpha';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
3
|
import { BaseApi, BaseApiProps } from './base-api';
|
|
4
4
|
import { LambdaFunction } from './func';
|
|
5
5
|
export interface GraphQlApiProps extends BaseApiProps {
|
|
@@ -23,7 +23,7 @@ export declare class GraphQlApi extends BaseApi {
|
|
|
23
23
|
readonly api: appsync.GraphqlApi;
|
|
24
24
|
readonly tableDataSource?: appsync.DynamoDbDataSource;
|
|
25
25
|
private _functions;
|
|
26
|
-
constructor(scope:
|
|
26
|
+
constructor(scope: Construct, id: string, props: GraphQlApiProps);
|
|
27
27
|
/**
|
|
28
28
|
* getFunctionForOperation
|
|
29
29
|
*/
|