@sylvesterllc/aws-constructs 1.0.113 → 1.0.115

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.
@@ -6,4 +6,6 @@ export interface TsgDnsAppConfig {
6
6
  FQDN: string;
7
7
  ZoneExist: boolean;
8
8
  ZoneId?: string;
9
+ SubDomainName?: string;
10
+ SubDomainNameForApi?: string;
9
11
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRG5zQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dEbnNDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHNnRG5zQXBwQ29uZmlnIHtcbiAgICBab25lTmFtZTogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFN1ZmZpeDogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFBlcmlvZDogc3RyaW5nO1xuICAgIEhvc3ROYW1lOiBzdHJpbmc7XG4gICAgRlFETjogc3RyaW5nO1xuICAgIFpvbmVFeGlzdDogYm9vbGVhbjtcbiAgICBab25lSWQ/OiBzdHJpbmc7XG59Il19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRG5zQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dEbnNDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHNnRG5zQXBwQ29uZmlnIHtcbiAgICBab25lTmFtZTogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFN1ZmZpeDogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFBlcmlvZDogc3RyaW5nO1xuICAgIEhvc3ROYW1lOiBzdHJpbmc7XG4gICAgRlFETjogc3RyaW5nO1xuICAgIFpvbmVFeGlzdDogYm9vbGVhbjtcbiAgICBab25lSWQ/OiBzdHJpbmc7XG4gICAgU3ViRG9tYWluTmFtZT86IHN0cmluZztcbiAgICBTdWJEb21haW5OYW1lRm9yQXBpPzogc3RyaW5nO1xufSJdfQ==
@@ -6,8 +6,8 @@ import { LayerVersion } from "aws-cdk-lib/aws-lambda";
6
6
  import { IRestApi } from "aws-cdk-lib/aws-apigateway";
7
7
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
8
8
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
9
- import { Environment } from "../config/Environments";
10
9
  export declare class MicroService extends Construct {
10
+ private debug;
11
11
  protected readonly requireDynamoTables: boolean;
12
12
  protected requireSeedDatabase: boolean;
13
13
  protected readonly hasLambdaLayers: boolean;
@@ -24,7 +24,7 @@ export declare class MicroService extends Construct {
24
24
  get Lambdas(): NodejsFunction[];
25
25
  get LambdaRecords(): Record<string, NodejsFunction>;
26
26
  get RestApi(): IRestApi;
27
- constructor(scope: Construct, id: string, props: MicroserviceProps, env?: Environment);
27
+ constructor(scope: Construct, id: string, props: MicroserviceProps, debug?: boolean);
28
28
  private onInit;
29
29
  protected createTag(scope: Construct): void;
30
30
  }
@@ -11,6 +11,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
11
11
  const CreateApiAndAttachLambdas_1 = require("../resources/gateway/CreateApiAndAttachLambdas");
12
12
  const createSeedDatabaseCustomResource_1 = require("../resources/customResource/createSeedDatabaseCustomResource");
13
13
  class MicroService extends constructs_1.Construct {
14
+ debug;
14
15
  requireDynamoTables;
15
16
  requireSeedDatabase = false;
16
17
  hasLambdaLayers = false;
@@ -39,8 +40,9 @@ class MicroService extends constructs_1.Construct {
39
40
  get RestApi() {
40
41
  return this.api;
41
42
  }
42
- constructor(scope, id, props, env = "prod") {
43
+ constructor(scope, id, props, debug = false) {
43
44
  super(scope, id);
45
+ this.debug = debug;
44
46
  this.appConfig = new AppConfig_1.AppConfig(props);
45
47
  this.requireDynamoTables = (props.RESOURCES.DYNAMO?.TABLES &&
46
48
  props.RESOURCES.DYNAMO.TABLES.length > 0) ? true : false;
@@ -48,7 +50,7 @@ class MicroService extends constructs_1.Construct {
48
50
  props.RESOURCES.DYNAMO.SEED_LAMBDA) ? true : false;
49
51
  this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
50
52
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
51
- const results = this.onInit(scope, env);
53
+ const results = this.onInit(scope);
52
54
  this.api = results.restApi;
53
55
  this.dynamoTables = results.dynamoTables;
54
56
  this.lambdaLayers = results.lambdaLayers;
@@ -56,7 +58,7 @@ class MicroService extends constructs_1.Construct {
56
58
  this.lambdas = results.lambdas;
57
59
  this.createTag(scope);
58
60
  }
59
- onInit(scope, env) {
61
+ onInit(scope) {
60
62
  let secretManager = null;
61
63
  let tables = undefined;
62
64
  let commonLayers = undefined;
@@ -68,7 +70,7 @@ class MicroService extends constructs_1.Construct {
68
70
  if (this.hasLambdaLayers) {
69
71
  commonLayers = (0, createCommonLayer_1.createCommonLayer)(scope, this.appConfig);
70
72
  }
71
- const gateway = new createApi_1.Api(scope, this.appConfig, env).APIs;
73
+ const gateway = new createApi_1.Api(scope, this.appConfig).APIs;
72
74
  const layers = commonLayers;
73
75
  // Creates DynamoDb Tables if required
74
76
  if (this.requireDynamoTables) {
@@ -96,4 +98,4 @@ class MicroService extends constructs_1.Construct {
96
98
  }
97
99
  }
98
100
  exports.MicroService = MicroService;
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBS2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUNyQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUN4QyxhQUFhLEdBQW1DLEVBQUUsQ0FBQztJQUUzRCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCLEVBQzlELE1BQW1CLE1BQU07UUFDekIsS0FBSyxDQUFD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QUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLHFEQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEcsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTlDLHFEQUFxRDtRQUVyRCxPQUFPO1lBQ0gsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2xELFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixZQUFZLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDNUIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1NBRTlCLENBQUM7SUFFTixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQWdCO1FBQ2hDLGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKO0FBckhELG9DQXFIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IENyZWF0ZUR5bmFtb0RiIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW9cIjtcbmltcG9ydCB7IEFwaSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9jcmVhdGVBcGlcIjtcbmltcG9ydCB7IGdldFNlY3JldE1hbmFnZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL3NlY3VyaXR5TWFuYWdlclwiO1xuaW1wb3J0IHsgY3JlYXRlQ29tbW9uTGF5ZXIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2hlbHBlcnMvY3JlYXRlQ29tbW9uTGF5ZXJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzXCI7XG5pbXBvcnQgeyBjcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvY3VzdG9tUmVzb3VyY2UvY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2VcIjtcbmltcG9ydCB7IElSZXN0QXBpIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSBcIi4uL2NvbmZpZy9FbnZpcm9ubWVudHNcIjtcbmV4cG9ydCBjbGFzcyBNaWNyb1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlcXVpcmVEeW5hbW9UYWJsZXM6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIHJlcXVpcmVTZWVkRGF0YWJhc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTGFtYmRhTGF5ZXJzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSBsYW1iZGFSZWNvcmRzOiBSZWNvcmQ8c3RyaW5nLCBOb2RlanNGdW5jdGlvbj4gPSB7fTtcblxuICAgIHB1YmxpYyBnZXQgVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5keW5hbW9UYWJsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTZWNyZXRNYW5hZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWNyZXRNYW5hZ2VyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhTGF5ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFMYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTGFtYmRhUmVjb3JkcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFtYmRhUmVjb3JkcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFJlc3RBcGkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsXG4gICAgICAgIGVudjogRW52aXJvbm1lbnQgPSBcInByb2RcIikge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIHRoaXMuYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZyhwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuRFlOQU1PLlNFRURfTEFNQkRBKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLmhhc0xhbWJkYUxheWVycyA9IChwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMub25Jbml0KHNjb3BlLCBlbnYpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMubGFtYmRhcyA9IHJlc3VsdHMubGFtYmRhcyE7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUYWcoc2NvcGUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCwgZW52OiBFbnZpcm9ubWVudCkge1xuXG4gICAgICAgIGxldCBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCB0YWJsZXM6IFRhYmxlW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBjb21tb25MYXllcnM6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pIHtcbiAgICAgICAgICAgIC8vIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSB0aGUgQVJOIGZvciB0aGUgeW91ciBDb25maWd1cmF0aW9uIFNlY3JldCBcbiAgICAgICAgICAgIC8vICAgICBNYW5hZ2VyYCk7ICAgICAgXG4gICAgICAgICAgICBzZWNyZXRNYW5hZ2VyID0gZ2V0U2VjcmV0TWFuYWdlcihzY29wZSwgdGhpcy5hcHBDb25maWcsIHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNMYW1iZGFMYXllcnMpIHtcbiAgICAgICAgICAgIGNvbW1vbkxheWVycyA9IGNyZWF0ZUNvbW1vbkxheWVyKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBnYXRld2F5ID0gbmV3IEFwaShzY29wZSwgdGhpcy5hcHBDb25maWcsIGVudikuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ1JFQVRFIEFQSSBHQVRFV0FZIEFORCBMQU1CREEgSEVSRSBcbiAgICAgICAgY29uc3QgYXBpR2F0ZXdheSA9IG5ldyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgZ2F0ZXdheVswXSwgbGF5ZXJzLCB0YWJsZXMpO1xuXG4gICAgICAgIHRoaXMubGFtYmRhUmVjb3JkcyA9IGFwaUdhdGV3YXkuTGFtYmRhUmVjb3JkcztcblxuICAgICAgICAvLyBjb25zb2xlLmxvZygnbGFtYmRhIFJlY29yZHM6JywgdGhpcy5sYW1iZGFSZWNvcmRzKVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcbiAgICAgICAgICAgIGxhbWJkYXM6IGFwaUdhdGV3YXkuTGFtYmRhcyxcblxuICAgICAgICB9O1xuXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhZyhzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnQXBwJywgdGhpcy5hcHBDb25maWcuQXBwTmFtZSk7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnUmVzb3VjZVByZWZpeCcsIHRoaXMuYXBwQ29uZmlnLkFwcFByZWZpeCk7XG4gICAgfVxufSJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBS2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBc0MzQjtJQXBDTyxtQkFBbUIsQ0FBVTtJQUN0QyxtQkFBbUIsR0FBWSxLQUFLLENBQUM7SUFDNUIsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUMxQyxTQUFTLENBQVk7SUFDZCxHQUFHLENBQVc7SUFDZCxZQUFZLENBQXNCO0lBQ2xDLFlBQVksQ0FBNkI7SUFDekMsYUFBYSxHQUFtQixJQUFJLENBQUM7SUFDckMsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDeEMsYUFBYSxHQUFtQyxFQUFFLENBQUM7SUFFM0QsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QixFQUN0RCxRQUFpQixLQUFLO1FBQzlCLEtB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O1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUkscURBQXlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVwRyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFOUMscURBQXFEO1FBRXJELE9BQU87WUFDSCxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEQsWUFBWSxFQUFFLE1BQU0sSUFBSSxJQUFJO1lBQzVCLFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87U0FFOUIsQ0FBQztJQUVOLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBZ0I7UUFDaEMsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUFySEQsb0NBcUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vY29uZmlnL0Vudmlyb25tZW50c1wiO1xuZXhwb3J0IGNsYXNzIE1pY3JvU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVxdWlyZUR5bmFtb1RhYmxlczogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZVNlZWREYXRhYmFzZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYXNMYW1iZGFMYXllcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IElSZXN0QXBpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1vVGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFtYmRhTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3JldE1hbmFnZXI6IElTZWNyZXQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10gPSBbXTtcbiAgICBwcml2YXRlIGxhbWJkYVJlY29yZHM6IFJlY29yZDxzdHJpbmcsIE5vZGVqc0Z1bmN0aW9uPiA9IHt9O1xuXG4gICAgcHVibGljIGdldCBUYWJsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmR5bmFtb1RhYmxlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFNlY3JldE1hbmFnZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3JldE1hbmFnZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFMYXllcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbWJkYUxheWVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IExhbWJkYXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbWJkYXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFSZWNvcmRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFSZWNvcmRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgUmVzdEFwaSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcyxcbiAgICAgICAgcHJpdmF0ZSBkZWJ1ZzogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgdGhpcy5hcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKHByb3BzKTtcblxuICAgICAgICB0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZXMgPSAocHJvcHMuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVTICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuRFlOQU1PLlRBQkxFUy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLnJlcXVpcmVTZWVkRGF0YWJhc2UgPSAocHJvcHMuUkVTT1VSQ0VTLkRZTkFNTz8uVVNFX1NFRURfREFUQUJBU0UgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uU0VFRF9MQU1CREEpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaGFzTGFtYmRhTGF5ZXJzID0gKHByb3BzLlJFU09VUkNFUy5MQU1CREFfTEFZRVJTICYmXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5vbkluaXQoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMubGFtYmRhcyA9IHJlc3VsdHMubGFtYmRhcyE7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUYWcoc2NvcGUpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkluaXQoc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIGxldCBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCB0YWJsZXM6IFRhYmxlW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCBjb21tb25MYXllcnM6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pIHtcbiAgICAgICAgICAgIC8vIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSB0aGUgQVJOIGZvciB0aGUgeW91ciBDb25maWd1cmF0aW9uIFNlY3JldCBcbiAgICAgICAgICAgIC8vICAgICBNYW5hZ2VyYCk7ICAgICAgXG4gICAgICAgICAgICBzZWNyZXRNYW5hZ2VyID0gZ2V0U2VjcmV0TWFuYWdlcihzY29wZSwgdGhpcy5hcHBDb25maWcsIHByb2Nlc3MuZW52LlNFQ1JFVF9NQU5BR0VSX0FSTik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNMYW1iZGFMYXllcnMpIHtcbiAgICAgICAgICAgIGNvbW1vbkxheWVycyA9IGNyZWF0ZUNvbW1vbkxheWVyKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBnYXRld2F5ID0gbmV3IEFwaShzY29wZSwgdGhpcy5hcHBDb25maWcpLkFQSXM7XG5cbiAgICAgICAgY29uc3QgbGF5ZXJzID0gY29tbW9uTGF5ZXJzO1xuXG4gICAgICAgIC8vIENyZWF0ZXMgRHluYW1vRGIgVGFibGVzIGlmIHJlcXVpcmVkXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVEeW5hbW9UYWJsZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGR5bmFtbyA9IG5ldyBDcmVhdGVEeW5hbW9EYihzY29wZSwgdGhpcy5hcHBDb25maWcpO1xuXG4gICAgICAgICAgICB0YWJsZXMgPSBkeW5hbW8uQ3JlYXRlZFRhYmxlcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVTZWVkRGF0YWJhc2UpIHtcbiAgICAgICAgICAgIGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgdGFibGVzIVswXSwgbGF5ZXJzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENSRUFURSBBUEkgR0FURVdBWSBBTkQgTEFNQkRBIEhFUkUgXG4gICAgICAgIGNvbnN0IGFwaUdhdGV3YXkgPSBuZXcgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyhzY29wZSwgdGhpcy5hcHBDb25maWcsIGdhdGV3YXlbMF0sIGxheWVycywgdGFibGVzKTtcblxuICAgICAgICB0aGlzLmxhbWJkYVJlY29yZHMgPSBhcGlHYXRld2F5LkxhbWJkYVJlY29yZHM7XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2xhbWJkYSBSZWNvcmRzOicsIHRoaXMubGFtYmRhUmVjb3JkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzdEFwaTogKGdhdGV3YXk/Lmxlbmd0aCA+IDApID8gZ2F0ZXdheVswXSA6IG51bGwsXG4gICAgICAgICAgICBsYW1iZGFMYXllcnM6IGxheWVycyB8fCBudWxsLFxuICAgICAgICAgICAgZHluYW1vVGFibGVzOiB0YWJsZXMgfHwgbnVsbCxcbiAgICAgICAgICAgIHNlY3JldE1hbmFnZXI6IHNlY3JldE1hbmFnZXIsXG4gICAgICAgICAgICBsYW1iZGFzOiBhcGlHYXRld2F5LkxhbWJkYXMsXG5cbiAgICAgICAgfTtcblxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWcoc2NvcGU6IENvbnN0cnVjdCkge1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ0FwcCcsIHRoaXMuYXBwQ29uZmlnLkFwcE5hbWUpO1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ1Jlc291Y2VQcmVmaXgnLCB0aGlzLmFwcENvbmZpZy5BcHBQcmVmaXgpO1xuICAgIH1cbn0iXX0=
@@ -2,3 +2,4 @@ import { Environment } from '../config/Environments';
2
2
  export declare const getUUID: () => string;
3
3
  export declare const environmentSuffix: (env?: Environment) => "" | "-qa" | "-dev";
4
4
  export declare const environmentSuffixForDomain: (env?: Environment) => "." | ".qa" | ".dev";
5
+ export declare const clog: (message: string) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.environmentSuffixForDomain = exports.environmentSuffix = exports.getUUID = void 0;
3
+ exports.clog = exports.environmentSuffixForDomain = exports.environmentSuffix = exports.getUUID = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  const getUUID = () => {
6
6
  return (0, uuid_1.v4)();
@@ -14,4 +14,7 @@ const environmentSuffixForDomain = (env = "prod") => {
14
14
  return env === 'prod' ? '.' : env === 'qa' ? '.qa' : '.dev';
15
15
  };
16
16
  exports.environmentSuffixForDomain = environmentSuffixForDomain;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy91dGlsLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0M7QUFHN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO0lBRXhCLE9BQU8sSUFBQSxTQUFNLEdBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFIVyxRQUFBLE9BQU8sV0FHbEI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBbUIsTUFBTSxFQUFFLEVBQUU7SUFDM0QsT0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9ELENBQUMsQ0FBQTtBQUZZLFFBQUEsaUJBQWlCLHFCQUU3QjtBQUVNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFtQixNQUFNLEVBQUUsRUFBRTtJQUNwRSxPQUFPLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDaEUsQ0FBQyxDQUFBO0FBRlksUUFBQSwwQkFBMEIsOEJBRXRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL2NvbmZpZy9FbnZpcm9ubWVudHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0VVVJRCA9ICgpID0+IHtcblxuICAgIHJldHVybiB1dWlkdjQoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudFN1ZmZpeCA9IChlbnY6IEVudmlyb25tZW50ID0gXCJwcm9kXCIpID0+IHtcbiAgICByZXR1cm4gZW52ID09PSAncHJvZCcgPyAnJyA6IGVudiA9PT0gJ3FhJyA/ICctcWEnIDogJy1kZXYnO1xufVxuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTdWZmaXhGb3JEb21haW4gPSAoZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSA9PiB7XG4gICAgcmV0dXJuIGVudiA9PT0gJ3Byb2QnID8gJy4nIDogZW52ID09PSAncWEnID8gJy5xYScgOiAnLmRldic7XG59Il19
17
+ const clog = (message) => {
18
+ };
19
+ exports.clog = clog;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy91dGlsLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0M7QUFHN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO0lBRXhCLE9BQU8sSUFBQSxTQUFNLEdBQUUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFIVyxRQUFBLE9BQU8sV0FHbEI7QUFFSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBbUIsTUFBTSxFQUFFLEVBQUU7SUFDM0QsT0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9ELENBQUMsQ0FBQTtBQUZZLFFBQUEsaUJBQWlCLHFCQUU3QjtBQUVNLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFtQixNQUFNLEVBQUUsRUFBRTtJQUNwRSxPQUFPLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDaEUsQ0FBQyxDQUFBO0FBRlksUUFBQSwwQkFBMEIsOEJBRXRDO0FBRU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtBQUd4QyxDQUFDLENBQUM7QUFIVyxRQUFBLElBQUksUUFHZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcvRW52aXJvbm1lbnRzJztcblxuZXhwb3J0IGNvbnN0IGdldFVVSUQgPSAoKSA9PiB7XG5cbiAgICByZXR1cm4gdXVpZHY0KCk7XG59O1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTdWZmaXggPSAoZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSA9PiB7XG4gICAgcmV0dXJuIGVudiA9PT0gJ3Byb2QnID8gJycgOiBlbnYgPT09ICdxYScgPyAnLXFhJyA6ICctZGV2Jztcbn1cblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50U3VmZml4Rm9yRG9tYWluID0gKGVudjogRW52aXJvbm1lbnQgPSBcInByb2RcIikgPT4ge1xuICAgIHJldHVybiBlbnYgPT09ICdwcm9kJyA/ICcuJyA6IGVudiA9PT0gJ3FhJyA/ICcucWEnIDogJy5kZXYnO1xufVxuXG5leHBvcnQgY29uc3QgY2xvZyA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcblxuXG59OyJdfQ==
@@ -2,10 +2,9 @@ import { Certificate, ICertificate } from "aws-cdk-lib/aws-certificatemanager";
2
2
  import { IHostedZone } from "aws-cdk-lib/aws-route53";
3
3
  import { Construct } from "constructs";
4
4
  import { MicroserviceProps } from "../../interfaces/MicroserviceProps";
5
- import { Environment } from "../../config/Environments";
6
5
  export declare class CreateCertificate {
7
6
  certificate: ICertificate;
8
- constructor(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone, env?: Environment);
7
+ constructor(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone);
9
8
  generateCertificate(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone): Certificate;
10
- generateApiCertificate(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone, env: Environment): Certificate;
9
+ generateApiCertificate(scope: Construct, props: MicroserviceProps): Certificate;
11
10
  }
@@ -4,12 +4,11 @@ exports.CreateCertificate = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
6
6
  const aws_route53_1 = require("aws-cdk-lib/aws-route53");
7
- const util_helper_1 = require("../../helpers/util-helper");
8
7
  class CreateCertificate {
9
8
  certificate;
10
- constructor(scope, props, hostedZone, env = "prod") {
9
+ constructor(scope, props, hostedZone) {
11
10
  // this.certificate = this.generateCertificate(scope, props, hostedZone);
12
- this.certificate = this.generateApiCertificate(scope, props, hostedZone, env);
11
+ this.certificate = this.generateApiCertificate(scope, props);
13
12
  this.certificate.applyRemovalPolicy(aws_cdk_lib_1.RemovalPolicy.DESTROY);
14
13
  }
15
14
  generateCertificate(scope, props, hostedZone) {
@@ -22,18 +21,18 @@ class CreateCertificate {
22
21
  });
23
22
  return cert;
24
23
  }
25
- generateApiCertificate(scope, props, hostedZone, env) {
26
- const domainName = `${props.API.DomainPrefix}${(0, util_helper_1.environmentSuffixForDomain)(env)}.${props.DNS?.ZoneName}`;
24
+ generateApiCertificate(scope, props) {
25
+ const hostedZone = aws_route53_1.HostedZone.fromHostedZoneId(scope, `api.c1.dev.convergeone.io-hosted-zone`, 'Z0508834Q8E4TWFVG990');
26
+ const domainName = props.DNS?.SubDomainNameForApi;
27
27
  console.log('domainName: ', domainName);
28
- // api.c1-.dev-certificate
29
- const cert = new aws_certificatemanager_1.Certificate(scope, `${props.API.DomainPrefix}-${(0, util_helper_1.environmentSuffixForDomain)(env)}-certificate`, {
30
- domainName,
28
+ const cert = new aws_certificatemanager_1.Certificate(scope, `${props.DNS?.SubDomainName}-certificate`, {
29
+ domainName: `${props.DNS?.SubDomainNameForApi}.${props.DNS?.SubDomainName}`,
31
30
  validation: aws_certificatemanager_1.CertificateValidation.fromDnsMultiZone({
32
- [domainName]: hostedZone
31
+ [props.DNS?.SubDomainName]: hostedZone
33
32
  })
34
33
  });
35
34
  return cert;
36
35
  }
37
36
  }
38
37
  exports.CreateCertificate = CreateCertificate;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFDL0gseURBQWtFO0FBR2xFLDJEQUF1RTtBQUl2RSxNQUFhLGlCQUFpQjtJQUVyQixXQUFXLENBQWU7SUFFakMsWUFBWSxLQUFnQixFQUFFLEtBQXdCLEVBQUUsVUFBdUIsRUFBRSxNQUFtQixNQUFNO1FBRXhHLHlFQUF5RTtRQUV6RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsS0FBd0IsRUFBRSxVQUF1QjtRQUVyRixNQUFNLGFBQWEsR0FBRyx3QkFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSx1Q0FBdUMsRUFDOUYsc0JBQXNCLENBQUMsQ0FBQztRQUUxQixNQUFNLElBQUksR0FBRyxJQUFJLG9DQUFXLENBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFO1lBQ2hFLFVBQVUsRUFBRSwyQkFBMkI7WUFDdkMsVUFBVSxFQUFFLDhDQUFxQixDQUFDLGdCQUFnQixDQUFDO2dCQUNqRCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsYUFBYTthQUN0QyxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBZ0IsRUFBRSxLQUF3QixFQUFFLFVBQXVCLEVBQUUsR0FBZ0I7UUFFMUcsTUFBTSxVQUFVLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFBLHdDQUEwQixFQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFeEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFHeEMsMkJBQTJCO1FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksb0NBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFBLHdDQUEwQixFQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUU7WUFHOUcsVUFBVTtZQUNWLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDakQsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVO2FBQ3pCLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQS9DRCw4Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDZXJ0aWZpY2F0ZSwgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLCBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSwgSUNlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7IEhvc3RlZFpvbmUsIElIb3N0ZWRab25lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgZW52aXJvbm1lbnRTdWZmaXhGb3JEb21haW4gfSBmcm9tIFwiLi4vLi4vaGVscGVycy91dGlsLWhlbHBlclwiO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0Vudmlyb25tZW50c1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDZXJ0aWZpY2F0ZSB7XG5cbiAgcHVibGljIGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSwgZW52OiBFbnZpcm9ubWVudCA9IFwicHJvZFwiKSB7XG5cbiAgICAvLyB0aGlzLmNlcnRpZmljYXRlID0gdGhpcy5nZW5lcmF0ZUNlcnRpZmljYXRlKHNjb3BlLCBwcm9wcywgaG9zdGVkWm9uZSk7XG5cbiAgICB0aGlzLmNlcnRpZmljYXRlID0gdGhpcy5nZW5lcmF0ZUFwaUNlcnRpZmljYXRlKHNjb3BlLCBwcm9wcywgaG9zdGVkWm9uZSwgZW52KTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgfVxuXG4gIGdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSkge1xuXG4gICAgY29uc3QgZGV2SG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVJZChzY29wZSwgYGFwaS5jMS5kZXYuY29udmVyZ2VvbmUuaW8taG9zdGVkLXpvbmVgLFxuICAgICAgJ1owNTA4ODM0UThFNFRXRlZHOTkwJyk7XG5cbiAgICBjb25zdCBjZXJ0ID0gbmV3IENlcnRpZmljYXRlKHNjb3BlLCBgYXBpLWMxLWRldi1hcGktY2VydGlmaWNhdGVgLCB7XG4gICAgICBkb21haW5OYW1lOiBgYzEuYXBpLmRldi5jb252ZXJnZW9uZS5pb2AsXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZSh7XG4gICAgICAgIFtgZGV2LmNvbnZlcmdlb25lLmlvYF06IGRldkhvc3RlZFpvbmVcbiAgICAgIH0pXG4gICAgfSk7XG4gICAgcmV0dXJuIGNlcnQ7XG4gIH1cblxuICBnZW5lcmF0ZUFwaUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUsIGVudjogRW52aXJvbm1lbnQpIHtcblxuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBgJHtwcm9wcy5BUEkuRG9tYWluUHJlZml4fSR7ZW52aXJvbm1lbnRTdWZmaXhGb3JEb21haW4oZW52KX0uJHtwcm9wcy5ETlM/LlpvbmVOYW1lfWA7XG5cbiAgICBjb25zb2xlLmxvZygnZG9tYWluTmFtZTogJywgZG9tYWluTmFtZSk7XG5cblxuICAgIC8vICBhcGkuYzEtLmRldi1jZXJ0aWZpY2F0ZVxuICAgIGNvbnN0IGNlcnQgPSBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGAke3Byb3BzLkFQSS5Eb21haW5QcmVmaXh9LSR7ZW52aXJvbm1lbnRTdWZmaXhGb3JEb21haW4oZW52KX0tY2VydGlmaWNhdGVgLCB7XG5cblxuICAgICAgZG9tYWluTmFtZSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lKHtcbiAgICAgICAgW2RvbWFpbk5hbWVdOiBob3N0ZWRab25lXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNlcnQ7XG4gIH1cbn0iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFDL0gseURBQWtFO0FBT2xFLE1BQWEsaUJBQWlCO0lBRXJCLFdBQVcsQ0FBZTtJQUVqQyxZQUFZLEtBQWdCLEVBQUUsS0FBd0IsRUFBRSxVQUF1QjtRQUU3RSx5RUFBeUU7UUFFekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU3RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBZ0IsRUFBRSxLQUF3QixFQUFFLFVBQXVCO1FBRXJGLE1BQU0sYUFBYSxHQUFHLHdCQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLHVDQUF1QyxFQUM5RixzQkFBc0IsQ0FBQyxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFHLElBQUksb0NBQVcsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7WUFDaEUsVUFBVSxFQUFFLDJCQUEyQjtZQUN2QyxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2pELENBQUMsb0JBQW9CLENBQUMsRUFBRSxhQUFhO2FBQ3RDLENBQUM7U0FDSCxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFnQixFQUFFLEtBQXdCO1FBRS9ELE1BQU0sVUFBVSxHQUFHLHdCQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLHVDQUF1QyxFQUMzRixzQkFBc0IsQ0FBQyxDQUFDO1FBRTFCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7UUFFbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQ0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxjQUFjLEVBQUU7WUFDN0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRTtZQUMzRSxVQUFVLEVBQUUsOENBQXFCLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2pELENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUF1QixDQUFDLEVBQUUsVUFBVTthQUNqRCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE5Q0QsOENBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGUsIENlcnRpZmljYXRlVmFsaWRhdGlvbiwgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUsIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcbmltcG9ydCB7IGVudmlyb25tZW50U3VmZml4Rm9yRG9tYWluIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvdXRpbC1oZWxwZXJcIjtcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9FbnZpcm9ubWVudHNcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ2VydGlmaWNhdGUge1xuXG4gIHB1YmxpYyBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUpIHtcblxuICAgIC8vIHRoaXMuY2VydGlmaWNhdGUgPSB0aGlzLmdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGUsIHByb3BzLCBob3N0ZWRab25lKTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUgPSB0aGlzLmdlbmVyYXRlQXBpQ2VydGlmaWNhdGUoc2NvcGUsIHByb3BzKTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgfVxuXG4gIGdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSkge1xuXG4gICAgY29uc3QgZGV2SG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVJZChzY29wZSwgYGFwaS5jMS5kZXYuY29udmVyZ2VvbmUuaW8taG9zdGVkLXpvbmVgLFxuICAgICAgJ1owNTA4ODM0UThFNFRXRlZHOTkwJyk7XG5cbiAgICBjb25zdCBjZXJ0ID0gbmV3IENlcnRpZmljYXRlKHNjb3BlLCBgYXBpLWMxLWRldi1hcGktY2VydGlmaWNhdGVgLCB7XG4gICAgICBkb21haW5OYW1lOiBgYzEuYXBpLmRldi5jb252ZXJnZW9uZS5pb2AsXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZSh7XG4gICAgICAgIFtgZGV2LmNvbnZlcmdlb25lLmlvYF06IGRldkhvc3RlZFpvbmVcbiAgICAgIH0pXG4gICAgfSk7XG4gICAgcmV0dXJuIGNlcnQ7XG4gIH1cblxuICBnZW5lcmF0ZUFwaUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVJZChzY29wZSwgYGFwaS5jMS5kZXYuY29udmVyZ2VvbmUuaW8taG9zdGVkLXpvbmVgLFxuICAgICAgJ1owNTA4ODM0UThFNFRXRlZHOTkwJyk7XG5cbiAgICBjb25zdCBkb21haW5OYW1lID0gcHJvcHMuRE5TPy5TdWJEb21haW5OYW1lRm9yQXBpO1xuXG4gICAgY29uc29sZS5sb2coJ2RvbWFpbk5hbWU6ICcsIGRvbWFpbk5hbWUpO1xuXG4gICAgY29uc3QgY2VydCA9IG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgYCR7cHJvcHMuRE5TPy5TdWJEb21haW5OYW1lfS1jZXJ0aWZpY2F0ZWAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGAke3Byb3BzLkROUz8uU3ViRG9tYWluTmFtZUZvckFwaX0uJHtwcm9wcy5ETlM/LlN1YkRvbWFpbk5hbWV9YCxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lKHtcbiAgICAgICAgW3Byb3BzLkROUz8uU3ViRG9tYWluTmFtZSBhcyBzdHJpbmddOiBob3N0ZWRab25lXG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNlcnQ7XG4gIH1cbn0iXX0=
@@ -112,4 +112,4 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
112
112
  }
113
113
  }
114
114
  exports.CreateApiAndAttachLambdas = CreateApiAndAttachLambdas;
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUdqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQWtCNUQ7SUFDQTtJQUNBO0lBbEJGLGlCQUFpQixDQUFVO0lBQzNCLGNBQWMsQ0FBcUI7SUFFckMsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDL0IsYUFBYSxHQUFtQyxFQUFFLENBQUM7SUFFM0QsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQ3hCLE1BQWlCLEVBQ1QsVUFBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUI7UUFDekIsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUd6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6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Q0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBRUQscUJBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFqSkQsOERBaUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0Vudmlyb25tZW50c1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcblxuICAgIHByb3RlY3RlZCByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgYXV0aG9yaXplclR5cGU/OiBUc2dBdXRob3JpemVyVHlwZTtcblxuICAgIHByaXZhdGUgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuICAgIHByaXZhdGUgbGFtYmRhUmVjb3JkczogUmVjb3JkPHN0cmluZywgTm9kZWpzRnVuY3Rpb24+ID0ge307XG5cbiAgICBwdWJsaWMgZ2V0IExhbWJkYXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbWJkYXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFSZWNvcmRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFSZWNvcmRzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICAgIGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGdhdGV3YXlBcGk6IElSZXN0QXBpLFxuICAgICAgICBwcml2YXRlIGxheWVycz86IExheWVyVmVyc2lvbltdLFxuICAgICAgICBwcml2YXRlIHRhYmxlcz86IElUYWJsZVtdKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZXJUeXBlID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVI/LnR5cGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgIXRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSBhbiBhdXRob3JpemVyIHR5cGUgaWYgYSBBdXRob3JpemVyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKSE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlMYW1iZGFSZXN1bHRbXSB8IG51bGwge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcblxuICAgICAgICAgICAgaWYgKCFhdXRob3JpemVyKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgTm90IENyZWF0ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdBdXRob3JpemVyIENyZWF0ZWQnLCBhdXRob3JpemVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMpO1xuICAgICAgICB0aGlzLmxhbWJkYXMgPSBsYW1iZGFzLkxhbWJkYXM7XG4gICAgICAgIHRoaXMubGFtYmRhUmVjb3JkcyA9IHRoaXMubGFtYmRhUmVjb3JkcztcblxuICAgICAgICAvLyBHaXZlIEFjY2VzcyB0byBMYW1iZGRzIHRvIEFsbCBEeW5hbW9EYiBUYWJsZXNcbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIFJvdXRlcyBvbiBBUEkgR2F0ZXdheSBmb3IgTGFtYmRhcyBmcm9tIGNvbmZpZ1xuICAgICAgICB0aGlzLkFkZFJvdXRlcyh0aGlzLmNvbmZpZywgdGhpcy5nYXRld2F5QXBpLCBsYW1iZGFzLkxhbWJkYXMsIGF1dGhvcml6ZXIpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogQXBpTGFtYmRhUmVzdWx0ID0ge1xuICAgICAgICAgICAgYXBpOiB0aGlzLmdhdGV3YXlBcGksXG4gICAgICAgICAgICBhdXRob3JpemVyOiBhdXRob3JpemVyXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbcmVzdWx0XTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyEuZm9yRWFjaCgoeCwgaWR4KSA9PiB7XG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgQXV0aG9yaXplcnItJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB4LmF1dGhvcml6ZXI/LmF1dGhvcml6ZXJBcm4hXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBdXRob3JpemVyKCkge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5UT0tFTl9BVVRIT1JJWkVSKSB7XG5cbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgVHNnSnd0VG9rZW5BdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcpLkp3dEF1dGhvcml6ZXI7XG5cbiAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFRva2VuQXV0aG9yaXplcik/Ll9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgVG9rZW5BdXRob3JpemVyKT8uYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5SRVFVRVNUX0FVVEhPUklaRVIpIHtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dSZXF1ZXN0QXV0aG9yaXplcih0aGlzLnNjb3BlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycywgdGhpcy50YWJsZXMpLlRzZ1JlcXVlc3RBdXRob3JpemVyIGFzIFJlcXVlc3RBdXRob3JpemVyO1xuXG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcikuX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcikuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogSVRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMoY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyIHwgUmVxdWVzdEF1dGhvcml6ZXIpIHtcblxuXG4gICAgICAgIGNvbmZpZy5SRVNPVVJDRVMuTEFNQkRBPy5mb3JFYWNoKChwcm9wOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKHByb3AsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFJZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBsYW1iZGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYU5vZGUgPSBsYW1iZGFzLmZpbmQoeCA9PiB4Lm5vZGUuaWQgPT09IGxhbWJkYUlkKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFOb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZmluZCB0aGUgTGFtYmRhIEludGVncmF0aW9uXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSb3V0ZXMuY3JlYXRlUmVzb3VyY2UocHJvcCwgZ2F0ZXdheSwgbGFtYmRhTm9kZSwgYXV0aG9yaXplcik7XG4gICAgICAgIH0pO1xuICAgIH1cbn0iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQWtCNUQ7SUFDQTtJQUNBO0lBbEJGLGlCQUFpQixDQUFVO0lBQzNCLGNBQWMsQ0FBcUI7SUFFckMsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDL0IsYUFBYSxHQUFtQyxFQUFFLENBQUM7SUFFM0QsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQ3hCLE1BQWlCLEVBQ1QsVUFBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUI7UUFDekIsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQVU7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUd6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7UUFDakUsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BGLE1BQU0sSUFBSSxLQUFLLENBQUMsaUVBQWlFLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxJQUFJLFVBQVUsR0FBMkQsU0FBUyxDQUFDO1FBRW5GLG9CQUFvQjtRQUNwQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUVyQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2QseUNBQXlDO1lBQzdDLENBQUM7aUJBQ0ksQ0FBQztnQkFDRixpREFBaUQ7WUFDckQsQ0FBQztRQUNMLENBQUM7UUFFRCxpQkFBaUI7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRXhDLGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUUsTUFBTSxNQUFNLEdBQW9CO1lBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNwQixVQUFVLEVBQUUsVUFBVTtTQUN6QixDQUFDO1FBQ0YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxZQUFZLENBQUksS0FBZ0IsRUFBRSxhQUFrQjtRQUUxRCxJQUFJLENBQUMsZ0JBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3RDLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRTtnQkFDdkMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsYUFBYzthQUN0QyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxnQkFBZ0I7UUFFcEIsSUFBSSxVQUFVLEdBQW9ELFNBQVMsQ0FBQztRQUU1RSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLHFDQUFpQixDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFFdkYsVUFBVSxHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUU5QixVQUE4QixFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUQsVUFBOEIsRUFBRSxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTNFLE9BQU8sVUFBVSxDQUFDO1FBRXRCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLHFDQUFpQixDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFaEcsVUFBVSxHQUFHLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxvQkFBeUMsQ0FBQztZQUVwRixVQUFnQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsVUFBZ0MsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTVFLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7UUFHRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBZ0IsRUFBRSxPQUF5QjtRQUVwRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtnQkFFdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO29CQUU3QixLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXJDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUFpQixFQUMvQixPQUFpQixFQUNqQixPQUF5QixFQUN6QixVQUFnRDtRQUdoRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFtQixFQUFFLEVBQUU7WUFFckQsTUFBTSxRQUFRLEdBQUcsMkJBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVoRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBRUQscUJBQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFqSkQsOERBaUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcblxuICAgIHByb3RlY3RlZCByZXF1aXJlQXV0aG9yaXplcjogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgYXV0aG9yaXplclR5cGU/OiBUc2dBdXRob3JpemVyVHlwZTtcblxuICAgIHByaXZhdGUgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSA9IFtdO1xuICAgIHByaXZhdGUgbGFtYmRhUmVjb3JkczogUmVjb3JkPHN0cmluZywgTm9kZWpzRnVuY3Rpb24+ID0ge307XG5cbiAgICBwdWJsaWMgZ2V0IExhbWJkYXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbWJkYXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBMYW1iZGFSZWNvcmRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW1iZGFSZWNvcmRzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgICAgIGNvbmZpZzogQXBwQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGdhdGV3YXlBcGk6IElSZXN0QXBpLFxuICAgICAgICBwcml2YXRlIGxheWVycz86IExheWVyVmVyc2lvbltdLFxuICAgICAgICBwcml2YXRlIHRhYmxlcz86IElUYWJsZVtdKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZXJUeXBlID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVI/LnR5cGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgIXRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSBhbiBhdXRob3JpemVyIHR5cGUgaWYgYSBBdXRob3JpemVyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKSE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlMYW1iZGFSZXN1bHRbXSB8IG51bGwge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcblxuICAgICAgICAgICAgaWYgKCFhdXRob3JpemVyKSB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgTm90IENyZWF0ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdBdXRob3JpemVyIENyZWF0ZWQnLCBhdXRob3JpemVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMpO1xuICAgICAgICB0aGlzLmxhbWJkYXMgPSBsYW1iZGFzLkxhbWJkYXM7XG4gICAgICAgIHRoaXMubGFtYmRhUmVjb3JkcyA9IHRoaXMubGFtYmRhUmVjb3JkcztcblxuICAgICAgICAvLyBHaXZlIEFjY2VzcyB0byBMYW1iZGRzIHRvIEFsbCBEeW5hbW9EYiBUYWJsZXNcbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIFJvdXRlcyBvbiBBUEkgR2F0ZXdheSBmb3IgTGFtYmRhcyBmcm9tIGNvbmZpZ1xuICAgICAgICB0aGlzLkFkZFJvdXRlcyh0aGlzLmNvbmZpZywgdGhpcy5nYXRld2F5QXBpLCBsYW1iZGFzLkxhbWJkYXMsIGF1dGhvcml6ZXIpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogQXBpTGFtYmRhUmVzdWx0ID0ge1xuICAgICAgICAgICAgYXBpOiB0aGlzLmdhdGV3YXlBcGksXG4gICAgICAgICAgICBhdXRob3JpemVyOiBhdXRob3JpemVyXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbcmVzdWx0XTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyEuZm9yRWFjaCgoeCwgaWR4KSA9PiB7XG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgQXV0aG9yaXplcnItJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB4LmF1dGhvcml6ZXI/LmF1dGhvcml6ZXJBcm4hXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBdXRob3JpemVyKCkge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5UT0tFTl9BVVRIT1JJWkVSKSB7XG5cbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgVHNnSnd0VG9rZW5BdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcpLkp3dEF1dGhvcml6ZXI7XG5cbiAgICAgICAgICAgIChhdXRob3JpemVyIGFzIFRva2VuQXV0aG9yaXplcik/Ll9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgKGF1dGhvcml6ZXIgYXMgVG9rZW5BdXRob3JpemVyKT8uYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5SRVFVRVNUX0FVVEhPUklaRVIpIHtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dSZXF1ZXN0QXV0aG9yaXplcih0aGlzLnNjb3BlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycywgdGhpcy50YWJsZXMpLlRzZ1JlcXVlc3RBdXRob3JpemVyIGFzIFJlcXVlc3RBdXRob3JpemVyO1xuXG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcikuX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICAoYXV0aG9yaXplciBhcyBSZXF1ZXN0QXV0aG9yaXplcikuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogSVRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMoY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyIHwgUmVxdWVzdEF1dGhvcml6ZXIpIHtcblxuXG4gICAgICAgIGNvbmZpZy5SRVNPVVJDRVMuTEFNQkRBPy5mb3JFYWNoKChwcm9wOiBUc2dMYW1iZGFQcm9wKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYUlkID0gQ3JlYXRlTGFtYmRhLmdldElkRm9yTGFtYmRhKHByb3AsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFJZCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBsYW1iZGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhbWJkYU5vZGUgPSBsYW1iZGFzLmZpbmQoeCA9PiB4Lm5vZGUuaWQgPT09IGxhbWJkYUlkKTtcblxuICAgICAgICAgICAgaWYgKCFsYW1iZGFOb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZmluZCB0aGUgTGFtYmRhIEludGVncmF0aW9uXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSb3V0ZXMuY3JlYXRlUmVzb3VyY2UocHJvcCwgZ2F0ZXdheSwgbGFtYmRhTm9kZSwgYXV0aG9yaXplcik7XG4gICAgICAgIH0pO1xuICAgIH1cbn0iXX0=
@@ -2,12 +2,10 @@ import { IRestApi, RestApi } from "aws-cdk-lib/aws-apigateway";
2
2
  import { Construct } from "constructs";
3
3
  import { AppConfig } from "../../config/AppConfig";
4
4
  import { BaseResource } from "../base/baseResource";
5
- import { Environment } from "../../config/Environments";
6
5
  export declare class Api extends BaseResource<IRestApi> {
7
- private env;
8
6
  private corsOptions;
9
7
  get APIs(): IRestApi[];
10
- constructor(scope: Construct, config: AppConfig, env?: Environment);
8
+ constructor(scope: Construct, config: AppConfig);
11
9
  private createApi;
12
10
  private createApiProps;
13
11
  private createDefaultCorsOptions;
@@ -8,16 +8,13 @@ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
8
8
  const baseResource_1 = require("../base/baseResource");
9
9
  const createCertificate_1 = require("../certificate/createCertificate");
10
10
  const createApiKey_1 = require("./createApiKey");
11
- const util_helper_1 = require("../../helpers/util-helper");
12
11
  class Api extends baseResource_1.BaseResource {
13
- env;
14
12
  corsOptions;
15
13
  get APIs() {
16
14
  return this.createdResources;
17
15
  }
18
- constructor(scope, config, env = "prod") {
16
+ constructor(scope, config) {
19
17
  super(scope, config);
20
- this.env = env;
21
18
  this.corsOptions = this.createDefaultCorsOptions();
22
19
  this.createdResources = this.createResource(scope);
23
20
  }
@@ -25,25 +22,25 @@ class Api extends baseResource_1.BaseResource {
25
22
  if (this.config.DNS) {
26
23
  console.log('### DNS is true ###');
27
24
  const zone = this.getZone(this.scope, this.config);
28
- const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api${(0, util_helper_1.environmentSuffix)(this.env)}`, this.createApiProps(this.env, zone));
25
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
29
26
  this.createARecord(scope, zone, api);
30
27
  this.createApiKey(this.config, api);
31
28
  return api;
32
29
  }
33
30
  else {
34
- const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api${(0, util_helper_1.environmentSuffix)(this.env)}`, this.createApiProps(this.env));
31
+ const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api-without-DNS`, this.createApiProps());
35
32
  this.createApiKey(this.config, api);
36
33
  return api;
37
34
  }
38
35
  }
39
- createApiProps(env, zone) {
36
+ createApiProps(zone) {
40
37
  if (this.config.DNS) {
41
38
  const cert = this.createCertificate(this.scope, zone, this.config);
42
39
  const props = {
43
40
  restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
44
41
  description: this.config.API.Description,
45
42
  domainName: {
46
- domainName: `${this.config.API.DomainPrefix}.${env}.${this.config.DNS.ZoneName}`,
43
+ domainName: `${this.config.DNS.SubDomainNameForApi}.${this.config.DNS.SubDomainName}`,
47
44
  certificate: cert.certificate,
48
45
  endpointType: aws_apigateway_1.EndpointType.EDGE,
49
46
  securityPolicy: aws_apigateway_1.SecurityPolicy.TLS_1_2
@@ -109,7 +106,7 @@ class Api extends baseResource_1.BaseResource {
109
106
  });
110
107
  }
111
108
  createCertificate(scope, zone, config) {
112
- const cert = new createCertificate_1.CreateCertificate(scope, config, zone, this.env);
109
+ const cert = new createCertificate_1.CreateCertificate(scope, config, zone);
113
110
  cert.certificate.applyRemovalPolicy(aws_cdk_lib_1.RemovalPolicy.DESTROY);
114
111
  return cert;
115
112
  }
@@ -139,4 +136,4 @@ class Api extends baseResource_1.BaseResource {
139
136
  }
140
137
  }
141
138
  exports.Api = Api;
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUNyRSxpREFBMkM7QUFFM0MsMkRBQThEO0FBRTlELE1BQWEsR0FBSSxTQUFRLDJCQUFzQjtJQVNjO0lBUGpELFdBQVcsQ0FBYztJQUdqQyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCLEVBQVUsTUFBbUIsTUFBTTtRQUM5RSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRGdDLFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBRzlFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsWUFBWSxJQUFBLCtCQUFpQixFQUFDLElBQUksQ0FBQyxH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QU8sQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBZ0IsRUFBRSxJQUFpQixFQUFFLEdBQVk7UUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUU7WUFDNUMsSUFBSTtZQUNKLE1BQU0sRUFBRSwwQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGdDQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVk7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLDRDQUE0QztRQUM1Qyw4REFBOEQ7UUFFOUQsMkVBQTJFO1FBSTNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUUvQixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUU7Z0JBQzlCLGFBQWE7Z0JBQ2IsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHO2FBQ2pCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKO0FBektELGtCQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSwgVGFnIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBCYXNlUGF0aE1hcHBpbmcsIENvcnMsIENvcnNPcHRpb25zLCBEb21haW5OYW1lLCBFbmRwb2ludFR5cGUsIElEb21haW5OYW1lLCBJUmVzdEFwaSwgTWV0aG9kT3B0aW9ucywgUmVzdEFwaSwgUmVzdEFwaVByb3BzLCBTZWN1cml0eVBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgQVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQXBpR2F0ZXdheSwgQXBpR2F0ZXdheURvbWFpbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcblxuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5pbXBvcnQgeyBDcmVhdGVDZXJ0aWZpY2F0ZSB9IGZyb20gXCIuLi9jZXJ0aWZpY2F0ZS9jcmVhdGVDZXJ0aWZpY2F0ZVwiO1xuaW1wb3J0IHsgVHNnQXBpS2V5IH0gZnJvbSBcIi4vY3JlYXRlQXBpS2V5XCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi8uLi9jb25maWcvRW52aXJvbm1lbnRzXCI7XG5pbXBvcnQgeyBlbnZpcm9ubWVudFN1ZmZpeCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL3V0aWwtaGVscGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8SVJlc3RBcGk+IHtcblxuICAgIHByaXZhdGUgY29yc09wdGlvbnM6IENvcnNPcHRpb25zO1xuXG5cbiAgICBnZXQgQVBJcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IEFwcENvbmZpZywgcHJpdmF0ZSBlbnY6IEVudmlyb25tZW50ID0gXCJwcm9kXCIpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5jb3JzT3B0aW9ucyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvcnNPcHRpb25zKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2VzID0gdGhpcy5jcmVhdGVSZXNvdXJjZShzY29wZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBcGkoc2NvcGU6IENvbnN0cnVjdCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuRE5TKSB7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcjIyMgRE5TIGlzIHRydWUgIyMjJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHpvbmUgPSB0aGlzLmdldFpvbmUodGhpcy5zY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBhcGkgPSBuZXcgUmVzdEFwaSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LXJlc3QtYXBpJHtlbnZpcm9ubWVudFN1ZmZpeCh0aGlzLmVudil9YCwgdGhpcy5jcmVhdGVBcGlQcm9wcyh0aGlzLmVudiwgem9uZSkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFSZWNvcmQoc2NvcGUsIHpvbmUsIGFwaSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXBpS2V5KHRoaXMuY29uZmlnLCBhcGkpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBpO1xuXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGkke2Vudmlyb25tZW50U3VmZml4KHRoaXMuZW52KX1gLCB0aGlzLmNyZWF0ZUFwaVByb3BzKHRoaXMuZW52KSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXBpS2V5KHRoaXMuY29uZmlnLCBhcGkpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBcGlQcm9wcyhlbnY6IEVudmlyb25tZW50LCB6b25lPzogSUhvc3RlZFpvbmUsKTogUmVzdEFwaVByb3BzIHtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcuRE5TKSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGNlcnQgPSB0aGlzLmNyZWF0ZUNlcnRpZmljYXRlKHRoaXMuc2NvcGUsIHpvbmUhLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BzOiBSZXN0QXBpUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgcmVzdEFwaU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt0aGlzLmNvbmZpZy5BUEkuTmFtZX1gLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmNvbmZpZy5BUEkuRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgZG9tYWluTmFtZToge1xuICAgICAgICAgICAgICAgICAgICBkb21haW5OYW1lOiBgJHt0aGlzLmNvbmZpZy5BUEkuRG9tYWluUHJlZml4fS4ke2Vudn0uJHt0aGlzLmNvbmZpZy5ETlMuWm9uZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IGNlcnQuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICAgICAgICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlLkVER0UsXG4gICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiAgQUREIENVU1RPTSBET01BSU4gSEVSRVxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGRvbWFpbiwgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZG9tYWluTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKSB7XG5cbiAgICAgICAgY29uc3QgY29yc09wdGlvbnM6IENvcnNPcHRpb25zID0ge1xuICAgICAgICAgICAgYWxsb3dIZWFkZXJzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGFsbG93TWV0aG9kczogQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgICAgIGFsbG93Q3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICBhbGxvd09yaWdpbnM6IENvcnMuQUxMX09SSUdJTlMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvcnNPcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWlyZXNBcGlLZXkoY29uZmlnOiBBcHBDb25maWcpIHtcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIGFueSBvZiB0aGUgbGFtYmRhcyByZXF1aXJlIGFuIEFQSSBLZXlcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5SRVNPVVJDRVMuTEFNQkRBLnNvbWUoKGxhbWJkYSkgPT4gbGFtYmRhLmFwaUdhdGV3YXk/LnJlcXVpcmVBcGlLZXkgPT09IHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpS2V5KGNvbmZpZzogQXBwQ29uZmlnLCBhcGk6IFJlc3RBcGkpIHtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlc0FwaUtleSh0aGlzLmNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IGFwaUtleSA9IG5ldyBUc2dBcGlLZXkodGhpcy5zY29wZSwgdGhpcy5jb25maWcsIGFwaSlcbiAgICAgICAgICAgIHJldHVybiBhcGlLZXk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIHByaXZhdGUgY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAvLyAgICAgY29uc3QgZG9tYWluTmFtZSA9IERvbWFpbk5hbWUuZnJvbURvbWFpbk5hbWVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWN1c3RvbS1kb21haW5gLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogY29uZmlnLkROUy5ab25lSWQhLFxuICAgIC8vICAgICAgICAgZG9tYWluTmFtZUFsaWFzVGFyZ2V0OiBjb25maWcuQVBJLkRvbWFpblByZWZpeCEsXG4gICAgLy8gICAgIH0pO1xuXG4gICAgLy8gICAgIHJldHVybiBkb21haW5OYW1lXG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSBhdHRhY2hEb21haW5Ub0FwaShzY29wZTogQ29uc3RydWN0LCBhcGk6IElSZXN0QXBpLCBkb21haW46IElEb21haW5OYW1lLCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgQmFzZVBhdGhNYXBwaW5nKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWJhc2VQYXRoTWFwcGluZ2AsIHtcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbixcbiAgICAvLyAgICAgICAgIHJlc3RBcGk6IGFwaSxcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBnZXRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuRE5TPy5ab25lTmFtZX0tem9uZWAsIHtcbiAgICAgICAgICAgIHpvbmVOYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSEsXG4gICAgICAgICAgICBob3N0ZWRab25lSWQ6IGNvbmZpZy5ETlM/LlpvbmVJZCFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENyZWF0ZUNlcnRpZmljYXRlKHNjb3BlLCBjb25maWcsIHpvbmUsIHRoaXMuZW52KTtcblxuICAgICAgICBjZXJ0LmNlcnRpZmljYXRlLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICByZXR1cm4gY2VydDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGFwaTogUmVzdEFwaSkge1xuICAgICAgICBjb25zdCBhUmVjb3JkID0gbmV3IEFSZWNvcmQoc2NvcGUsIFwiQXBpUmVjb3JkXCIsIHtcbiAgICAgICAgICAgIHpvbmUsXG4gICAgICAgICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IEFwaUdhdGV3YXkoYXBpKSksXG4gICAgICAgICAgICByZWNvcmROYW1lOiB0aGlzLmNvbmZpZy5BUEkuRG9tYWluUHJlZml4XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFSZWNvcmQuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIHJldHVybiBhUmVjb3JkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KSB7XG5cbiAgICAgICAgY29uc3QgYXBpID0gdGhpcy5jcmVhdGVBcGkoc2NvcGUpO1xuICAgICAgICAvLyBUT0RPOiAgT05MWSBJRiBDVVNUT00gTUFQUElORyBJUyBSRVFVSVJFRFxuICAgICAgICAvLyBjb25zdCBkb21haW4gPSB0aGlzLmNyZWF0ZUN1c3RvbURvbWFpbihzY29wZSwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgIC8vIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmF0dGFjaERvbWFpblRvQXBpKHNjb3BlLCBhcGksIGRvbWFpbiwgdGhpcy5jb25maWcpO1xuXG5cblxuICAgICAgICByZXR1cm4gW2FwaV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0LCBjcmVhdGVkQXNzZXRzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgY3JlYXRlZEFzc2V0cy5mb3JFYWNoKChhcGksIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgYXBpJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB2YWx1ZTogYXBpLnVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufSJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUNyRSxpREFBMkM7QUFJM0MsTUFBYSxHQUFJLFNBQVEsMkJBQXNCO0lBRW5DLFdBQVcsQ0FBYztJQUdqQyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWdCO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVsQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLHdCQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXBHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFB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WUFDbkQsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVk7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLDRDQUE0QztRQUM1Qyw4REFBOEQ7UUFFOUQsMkVBQTJFO1FBSTNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUUvQixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUU7Z0JBQzlCLGFBQWE7Z0JBQ2IsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHO2FBQ2pCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKO0FBektELGtCQXlLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSwgVGFnIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBCYXNlUGF0aE1hcHBpbmcsIENvcnMsIENvcnNPcHRpb25zLCBEb21haW5OYW1lLCBFbmRwb2ludFR5cGUsIElEb21haW5OYW1lLCBJUmVzdEFwaSwgTWV0aG9kT3B0aW9ucywgUmVzdEFwaSwgUmVzdEFwaVByb3BzLCBTZWN1cml0eVBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgQVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQXBpR2F0ZXdheSwgQXBpR2F0ZXdheURvbWFpbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcblxuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5pbXBvcnQgeyBDcmVhdGVDZXJ0aWZpY2F0ZSB9IGZyb20gXCIuLi9jZXJ0aWZpY2F0ZS9jcmVhdGVDZXJ0aWZpY2F0ZVwiO1xuaW1wb3J0IHsgVHNnQXBpS2V5IH0gZnJvbSBcIi4vY3JlYXRlQXBpS2V5XCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi8uLi9jb25maWcvRW52aXJvbm1lbnRzXCI7XG5pbXBvcnQgeyBlbnZpcm9ubWVudFN1ZmZpeCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL3V0aWwtaGVscGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8SVJlc3RBcGk+IHtcblxuICAgIHByaXZhdGUgY29yc09wdGlvbnM6IENvcnNPcHRpb25zO1xuXG5cbiAgICBnZXQgQVBJcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNvcnNPcHRpb25zID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaShzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5ETlMpIHtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coJyMjIyBETlMgaXMgdHJ1ZSAjIyMnKTtcblxuICAgICAgICAgICAgY29uc3Qgem9uZSA9IHRoaXMuZ2V0Wm9uZSh0aGlzLnNjb3BlLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGlgLCB0aGlzLmNyZWF0ZUFwaVByb3BzKHpvbmUpKTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBUmVjb3JkKHNjb3BlLCB6b25lLCBhcGkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFwaUtleSh0aGlzLmNvbmZpZywgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcblxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICBjb25zdCBhcGkgPSBuZXcgUmVzdEFwaSh0aGlzLnNjb3BlLCBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LXJlc3QtYXBpLXdpdGhvdXQtRE5TYCwgdGhpcy5jcmVhdGVBcGlQcm9wcygpKTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBcGlLZXkodGhpcy5jb25maWcsIGFwaSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhcGk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFwaVByb3BzKHpvbmU/OiBJSG9zdGVkWm9uZSk6IFJlc3RBcGlQcm9wcyB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuXG4gICAgICAgICAgICBjb25zdCBjZXJ0ID0gdGhpcy5jcmVhdGVDZXJ0aWZpY2F0ZSh0aGlzLnNjb3BlLCB6b25lISwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7dGhpcy5jb25maWcuRE5TLlN1YkRvbWFpbk5hbWVGb3JBcGl9LiR7dGhpcy5jb25maWcuRE5TLlN1YkRvbWFpbk5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6IGNlcnQuY2VydGlmaWNhdGUsXG4gICAgICAgICAgICAgICAgICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlLkVER0UsXG4gICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiAgQUREIENVU1RPTSBET01BSU4gSEVSRVxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGRvbWFpbiwgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyAgIH0sXG4gICAgICAgICAgICAgICAgLy8gZG9tYWluTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wczogUmVzdEFwaVByb3BzID0ge1xuICAgICAgICAgICAgICAgIHJlc3RBcGlOYW1lOiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGhpcy5jb25maWcuQVBJLk5hbWV9YCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuQVBJLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZWZhdWx0Q29yc09wdGlvbnMoKSB7XG5cbiAgICAgICAgY29uc3QgY29yc09wdGlvbnM6IENvcnNPcHRpb25zID0ge1xuICAgICAgICAgICAgYWxsb3dIZWFkZXJzOiBbXG4gICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGFsbG93TWV0aG9kczogQ29ycy5BTExfTUVUSE9EUyxcbiAgICAgICAgICAgIGFsbG93Q3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICBhbGxvd09yaWdpbnM6IENvcnMuQUxMX09SSUdJTlMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvcnNPcHRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWlyZXNBcGlLZXkoY29uZmlnOiBBcHBDb25maWcpIHtcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIGFueSBvZiB0aGUgbGFtYmRhcyByZXF1aXJlIGFuIEFQSSBLZXlcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5SRVNPVVJDRVMuTEFNQkRBLnNvbWUoKGxhbWJkYSkgPT4gbGFtYmRhLmFwaUdhdGV3YXk/LnJlcXVpcmVBcGlLZXkgPT09IHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpS2V5KGNvbmZpZzogQXBwQ29uZmlnLCBhcGk6IFJlc3RBcGkpIHtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlc0FwaUtleSh0aGlzLmNvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbnN0IGFwaUtleSA9IG5ldyBUc2dBcGlLZXkodGhpcy5zY29wZSwgdGhpcy5jb25maWcsIGFwaSlcbiAgICAgICAgICAgIHJldHVybiBhcGlLZXk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIHByaXZhdGUgY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAvLyAgICAgY29uc3QgZG9tYWluTmFtZSA9IERvbWFpbk5hbWUuZnJvbURvbWFpbk5hbWVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWN1c3RvbS1kb21haW5gLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc0hvc3RlZFpvbmVJZDogY29uZmlnLkROUy5ab25lSWQhLFxuICAgIC8vICAgICAgICAgZG9tYWluTmFtZUFsaWFzVGFyZ2V0OiBjb25maWcuQVBJLkRvbWFpblByZWZpeCEsXG4gICAgLy8gICAgIH0pO1xuXG4gICAgLy8gICAgIHJldHVybiBkb21haW5OYW1lXG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSBhdHRhY2hEb21haW5Ub0FwaShzY29wZTogQ29uc3RydWN0LCBhcGk6IElSZXN0QXBpLCBkb21haW46IElEb21haW5OYW1lLCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgQmFzZVBhdGhNYXBwaW5nKHNjb3BlLCBgJHtjb25maWcuQVBJLk5hbWV9LWJhc2VQYXRoTWFwcGluZ2AsIHtcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbixcbiAgICAvLyAgICAgICAgIHJlc3RBcGk6IGFwaSxcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuXG4gICAgcHJpdmF0ZSBnZXRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHNjb3BlLCBgJHtjb25maWcuRE5TPy5ab25lTmFtZX0tem9uZWAsIHtcbiAgICAgICAgICAgIHpvbmVOYW1lOiBjb25maWcuRE5TPy5ab25lTmFtZSEsXG4gICAgICAgICAgICBob3N0ZWRab25lSWQ6IGNvbmZpZy5ETlM/LlpvbmVJZCFcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjZXJ0ID0gbmV3IENyZWF0ZUNlcnRpZmljYXRlKHNjb3BlLCBjb25maWcsIHpvbmUpO1xuXG4gICAgICAgIGNlcnQuY2VydGlmaWNhdGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIHJldHVybiBjZXJ0O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB6b25lOiBJSG9zdGVkWm9uZSwgYXBpOiBSZXN0QXBpKSB7XG4gICAgICAgIGNvbnN0IGFSZWNvcmQgPSBuZXcgQVJlY29yZChzY29wZSwgXCJBcGlSZWNvcmRcIiwge1xuICAgICAgICAgICAgem9uZSxcbiAgICAgICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgQXBpR2F0ZXdheShhcGkpKSxcbiAgICAgICAgICAgIHJlY29yZE5hbWU6IHRoaXMuY29uZmlnLkFQSS5Eb21haW5QcmVmaXhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYVJlY29yZC5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgcmV0dXJuIGFSZWNvcmQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBjb25zdCBhcGkgPSB0aGlzLmNyZWF0ZUFwaShzY29wZSk7XG4gICAgICAgIC8vIFRPRE86ICBPTkxZIElGIENVU1RPTSBNQVBQSU5HIElTIFJFUVVJUkVEXG4gICAgICAgIC8vIGNvbnN0IGRvbWFpbiA9IHRoaXMuY3JlYXRlQ3VzdG9tRG9tYWluKHNjb3BlLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gY29uc3QgbWFwcGluZyA9IHRoaXMuYXR0YWNoRG9tYWluVG9BcGkoc2NvcGUsIGFwaSwgZG9tYWluLCB0aGlzLmNvbmZpZyk7XG5cblxuXG4gICAgICAgIHJldHVybiBbYXBpXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKGFwaSwgaWR4KSA9PiB7XG5cbiAgICAgICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBhcGkke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHZhbHVlOiBhcGkudXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.113",
3
+ "version": "1.0.115",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -6,4 +6,6 @@ export interface TsgDnsAppConfig {
6
6
  FQDN: string;
7
7
  ZoneExist: boolean;
8
8
  ZoneId?: string;
9
+ SubDomainName?: string;
10
+ SubDomainNameForApi?: string;
9
11
  }
@@ -52,7 +52,7 @@ export class MicroService extends Construct {
52
52
  }
53
53
 
54
54
  constructor(scope: Construct, id: string, props: MicroserviceProps,
55
- env: Environment = "prod") {
55
+ private debug: boolean = false) {
56
56
  super(scope, id);
57
57
 
58
58
  this.appConfig = new AppConfig(props);
@@ -66,7 +66,7 @@ export class MicroService extends Construct {
66
66
  this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
67
67
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
68
68
 
69
- const results = this.onInit(scope, env);
69
+ const results = this.onInit(scope);
70
70
 
71
71
  this.api = results.restApi!;
72
72
  this.dynamoTables = results.dynamoTables!;
@@ -78,7 +78,7 @@ export class MicroService extends Construct {
78
78
  this.createTag(scope)
79
79
  }
80
80
 
81
- private onInit(scope: Construct, env: Environment) {
81
+ private onInit(scope: Construct) {
82
82
 
83
83
  let secretManager: ISecret | null = null;
84
84
  let tables: Table[] | undefined = undefined;
@@ -94,7 +94,7 @@ export class MicroService extends Construct {
94
94
  commonLayers = createCommonLayer(scope, this.appConfig);
95
95
  }
96
96
 
97
- const gateway = new Api(scope, this.appConfig, env).APIs;
97
+ const gateway = new Api(scope, this.appConfig).APIs;
98
98
 
99
99
  const layers = commonLayers;
100
100
 
@@ -12,4 +12,9 @@ export const environmentSuffix = (env: Environment = "prod") => {
12
12
 
13
13
  export const environmentSuffixForDomain = (env: Environment = "prod") => {
14
14
  return env === 'prod' ? '.' : env === 'qa' ? '.qa' : '.dev';
15
- }
15
+ }
16
+
17
+ export const clog = (message: string) => {
18
+
19
+
20
+ };
@@ -11,11 +11,11 @@ export class CreateCertificate {
11
11
 
12
12
  public certificate: ICertificate;
13
13
 
14
- constructor(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone, env: Environment = "prod") {
14
+ constructor(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone) {
15
15
 
16
16
  // this.certificate = this.generateCertificate(scope, props, hostedZone);
17
17
 
18
- this.certificate = this.generateApiCertificate(scope, props, hostedZone, env);
18
+ this.certificate = this.generateApiCertificate(scope, props);
19
19
 
20
20
  this.certificate.applyRemovalPolicy(RemovalPolicy.DESTROY);
21
21
 
@@ -35,20 +35,19 @@ export class CreateCertificate {
35
35
  return cert;
36
36
  }
37
37
 
38
- generateApiCertificate(scope: Construct, props: MicroserviceProps, hostedZone: IHostedZone, env: Environment) {
39
-
40
- const domainName = `${props.API.DomainPrefix}${environmentSuffixForDomain(env)}.${props.DNS?.ZoneName}`;
41
-
42
- console.log('domainName: ', domainName);
38
+ generateApiCertificate(scope: Construct, props: MicroserviceProps) {
43
39
 
40
+ const hostedZone = HostedZone.fromHostedZoneId(scope, `api.c1.dev.convergeone.io-hosted-zone`,
41
+ 'Z0508834Q8E4TWFVG990');
44
42
 
45
- // api.c1-.dev-certificate
46
- const cert = new Certificate(scope, `${props.API.DomainPrefix}-${environmentSuffixForDomain(env)}-certificate`, {
43
+ const domainName = props.DNS?.SubDomainNameForApi;
47
44
 
45
+ console.log('domainName: ', domainName);
48
46
 
49
- domainName,
47
+ const cert = new Certificate(scope, `${props.DNS?.SubDomainName}-certificate`, {
48
+ domainName: `${props.DNS?.SubDomainNameForApi}.${props.DNS?.SubDomainName}`,
50
49
  validation: CertificateValidation.fromDnsMultiZone({
51
- [domainName]: hostedZone
50
+ [props.DNS?.SubDomainName as string]: hostedZone
52
51
  })
53
52
  });
54
53
 
@@ -13,7 +13,6 @@ import { LayerVersion } from "aws-cdk-lib/aws-lambda";
13
13
  import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
14
14
  import { TsgLambdaProp } from "../../config/types";
15
15
  import { Routes } from "../helpers/createRoutes";
16
- import { Environment } from "../../config/Environments";
17
16
 
18
17
  export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
19
18
 
@@ -21,7 +21,7 @@ export class Api extends BaseResource<IRestApi> {
21
21
  return this.createdResources;
22
22
  }
23
23
 
24
- constructor(scope: Construct, config: AppConfig, private env: Environment = "prod") {
24
+ constructor(scope: Construct, config: AppConfig) {
25
25
  super(scope, config);
26
26
 
27
27
  this.corsOptions = this.createDefaultCorsOptions();
@@ -36,7 +36,7 @@ export class Api extends BaseResource<IRestApi> {
36
36
 
37
37
  const zone = this.getZone(this.scope, this.config);
38
38
 
39
- const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api${environmentSuffix(this.env)}`, this.createApiProps(this.env, zone));
39
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
40
40
 
41
41
  this.createARecord(scope, zone, api);
42
42
 
@@ -46,7 +46,7 @@ export class Api extends BaseResource<IRestApi> {
46
46
 
47
47
  } else {
48
48
 
49
- const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api${environmentSuffix(this.env)}`, this.createApiProps(this.env));
49
+ const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api-without-DNS`, this.createApiProps());
50
50
 
51
51
  this.createApiKey(this.config, api);
52
52
 
@@ -54,7 +54,7 @@ export class Api extends BaseResource<IRestApi> {
54
54
  }
55
55
  }
56
56
 
57
- private createApiProps(env: Environment, zone?: IHostedZone,): RestApiProps {
57
+ private createApiProps(zone?: IHostedZone): RestApiProps {
58
58
 
59
59
  if (this.config.DNS) {
60
60
 
@@ -64,7 +64,7 @@ export class Api extends BaseResource<IRestApi> {
64
64
  restApiName: `${this.config.AppPrefix}-${this.config.API.Name}`,
65
65
  description: this.config.API.Description,
66
66
  domainName: {
67
- domainName: `${this.config.API.DomainPrefix}.${env}.${this.config.DNS.ZoneName}`,
67
+ domainName: `${this.config.DNS.SubDomainNameForApi}.${this.config.DNS.SubDomainName}`,
68
68
  certificate: cert.certificate,
69
69
  endpointType: EndpointType.EDGE,
70
70
  securityPolicy: SecurityPolicy.TLS_1_2
@@ -141,7 +141,7 @@ export class Api extends BaseResource<IRestApi> {
141
141
  }
142
142
 
143
143
  private createCertificate(scope: Construct, zone: IHostedZone, config: MicroserviceProps) {
144
- const cert = new CreateCertificate(scope, config, zone, this.env);
144
+ const cert = new CreateCertificate(scope, config, zone);
145
145
 
146
146
  cert.certificate.applyRemovalPolicy(RemovalPolicy.DESTROY);
147
147
  return cert;