@sylvesterllc/aws-constructs 1.0.91 → 1.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,10 @@
1
+ import { Table } from "aws-cdk-lib/aws-dynamodb";
1
2
  import { Construct } from "constructs";
2
3
  import { MicroserviceProps } from "../interfaces/MicroserviceProps";
3
4
  import { AppConfig } from "../config/AppConfig";
5
+ import { LayerVersion } from "aws-cdk-lib/aws-lambda";
6
+ import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
7
+ import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
4
8
  export declare class MicroService extends Construct {
5
9
  protected readonly requireDynamoTables: boolean;
6
10
  protected requireSeedDatabase: boolean;
@@ -10,6 +14,11 @@ export declare class MicroService extends Construct {
10
14
  private readonly dynamoTables;
11
15
  private readonly lambdaLayers;
12
16
  private readonly secretManager;
17
+ private readonly lambdas;
18
+ get Tables(): Table[] | undefined;
19
+ get SecretManager(): ISecret | null;
20
+ get LambdaLayers(): LayerVersion[] | undefined;
21
+ get Lambdas(): NodejsFunction[];
13
22
  constructor(scope: Construct, id: string, props: MicroserviceProps);
14
23
  private onInit;
15
24
  protected createTag(scope: Construct): void;
@@ -19,6 +19,19 @@ class MicroService extends constructs_1.Construct {
19
19
  dynamoTables;
20
20
  lambdaLayers;
21
21
  secretManager = null;
22
+ lambdas = [];
23
+ get Tables() {
24
+ return this.dynamoTables;
25
+ }
26
+ get SecretManager() {
27
+ return this.secretManager;
28
+ }
29
+ get LambdaLayers() {
30
+ return this.lambdaLayers;
31
+ }
32
+ get Lambdas() {
33
+ return this.lambdas;
34
+ }
22
35
  constructor(scope, id, props) {
23
36
  super(scope, id);
24
37
  this.appConfig = new AppConfig_1.AppConfig(props);
@@ -33,6 +46,7 @@ class MicroService extends constructs_1.Construct {
33
46
  this.dynamoTables = results.dynamoTables;
34
47
  this.lambdaLayers = results.lambdaLayers;
35
48
  this.secretManager = results.secretManager;
49
+ this.lambdas = results.lambdas;
36
50
  this.createTag(scope);
37
51
  }
38
52
  onInit(scope) {
@@ -64,6 +78,7 @@ class MicroService extends constructs_1.Construct {
64
78
  lambdaLayers: layers || null,
65
79
  dynamoTables: tables || null,
66
80
  secretManager: secretManager,
81
+ lambdas: apiGateway.Lambdas,
67
82
  };
68
83
  }
69
84
  createTag(scope) {
@@ -72,4 +87,4 @@ class MicroService extends constructs_1.Construct {
72
87
  }
73
88
  }
74
89
  exports.MicroService = MicroService;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBR2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7WUFDakUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENB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Q0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUFuRkQsb0NBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5leHBvcnQgY2xhc3MgTWljcm9TZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZXF1aXJlU2VlZERhdGFiYXNlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc0xhbWJkYUxheWVyczogYm9vbGVhbiA9IGZhbHNlOyAgXG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpOyAgXG4gICAgICAgICAgICAgICBcbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5TRUVEX0xBTUJEQSkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5oYXNMYW1iZGFMYXllcnMgPSAocHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMgJiYgXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5vbkluaXQoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgc2VjcmV0TWFuYWdlcjogSVNlY3JldCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgIHNlY3JldE1hbmFnZXIgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIC8vIENSRUFURSBBUEkgR0FURVdBWSBBTkQgTEFNQkRBIEhFUkUgXG4gICAgICAgIGNvbnN0IGFwaUdhdGV3YXkgPSBuZXcgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyhzY29wZSwgdGhpcy5hcHBDb25maWcsIGdhdGV3YXlbMF0sIGxheWVycyx0YWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcblxuICAgICAgICB9O1xuICAgICAgIFxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWcoc2NvcGU6IENvbnN0cnVjdCkge1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ0FwcCcsIHRoaXMuYXBwQ29uZmlnLkFwcE5hbWUpO1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ1Jlc291Y2VQcmVmaXgnLCB0aGlzLmFwcENvbmZpZy5BcHBQcmVmaXgpO1xuICAgIH1cbn0iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBSWhILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUNyQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUVoRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07WUFDdEQs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Q0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEQsWUFBWSxFQUFFLE1BQU0sSUFBSSxJQUFJO1lBQzVCLFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FFOUIsQ0FBQztJQUVOLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBZ0I7UUFDaEMsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUF2R0Qsb0NBdUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuZXhwb3J0IGNsYXNzIE1pY3JvU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUR5bmFtb1RhYmxlczogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZVNlZWREYXRhYmFzZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYXNMYW1iZGFMYXllcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IElSZXN0QXBpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1vVGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFtYmRhTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3JldE1hbmFnZXI6IElTZWNyZXQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5keW5hbW9UYWJsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTZWNyZXRNYW5hZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWNyZXRNYW5hZ2VyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhTGF5ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFMYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZyhwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuRFlOQU1PLlNFRURfTEFNQkRBKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLmhhc0xhbWJkYUxheWVycyA9IChwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMub25Jbml0KHNjb3BlKTtcblxuICAgICAgICB0aGlzLmFwaSA9IHJlc3VsdHMucmVzdEFwaSE7XG4gICAgICAgIHRoaXMuZHluYW1vVGFibGVzID0gcmVzdWx0cy5keW5hbW9UYWJsZXMhO1xuICAgICAgICB0aGlzLmxhbWJkYUxheWVycyA9IHJlc3VsdHMubGFtYmRhTGF5ZXJzITtcbiAgICAgICAgdGhpcy5zZWNyZXRNYW5hZ2VyID0gcmVzdWx0cy5zZWNyZXRNYW5hZ2VyITtcblxuICAgICAgICB0aGlzLmxhbWJkYXMgPSByZXN1bHRzLmxhbWJkYXMhO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgc2VjcmV0TWFuYWdlcjogSVNlY3JldCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlciA9IGdldFNlY3JldE1hbmFnZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCBwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTGFtYmRhTGF5ZXJzKSB7XG4gICAgICAgICAgICBjb21tb25MYXllcnMgPSBjcmVhdGVDb21tb25MYXllcihzY29wZSwgdGhpcy5hcHBDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ2F0ZXdheSA9IG5ldyBBcGkoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKS5BUElzO1xuXG4gICAgICAgIGNvbnN0IGxheWVycyA9IGNvbW1vbkxheWVycztcblxuICAgICAgICAvLyBDcmVhdGVzIER5bmFtb0RiIFRhYmxlcyBpZiByZXF1aXJlZFxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkeW5hbW8gPSBuZXcgQ3JlYXRlRHluYW1vRGIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgdGFibGVzID0gZHluYW1vLkNyZWF0ZWRUYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlKSB7XG4gICAgICAgICAgICBjcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZShzY29wZSwgdGhpcy5hcHBDb25maWcsIHRhYmxlcyFbMF0sIGxheWVycyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDUkVBVEUgQVBJIEdBVEVXQVkgQU5EIExBTUJEQSBIRVJFIFxuICAgICAgICBjb25zdCBhcGlHYXRld2F5ID0gbmV3IENyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXMoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCBnYXRld2F5WzBdLCBsYXllcnMsIHRhYmxlcyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc3RBcGk6IChnYXRld2F5Py5sZW5ndGggPiAwKSA/IGdhdGV3YXlbMF0gOiBudWxsLFxuICAgICAgICAgICAgbGFtYmRhTGF5ZXJzOiBsYXllcnMgfHwgbnVsbCxcbiAgICAgICAgICAgIGR5bmFtb1RhYmxlczogdGFibGVzIHx8IG51bGwsXG4gICAgICAgICAgICBzZWNyZXRNYW5hZ2VyOiBzZWNyZXRNYW5hZ2VyLFxuICAgICAgICAgICAgbGFtYmRhczogYXBpR2F0ZXdheS5MYW1iZGFzLFxuXG4gICAgICAgIH07XG5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFnKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdBcHAnLCB0aGlzLmFwcENvbmZpZy5BcHBOYW1lKTtcbiAgICAgICAgVGFncy5vZihzY29wZSkuYWRkKCdSZXNvdWNlUHJlZml4JywgdGhpcy5hcHBDb25maWcuQXBwUHJlZml4KTtcbiAgICB9XG59Il19
@@ -6,12 +6,15 @@ import { ApiLambdaResult } from "../../interfaces/ApiLambdaResult";
6
6
  import { TsgAuthorizerType } from "../../config/types/TsgAuthorizerType";
7
7
  import { IRestApi } from "aws-cdk-lib/aws-apigateway";
8
8
  import { LayerVersion } from "aws-cdk-lib/aws-lambda";
9
+ import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
9
10
  export declare class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
10
11
  private gatewayApi;
11
12
  private layers?;
12
13
  private tables?;
13
14
  protected requireAuthorizer: boolean;
14
15
  protected authorizerType?: TsgAuthorizerType;
16
+ private lambdas;
17
+ get Lambdas(): NodejsFunction[];
15
18
  constructor(scope: Construct, config: AppConfig, gatewayApi: IRestApi, layers?: LayerVersion[] | undefined, tables?: ITable[] | undefined);
16
19
  protected createResource(scope: Construct): ApiLambdaResult[] | null;
17
20
  protected createOutput<T>(scope: Construct, createdAssets: T[]): void;
@@ -14,6 +14,10 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
14
14
  tables;
15
15
  requireAuthorizer;
16
16
  authorizerType;
17
+ lambdas = [];
18
+ get Lambdas() {
19
+ return this.lambdas;
20
+ }
17
21
  constructor(scope, config, gatewayApi, layers, tables) {
18
22
  super(scope, config);
19
23
  this.gatewayApi = gatewayApi;
@@ -43,6 +47,7 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
43
47
  }
44
48
  // Create Lambdas
45
49
  const lambdas = new createLambda_1.CreateLambda(scope, this.config, this.layers);
50
+ this.lambdas = lambdas.Lambdas;
46
51
  // Give Access to Lambdds to All DynamoDb Tables
47
52
  if (this.tables) {
48
53
  this.assignAccessToTables(this.tables, lambdas.Lambdas);
@@ -102,4 +107,4 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
102
107
  }
103
108
  }
104
109
  exports.CreateApiAndAttachLambdas = CreateApiAndAttachLambdas;
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQU81RDtJQUNBO0lBQ0E7SUFQRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRTdDLFlBQVksS0FBZ0IsRUFDeEIsTUFBaUIsRUFDVCxVQUFvQixFQUNwQixNQUF1QixFQUN2QixNQUFpQjtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBR3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztRQUNqRSxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxV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bUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcbiAgICBcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZUF1dGhvcml6ZXI6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGF1dGhvcml6ZXJUeXBlPzogVHNnQXV0aG9yaXplclR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LFxuICAgICAgICBjb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBnYXRld2F5QXBpOiBJUmVzdEFwaSxcbiAgICAgICAgcHJpdmF0ZSBsYXllcnM/OiBMYXllclZlcnNpb25bXSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZXM/OiBJVGFibGVbXSkge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUi50eXBlKSA/IHRydWUgOiBmYWxzZTsgICAgICAgXG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplclR5cGUgPSB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUj8udHlwZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUiAmJiAhdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIudHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIGFuIGF1dGhvcml6ZXIgdHlwZSBpZiBhIEF1dGhvcml6ZXIgaXMgcmVxdWlyZWRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpITtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IEFwaUxhbWJkYVJlc3VsdFtdIHwgbnVsbCB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkIHwgbnVsbCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBDcmVhdGUgQXV0aG9yaXplclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplcikge1xuICAgICAgICAgICAgYXV0aG9yaXplciA9IHRoaXMuY3JlYXRlQXV0aG9yaXplcigpO1xuXG4gICAgICAgICAgICBpZiAoIWF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnQXV0aG9yaXplciBOb3QgQ3JlYXRlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgQ3JlYXRlZCcsIGF1dGhvcml6ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIExhbWJkYXNcbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEoc2NvcGUsIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycyk7XG4gICAgICAgIFxuICAgICAgICAvLyBHaXZlIEFjY2VzcyB0byBMYW1iZGRzIHRvIEFsbCBEeW5hbW9EYiBUYWJsZXNcbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBDcmVhdGUgUm91dGVzIG9uIEFQSSBHYXRld2F5IGZvciBMYW1iZGFzIGZyb20gY29uZmlnXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMuY29uZmlnLCB0aGlzLmdhdGV3YXlBcGksIGxhbWJkYXMuTGFtYmRhcywgYXV0aG9yaXplcik7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBBcGlMYW1iZGFSZXN1bHQgPSB7XG4gICAgICAgICAgICBhcGk6IHRoaXMuZ2F0ZXdheUFwaSxcbiAgICAgICAgICAgIGF1dGhvcml6ZXI6IGF1dGhvcml6ZXJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtyZXN1bHRdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYEF1dGhvcml6ZXJyLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5hdXRob3JpemVyPy5hdXRob3JpemVyQXJuIVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gICAgXG5cbiAgICBwcml2YXRlIGNyZWF0ZUF1dGhvcml6ZXIoKSB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlRPS0VOX0FVVEhPUklaRVIpIHtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dKd3RUb2tlbkF1dGhvcml6ZXIodGhpcy5zY29wZSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZykuSnd0QXV0aG9yaXplcjtcblxuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgVG9rZW5BdXRob3JpemVyKT8uX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBUb2tlbkF1dGhvcml6ZXIpPy5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG5cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlJFUVVFU1RfQVVUSE9SSVpFUikgeyAgICAgICAgICAgIFxuXG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IFRzZ1JlcXVlc3RBdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcsIHRoaXMubGF5ZXJzLCB0aGlzLnRhYmxlcykuVHNnUmVxdWVzdEF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFJlcXVlc3RBdXRob3JpemVyKS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG4gICAgICAgIH1cblxuICAgICAgIFxuICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogSVRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMoY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyfFJlcXVlc3RBdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uZmlnLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQWE1RDtJQUNBO0lBQ0E7SUFiRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRXJDLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRXZDLElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUN4QixNQUFpQixFQUNULFVBQW9CLEVBQ3BCLE1BQXVCLEVBQ3ZCLE1BQWlCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFVO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTFELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQ2pFLENBQUM7YUFB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QztZQUN6RCxDQUFDO1lBRUQscUJBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUExSUQsOERBMElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcblxuICAgIHByb3RlY3RlZCByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgYXV0aG9yaXplclR5cGU/OiBUc2dBdXRob3JpemVyVHlwZTtcblxuICAgIHByaXZhdGUgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICAgIGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGdhdGV3YXlBcGk6IElSZXN0QXBpLFxuICAgICAgICBwcml2YXRlIGxheWVycz86IExheWVyVmVyc2lvbltdLFxuICAgICAgICBwcml2YXRlIHRhYmxlcz86IElUYWJsZVtdKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZXJUeXBlID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVI/LnR5cGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgIXRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSBhbiBhdXRob3JpemVyIHR5cGUgaWYgYSBBdXRob3JpemVyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKSE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlMYW1iZGFSZXN1bHRbXSB8IG51bGwge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcblxuICAgICAgICAgICAgaWYgKCFhdXRob3JpemVyKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgTm90IENyZWF0ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdBdXRob3JpemVyIENyZWF0ZWQnLCBhdXRob3JpemVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMpO1xuICAgICAgICB0aGlzLmxhbWJkYXMgPSBsYW1iZGFzLkxhbWJkYXM7XG5cbiAgICAgICAgLy8gR2l2ZSBBY2Nlc3MgdG8gTGFtYmRkcyB0byBBbGwgRHluYW1vRGIgVGFibGVzXG4gICAgICAgIGlmICh0aGlzLnRhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25BY2Nlc3NUb1RhYmxlcyh0aGlzLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBSb3V0ZXMgb24gQVBJIEdhdGV3YXkgZm9yIExhbWJkYXMgZnJvbSBjb25maWdcbiAgICAgICAgdGhpcy5BZGRSb3V0ZXModGhpcy5jb25maWcsIHRoaXMuZ2F0ZXdheUFwaSwgbGFtYmRhcy5MYW1iZGFzLCBhdXRob3JpemVyKTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IEFwaUxhbWJkYVJlc3VsdCA9IHtcbiAgICAgICAgICAgIGFwaTogdGhpcy5nYXRld2F5QXBpLFxuICAgICAgICAgICAgYXV0aG9yaXplcjogYXV0aG9yaXplclxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gW3Jlc3VsdF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYEF1dGhvcml6ZXJyLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5hdXRob3JpemVyPy5hdXRob3JpemVyQXJuIVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXV0aG9yaXplcigpIHtcblxuICAgICAgICBsZXQgYXV0aG9yaXplcjogVG9rZW5BdXRob3JpemVyIHwgUmVxdWVzdEF1dGhvcml6ZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgJiYgdGhpcy5hdXRob3JpemVyVHlwZSA9PT0gVHNnQXV0aG9yaXplclR5cGUuVE9LRU5fQVVUSE9SSVpFUikge1xuXG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IFRzZ0p3dFRva2VuQXV0aG9yaXplcih0aGlzLnNjb3BlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnKS5Kd3RBdXRob3JpemVyO1xuXG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBUb2tlbkF1dGhvcml6ZXIpPy5fYXR0YWNoVG9BcGkodGhpcy5nYXRld2F5QXBpKTtcbiAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFRva2VuQXV0aG9yaXplcik/LmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcblxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgJiYgdGhpcy5hdXRob3JpemVyVHlwZSA9PT0gVHNnQXV0aG9yaXplclR5cGUuUkVRVUVTVF9BVVRIT1JJWkVSKSB7XG5cbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgVHNnUmVxdWVzdEF1dGhvcml6ZXIodGhpcy5zY29wZSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMsIHRoaXMudGFibGVzKS5Uc2dSZXF1ZXN0QXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcjtcblxuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXIpLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3NpZ25BY2Nlc3NUb1RhYmxlcyh0YWJsZXM6IElUYWJsZVtdLCBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdKSB7XG5cbiAgICAgICAgaWYgKHRhYmxlcykge1xuICAgICAgICAgICAgbGFtYmRhcy5mb3JFYWNoKChsYW1iZGE6IE5vZGVqc0Z1bmN0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IElUYWJsZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShsYW1iZGEpO1xuXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgQWRkUm91dGVzKGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBnYXRld2F5OiBJUmVzdEFwaSxcbiAgICAgICAgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSxcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uZmlnLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.91",
3
+ "version": "1.0.92",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -12,29 +12,47 @@ import { CreateApiAndAttachLambdas } from "../resources/gateway/CreateApiAndAtta
12
12
  import { createSeedDatabaseCustomResource } from "../resources/customResource/createSeedDatabaseCustomResource";
13
13
  import { IRestApi } from "aws-cdk-lib/aws-apigateway";
14
14
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
15
+ import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
15
16
  export class MicroService extends Construct {
16
17
 
17
18
  protected readonly requireDynamoTables: boolean;
18
19
  protected requireSeedDatabase: boolean = false;
19
- protected readonly hasLambdaLayers: boolean = false;
20
+ protected readonly hasLambdaLayers: boolean = false;
20
21
  protected appConfig: AppConfig;
21
22
  private readonly api: IRestApi;
22
23
  private readonly dynamoTables: Table[] | undefined;
23
24
  private readonly lambdaLayers: LayerVersion[] | undefined;
24
25
  private readonly secretManager: ISecret | null = null;
26
+ private readonly lambdas: NodejsFunction[] = [];
27
+
28
+ public get Tables() {
29
+ return this.dynamoTables;
30
+ }
31
+
32
+ public get SecretManager() {
33
+ return this.secretManager;
34
+ }
35
+
36
+ public get LambdaLayers() {
37
+ return this.lambdaLayers;
38
+ }
39
+
40
+ public get Lambdas() {
41
+ return this.lambdas;
42
+ }
25
43
 
26
44
  constructor(scope: Construct, id: string, props: MicroserviceProps) {
27
45
  super(scope, id);
28
46
 
29
- this.appConfig = new AppConfig(props);
30
-
47
+ this.appConfig = new AppConfig(props);
48
+
31
49
  this.requireDynamoTables = (props.RESOURCES.DYNAMO?.TABLES &&
32
50
  props.RESOURCES.DYNAMO.TABLES.length > 0) ? true : false;
33
51
 
34
- this.requireSeedDatabase = (props.RESOURCES.DYNAMO?.USE_SEED_DATABASE &&
52
+ this.requireSeedDatabase = (props.RESOURCES.DYNAMO?.USE_SEED_DATABASE &&
35
53
  props.RESOURCES.DYNAMO.SEED_LAMBDA) ? true : false;
36
54
 
37
- this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
55
+ this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
38
56
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
39
57
 
40
58
  const results = this.onInit(scope);
@@ -44,6 +62,8 @@ export class MicroService extends Construct {
44
62
  this.lambdaLayers = results.lambdaLayers!;
45
63
  this.secretManager = results.secretManager!;
46
64
 
65
+ this.lambdas = results.lambdas!;
66
+
47
67
  this.createTag(scope)
48
68
  }
49
69
 
@@ -56,7 +76,7 @@ export class MicroService extends Construct {
56
76
  if (process.env.SECRET_MANAGER_ARN) {
57
77
  // throw new Error(`You must provide the ARN for the your Configuration Secret
58
78
  // Manager`);
59
- secretManager = getSecretManager(scope, this.appConfig, process.env.SECRET_MANAGER_ARN);
79
+ secretManager = getSecretManager(scope, this.appConfig, process.env.SECRET_MANAGER_ARN);
60
80
  }
61
81
 
62
82
  if (this.hasLambdaLayers) {
@@ -77,18 +97,19 @@ export class MicroService extends Construct {
77
97
  if (this.requireSeedDatabase) {
78
98
  createSeedDatabaseCustomResource(scope, this.appConfig, tables![0], layers);
79
99
  }
80
-
100
+
81
101
  // CREATE API GATEWAY AND LAMBDA HERE
82
- const apiGateway = new CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers,tables);
102
+ const apiGateway = new CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers, tables);
83
103
 
84
104
  return {
85
105
  restApi: (gateway?.length > 0) ? gateway[0] : null,
86
106
  lambdaLayers: layers || null,
87
107
  dynamoTables: tables || null,
88
108
  secretManager: secretManager,
109
+ lambdas: apiGateway.Lambdas,
89
110
 
90
111
  };
91
-
112
+
92
113
  }
93
114
 
94
115
  protected createTag(scope: Construct) {
@@ -15,19 +15,25 @@ import { TsgLambdaProp } from "../../config/types";
15
15
  import { Routes } from "../helpers/createRoutes";
16
16
 
17
17
  export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
18
-
18
+
19
19
  protected requireAuthorizer: boolean;
20
20
  protected authorizerType?: TsgAuthorizerType;
21
21
 
22
+ private lambdas: NodejsFunction[] = [];
23
+
24
+ public get Lambdas() {
25
+ return this.lambdas;
26
+ }
27
+
22
28
  constructor(scope: Construct,
23
29
  config: AppConfig,
24
30
  private gatewayApi: IRestApi,
25
31
  private layers?: LayerVersion[],
26
32
  private tables?: ITable[]) {
27
33
  super(scope, config);
28
-
29
- this.requireAuthorizer = (this.config.RESOURCES.AUTHORIZER &&
30
- this.config.RESOURCES.AUTHORIZER.type) ? true : false;
34
+
35
+ this.requireAuthorizer = (this.config.RESOURCES.AUTHORIZER &&
36
+ this.config.RESOURCES.AUTHORIZER.type) ? true : false;
31
37
 
32
38
  if (this.requireAuthorizer) {
33
39
  this.authorizerType = this.config.RESOURCES.AUTHORIZER?.type;
@@ -56,12 +62,13 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
56
62
 
57
63
  // Create Lambdas
58
64
  const lambdas = new CreateLambda(scope, this.config, this.layers);
59
-
65
+ this.lambdas = lambdas.Lambdas;
66
+
60
67
  // Give Access to Lambdds to All DynamoDb Tables
61
68
  if (this.tables) {
62
69
  this.assignAccessToTables(this.tables, lambdas.Lambdas);
63
70
  }
64
-
71
+
65
72
  // Create Routes on API Gateway for Lambdas from config
66
73
  this.AddRoutes(this.config, this.gatewayApi, lambdas.Lambdas, authorizer);
67
74
 
@@ -73,13 +80,13 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
73
80
  }
74
81
 
75
82
  protected createOutput<T>(scope: Construct, createdAssets: T[]): void {
76
-
83
+
77
84
  this.createdResources!.forEach((x, idx) => {
78
85
  new CfnOutput(scope, `Authorizerr-${idx}`, {
79
86
  value: x.authorizer?.authorizerArn!
80
87
  });
81
88
  });
82
- }
89
+ }
83
90
 
84
91
  private createAuthorizer() {
85
92
 
@@ -95,18 +102,18 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
95
102
 
96
103
  return authorizer;
97
104
 
98
- } else if (this.requireAuthorizer && this.authorizerType === TsgAuthorizerType.REQUEST_AUTHORIZER) {
105
+ } else if (this.requireAuthorizer && this.authorizerType === TsgAuthorizerType.REQUEST_AUTHORIZER) {
99
106
 
100
107
  authorizer = new TsgRequestAuthorizer(this.scope,
101
108
  this.config, this.layers, this.tables).TsgRequestAuthorizer as RequestAuthorizer;
102
-
103
- (authorizer as RequestAuthorizer)._attachToApi(this.gatewayApi);
104
- (authorizer as RequestAuthorizer).applyRemovalPolicy(RemovalPolicy.DESTROY);
105
-
109
+
110
+ (authorizer as RequestAuthorizer)._attachToApi(this.gatewayApi);
111
+ (authorizer as RequestAuthorizer).applyRemovalPolicy(RemovalPolicy.DESTROY);
112
+
106
113
  return authorizer;
107
114
  }
108
115
 
109
-
116
+
110
117
  return authorizer;
111
118
  }
112
119
 
@@ -127,7 +134,7 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
127
134
  private AddRoutes(config: AppConfig,
128
135
  gateway: IRestApi,
129
136
  lambdas: NodejsFunction[],
130
- authorizer?: TokenAuthorizer|RequestAuthorizer) {
137
+ authorizer?: TokenAuthorizer | RequestAuthorizer) {
131
138
 
132
139
  config.RESOURCES.LAMBDA?.forEach((prop: TsgLambdaProp) => {
133
140