@sylvesterllc/aws-constructs 1.0.83 → 1.0.85

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.
@@ -36,7 +36,6 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
36
36
  authorizer = this.createAuthorizer();
37
37
  if (!authorizer) {
38
38
  console.log('Authorizer Not Created');
39
- // throw new Error("Error Creating Authorizer");
40
39
  }
41
40
  else {
42
41
  console.log('Authorizer Created', authorizer);
@@ -48,7 +47,6 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
48
47
  if (this.tables) {
49
48
  this.assignAccessToTables(this.tables, lambdas.Lambdas);
50
49
  }
51
- console.log('### AUTHORIZER BEFORE ADDING ROUTERS ####', authorizer);
52
50
  // Create Routes on API Gateway for Lambdas from config
53
51
  this.AddRoutes(this.config, this.gatewayApi, lambdas.Lambdas, authorizer);
54
52
  const result = {
@@ -106,4 +104,4 @@ class CreateApiAndAttachLambdas extends baseResource_1.BaseResource {
106
104
  }
107
105
  }
108
106
  exports.CreateApiAndAttachLambdas = CreateApiAndAttachLambdas;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQU81RDtJQUNBO0lBQ0E7SUFQRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRTdDLFlBQVksS0FBZ0IsRUFDeEIsTUFBaUIsRUFDVCxVQUFvQixFQUNwQixNQUF1QixFQUN2QixNQUFpQjtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBR3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7U0FDaEU7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJ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Q2pFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBNUlELDhEQTRJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IElUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBBcGlMYW1iZGFSZXN1bHQgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9BcGlMYW1iZGFSZXN1bHRcIjtcbmltcG9ydCB7IFRzZ0F1dGhvcml6ZXJUeXBlIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlcy9Uc2dBdXRob3JpemVyVHlwZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGksIFJlcXVlc3RBdXRob3JpemVyLCBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IFRzZ0p3dFRva2VuQXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dKd3RUb2tlbkF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgVHNnUmVxdWVzdEF1dGhvcml6ZXIgfSBmcm9tIFwiLi4vbGFtYmRhLWF1dGhvcml6ZXIvVHNnUmVxdWVzdEF1dGhvcml6ZXJcIjtcbmltcG9ydCB7IENyZWF0ZUxhbWJkYSB9IGZyb20gXCIuLi9sYW1iZGEvY3JlYXRlTGFtYmRhXCI7XG5pbXBvcnQgeyBMYXllclZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgTm9kZWpzRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanNcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzXCI7XG5pbXBvcnQgeyBSb3V0ZXMgfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVSb3V0ZXNcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXMgZXh0ZW5kcyBCYXNlUmVzb3VyY2U8QXBpTGFtYmRhUmVzdWx0PiB7XG4gICAgXG4gICAgcHJvdGVjdGVkIHJlcXVpcmVBdXRob3JpemVyOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBhdXRob3JpemVyVHlwZT86IFRzZ0F1dGhvcml6ZXJUeXBlO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCxcbiAgICAgICAgY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIHByaXZhdGUgZ2F0ZXdheUFwaTogSVJlc3RBcGksXG4gICAgICAgIHByaXZhdGUgbGF5ZXJzPzogTGF5ZXJWZXJzaW9uW10sXG4gICAgICAgIHByaXZhdGUgdGFibGVzPzogSVRhYmxlW10pIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGNvbmZpZyk7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnJlcXVpcmVBdXRob3JpemVyID0gKHRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSICYmIFxuICAgICAgICAgICAgdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIudHlwZSkgPyB0cnVlIDogZmFsc2U7ICAgICAgIFxuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyKSB7XG4gICAgICAgICAgICB0aGlzLmF1dGhvcml6ZXJUeXBlID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVI/LnR5cGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgIXRoaXMuY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSLnR5cGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgWW91IG11c3QgcHJvdmlkZSBhbiBhdXRob3JpemVyIHR5cGUgaWYgYSBBdXRob3JpemVyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKSE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlMYW1iZGFSZXN1bHRbXSB8IG51bGwge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCB8IG51bGwgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ3JlYXRlIEF1dGhvcml6ZXJcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcblxuICAgICAgICAgICAgaWYgKCFhdXRob3JpemVyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgTm90IENyZWF0ZWQnKTtcbiAgICAgICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoXCJFcnJvciBDcmVhdGluZyBBdXRob3JpemVyXCIpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgQ3JlYXRlZCcsIGF1dGhvcml6ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBMYW1iZGFzXG4gICAgICAgIGNvbnN0IGxhbWJkYXMgPSBuZXcgQ3JlYXRlTGFtYmRhKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5sYXllcnMpO1xuICAgICAgICBcbiAgICAgICAgLy8gR2l2ZSBBY2Nlc3MgdG8gTGFtYmRkcyB0byBBbGwgRHluYW1vRGIgVGFibGVzXG4gICAgICAgIGlmICh0aGlzLnRhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25BY2Nlc3NUb1RhYmxlcyh0aGlzLnRhYmxlcywgbGFtYmRhcy5MYW1iZGFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCcjIyMgQVVUSE9SSVpFUiBCRUZPUkUgQURESU5HIFJPVVRFUlMgIyMjIycsIGF1dGhvcml6ZXIpO1xuICAgICAgICBcbiAgICAgICAgLy8gQ3JlYXRlIFJvdXRlcyBvbiBBUEkgR2F0ZXdheSBmb3IgTGFtYmRhcyBmcm9tIGNvbmZpZ1xuICAgICAgICB0aGlzLkFkZFJvdXRlcyh0aGlzLmNvbmZpZywgdGhpcy5nYXRld2F5QXBpLCBsYW1iZGFzLkxhbWJkYXMsIGF1dGhvcml6ZXIpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogQXBpTGFtYmRhUmVzdWx0ID0ge1xuICAgICAgICAgICAgYXBpOiB0aGlzLmdhdGV3YXlBcGksXG4gICAgICAgICAgICBhdXRob3JpemVyOiBhdXRob3JpemVyXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbcmVzdWx0XTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2VzIS5mb3JFYWNoKCh4LCBpZHgpID0+IHtcbiAgICAgICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBBdXRob3JpemVyci0ke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHguYXV0aG9yaXplcj8uYXV0aG9yaXplckFybiFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9ICAgIFxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBdXRob3JpemVyKCkge1xuXG4gICAgICAgIGxldCBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXIgfCBSZXF1ZXN0QXV0aG9yaXplciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5UT0tFTl9BVVRIT1JJWkVSKSB7XG5cbiAgICAgICAgICAgIGF1dGhvcml6ZXIgPSBuZXcgVHNnSnd0VG9rZW5BdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcpLkp3dEF1dGhvcml6ZXI7XG5cbiAgICAgICAgICAgIC8vIGF1dGhvcml6ZXI/Ll9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgYXV0aG9yaXplcj8uYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplciAmJiB0aGlzLmF1dGhvcml6ZXJUeXBlID09PSBUc2dBdXRob3JpemVyVHlwZS5SRVFVRVNUX0FVVEhPUklaRVIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcgQ3JlYXRpbmcgYSBSZXF1ZXN0IEF1dGhvcml6ZXInKTtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dSZXF1ZXN0QXV0aG9yaXplcih0aGlzLnNjb3BlLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycywgdGhpcy50YWJsZXMpLlJlcXVlc3RBdXRob3JpemVyIGFzIFJlcXVlc3RBdXRob3JpemVyO1xuXG4gICAgICAgICAgICAvLyBhdXRob3JpemVyLl9hdHRhY2hUb0FwaSh0aGlzLmdhdGV3YXlBcGkpO1xuICAgICAgICAgICAgYXV0aG9yaXplci5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JFVFVSTklORyBBVVRIT1JJWkVSOiAnLCBhdXRob3JpemVyKTtcblxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG4gICAgICAgIH1cblxuICAgICAgIFxuICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbkFjY2Vzc1RvVGFibGVzKHRhYmxlczogSVRhYmxlW10sIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10pIHtcblxuICAgICAgICBpZiAodGFibGVzKSB7XG4gICAgICAgICAgICBsYW1iZGFzLmZvckVhY2goKGxhbWJkYTogTm9kZWpzRnVuY3Rpb24pID0+IHtcblxuICAgICAgICAgICAgICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSVRhYmxlKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGxhbWJkYSk7XG5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBBZGRSb3V0ZXMoY29uZmlnOiBBcHBDb25maWcsXG4gICAgICAgIGdhdGV3YXk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFzOiBOb2RlanNGdW5jdGlvbltdLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyfFJlcXVlc3RBdXRob3JpemVyKSB7XG5cbiAgICAgICAgY29uZmlnLlJFU09VUkNFUy5MQU1CREE/LmZvckVhY2goKHByb3A6IFRzZ0xhbWJkYVByb3ApID0+IHtcblxuICAgICAgICAgICAgY29uc3QgbGFtYmRhSWQgPSBDcmVhdGVMYW1iZGEuZ2V0SWRGb3JMYW1iZGEocHJvcCwgdGhpcy5jb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYUlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBmaW5kIGxhbWJkYWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFtYmRhTm9kZSA9IGxhbWJkYXMuZmluZCh4ID0+IHgubm9kZS5pZCA9PT0gbGFtYmRhSWQpO1xuXG4gICAgICAgICAgICBpZiAoIWxhbWJkYU5vZGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBmaW5kIHRoZSBMYW1iZGEgSW50ZWdyYXRpb25cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJvdXRlcy5jcmVhdGVSZXNvdXJjZShwcm9wLCBnYXRld2F5LCBsYW1iZGFOb2RlLCBhdXRob3JpemVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNvdXJjZXMvZ2F0ZXdheS9DcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUlwRCw0RUFBeUU7QUFFekUsc0ZBQW1GO0FBQ25GLDZDQUF1RDtBQUN2RCxvRkFBaUY7QUFDakYseURBQXNEO0FBSXRELDBEQUFpRDtBQUVqRCxNQUFhLHlCQUEwQixTQUFRLDJCQUE2QjtJQU81RDtJQUNBO0lBQ0E7SUFQRixpQkFBaUIsQ0FBVTtJQUMzQixjQUFjLENBQXFCO0lBRTdDLFlBQVksS0FBZ0IsRUFDeEIsTUFBaUIsRUFDVCxVQUFvQixFQUNwQixNQUF1QixFQUN2QixNQUFpQjtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBVTtRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBR3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7U0FDaEU7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJ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aW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVRhYmxlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEFwaUxhbWJkYVJlc3VsdCB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL0FwaUxhbWJkYVJlc3VsdFwiO1xuaW1wb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSwgUmVxdWVzdEF1dGhvcml6ZXIsIFRva2VuQXV0aG9yaXplciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuaW1wb3J0IHsgVHNnSnd0VG9rZW5BdXRob3JpemVyIH0gZnJvbSBcIi4uL2xhbWJkYS1hdXRob3JpemVyL1RzZ0p3dFRva2VuQXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUc2dSZXF1ZXN0QXV0aG9yaXplciB9IGZyb20gXCIuLi9sYW1iZGEtYXV0aG9yaXplci9Uc2dSZXF1ZXN0QXV0aG9yaXplclwiO1xuaW1wb3J0IHsgQ3JlYXRlTGFtYmRhIH0gZnJvbSBcIi4uL2xhbWJkYS9jcmVhdGVMYW1iZGFcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZVJvdXRlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyBleHRlbmRzIEJhc2VSZXNvdXJjZTxBcGlMYW1iZGFSZXN1bHQ+IHtcbiAgICBcbiAgICBwcm90ZWN0ZWQgcmVxdWlyZUF1dGhvcml6ZXI6IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIGF1dGhvcml6ZXJUeXBlPzogVHNnQXV0aG9yaXplclR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LFxuICAgICAgICBjb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBnYXRld2F5QXBpOiBJUmVzdEFwaSxcbiAgICAgICAgcHJpdmF0ZSBsYXllcnM/OiBMYXllclZlcnNpb25bXSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZXM/OiBJVGFibGVbXSkge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGhvcml6ZXIgPSAodGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIgJiYgXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUi50eXBlKSA/IHRydWUgOiBmYWxzZTsgICAgICAgXG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aG9yaXplclR5cGUgPSB0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUj8udHlwZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUiAmJiAhdGhpcy5jb25maWcuUkVTT1VSQ0VTLkFVVEhPUklaRVIudHlwZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBZb3UgbXVzdCBwcm92aWRlIGFuIGF1dGhvcml6ZXIgdHlwZSBpZiBhIEF1dGhvcml6ZXIgaXMgcmVxdWlyZWRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpITtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IEFwaUxhbWJkYVJlc3VsdFtdIHwgbnVsbCB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkIHwgbnVsbCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBDcmVhdGUgQXV0aG9yaXplclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlQXV0aG9yaXplcikge1xuICAgICAgICAgICAgYXV0aG9yaXplciA9IHRoaXMuY3JlYXRlQXV0aG9yaXplcigpO1xuXG4gICAgICAgICAgICBpZiAoIWF1dGhvcml6ZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQXV0aG9yaXplciBOb3QgQ3JlYXRlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0F1dGhvcml6ZXIgQ3JlYXRlZCcsIGF1dGhvcml6ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIExhbWJkYXNcbiAgICAgICAgY29uc3QgbGFtYmRhcyA9IG5ldyBDcmVhdGVMYW1iZGEoc2NvcGUsIHRoaXMuY29uZmlnLCB0aGlzLmxheWVycyk7XG4gICAgICAgIFxuICAgICAgICAvLyBHaXZlIEFjY2VzcyB0byBMYW1iZGRzIHRvIEFsbCBEeW5hbW9EYiBUYWJsZXNcbiAgICAgICAgaWYgKHRoaXMudGFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkFjY2Vzc1RvVGFibGVzKHRoaXMudGFibGVzLCBsYW1iZGFzLkxhbWJkYXMpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBDcmVhdGUgUm91dGVzIG9uIEFQSSBHYXRld2F5IGZvciBMYW1iZGFzIGZyb20gY29uZmlnXG4gICAgICAgIHRoaXMuQWRkUm91dGVzKHRoaXMuY29uZmlnLCB0aGlzLmdhdGV3YXlBcGksIGxhbWJkYXMuTGFtYmRhcywgYXV0aG9yaXplcik7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBBcGlMYW1iZGFSZXN1bHQgPSB7XG4gICAgICAgICAgICBhcGk6IHRoaXMuZ2F0ZXdheUFwaSxcbiAgICAgICAgICAgIGF1dGhvcml6ZXI6IGF1dGhvcml6ZXJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtyZXN1bHRdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYEF1dGhvcml6ZXJyLSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogeC5hdXRob3JpemVyPy5hdXRob3JpemVyQXJuIVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gICAgXG5cbiAgICBwcml2YXRlIGNyZWF0ZUF1dGhvcml6ZXIoKSB7XG5cbiAgICAgICAgbGV0IGF1dGhvcml6ZXI6IFRva2VuQXV0aG9yaXplciB8IFJlcXVlc3RBdXRob3JpemVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlRPS0VOX0FVVEhPUklaRVIpIHtcblxuICAgICAgICAgICAgYXV0aG9yaXplciA9IG5ldyBUc2dKd3RUb2tlbkF1dGhvcml6ZXIodGhpcy5zY29wZSxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZykuSnd0QXV0aG9yaXplcjtcblxuICAgICAgICAgICAgLy8gYXV0aG9yaXplcj8uX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICBhdXRob3JpemVyPy5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgICAgICAgICAgcmV0dXJuIGF1dGhvcml6ZXI7XG5cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJlcXVpcmVBdXRob3JpemVyICYmIHRoaXMuYXV0aG9yaXplclR5cGUgPT09IFRzZ0F1dGhvcml6ZXJUeXBlLlJFUVVFU1RfQVVUSE9SSVpFUikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJyBDcmVhdGluZyBhIFJlcXVlc3QgQXV0aG9yaXplcicpO1xuXG4gICAgICAgICAgICBhdXRob3JpemVyID0gbmV3IFRzZ1JlcXVlc3RBdXRob3JpemVyKHRoaXMuc2NvcGUsXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcsIHRoaXMubGF5ZXJzLCB0aGlzLnRhYmxlcykuUmVxdWVzdEF1dGhvcml6ZXIgYXMgUmVxdWVzdEF1dGhvcml6ZXI7XG5cbiAgICAgICAgICAgIC8vIGF1dGhvcml6ZXIuX2F0dGFjaFRvQXBpKHRoaXMuZ2F0ZXdheUFwaSk7XG4gICAgICAgICAgICBhdXRob3JpemVyLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUkVUVVJOSU5HIEFVVEhPUklaRVI6ICcsIGF1dGhvcml6ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXV0aG9yaXplcjtcbiAgICAgICAgfVxuXG4gICAgICAgXG4gICAgICAgIHJldHVybiBhdXRob3JpemVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzaWduQWNjZXNzVG9UYWJsZXModGFibGVzOiBJVGFibGVbXSwgbGFtYmRhczogTm9kZWpzRnVuY3Rpb25bXSkge1xuXG4gICAgICAgIGlmICh0YWJsZXMpIHtcbiAgICAgICAgICAgIGxhbWJkYXMuZm9yRWFjaCgobGFtYmRhOiBOb2RlanNGdW5jdGlvbikgPT4ge1xuXG4gICAgICAgICAgICAgICAgdGFibGVzLmZvckVhY2goKHRhYmxlOiBJVGFibGUpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICB0YWJsZS5ncmFudFJlYWRXcml0ZURhdGEobGFtYmRhKTtcblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIEFkZFJvdXRlcyhjb25maWc6IEFwcENvbmZpZyxcbiAgICAgICAgZ2F0ZXdheTogSVJlc3RBcGksXG4gICAgICAgIGxhbWJkYXM6IE5vZGVqc0Z1bmN0aW9uW10sXG4gICAgICAgIGF1dGhvcml6ZXI/OiBUb2tlbkF1dGhvcml6ZXJ8UmVxdWVzdEF1dGhvcml6ZXIpIHtcblxuICAgICAgICBjb25maWcuUkVTT1VSQ0VTLkxBTUJEQT8uZm9yRWFjaCgocHJvcDogVHNnTGFtYmRhUHJvcCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBsYW1iZGFJZCA9IENyZWF0ZUxhbWJkYS5nZXRJZEZvckxhbWJkYShwcm9wLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgICAgIGlmICghbGFtYmRhSWQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgbGFtYmRhYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsYW1iZGFOb2RlID0gbGFtYmRhcy5maW5kKHggPT4geC5ub2RlLmlkID09PSBsYW1iZGFJZCk7XG5cbiAgICAgICAgICAgIGlmICghbGFtYmRhTm9kZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGZpbmQgdGhlIExhbWJkYSBJbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUm91dGVzLmNyZWF0ZVJlc291cmNlKHByb3AsIGdhdGV3YXksIGxhbWJkYU5vZGUsIGF1dGhvcml6ZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59Il19
@@ -9,6 +9,8 @@ export declare class Api extends BaseResource<IRestApi> {
9
9
  private createApi;
10
10
  private createApiProps;
11
11
  private createDefaultCorsOptions;
12
+ private requiresApiKey;
13
+ private createApiKey;
12
14
  private getZone;
13
15
  private createCertificate;
14
16
  private createARecord;
@@ -7,6 +7,7 @@ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
7
7
  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
+ const createApiKey_1 = require("./createApiKey");
10
11
  class Api extends baseResource_1.BaseResource {
11
12
  corsOptions;
12
13
  get APIs() {
@@ -23,10 +24,12 @@ class Api extends baseResource_1.BaseResource {
23
24
  const zone = this.getZone(this.scope, this.config);
24
25
  const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps(zone));
25
26
  this.createARecord(scope, zone, api);
27
+ this.createApiKey(this.config, api);
26
28
  return api;
27
29
  }
28
30
  else {
29
31
  const api = new aws_apigateway_1.RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps());
32
+ this.createApiKey(this.config, api);
30
33
  return api;
31
34
  }
32
35
  }
@@ -71,6 +74,17 @@ class Api extends baseResource_1.BaseResource {
71
74
  };
72
75
  return corsOptions;
73
76
  }
77
+ requiresApiKey(config) {
78
+ // Determine if any of the lambdas require an API Key
79
+ return config.RESOURCES.LAMBDA.some((lambda) => lambda.apiGateway?.requireApiKey === true);
80
+ }
81
+ createApiKey(config, api) {
82
+ if (this.requiresApiKey(this.config)) {
83
+ const apiKey = new createApiKey_1.TsgApiKey(this.scope, this.config, api);
84
+ return apiKey;
85
+ }
86
+ return null;
87
+ }
74
88
  // private createCustomDomain(scope: Construct, config: MicroserviceProps) {
75
89
  // const domainName = DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
76
90
  // domainName: config.DNS?.ZoneName,
@@ -121,4 +135,4 @@ class Api extends baseResource_1.BaseResource {
121
135
  }
122
136
  }
123
137
  exports.Api = Api;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUVyRSxNQUFhLEdBQUksU0FBUSwyQkFBc0I7SUFFbkMsV0FBVyxDQUFjO0lBR2pDLElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsTUFBaUI7UUFDM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxTQUFTLENBQUMsS0FBZ0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUVqQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLHdCQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXBHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZ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S0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWdCLEVBQUUsSUFBaUIsRUFBRSxHQUFZO1FBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQzVDLElBQUk7WUFDSixNQUFNLEVBQUUsMEJBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxnQ0FBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZO1NBQzNDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFFckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyw0Q0FBNEM7UUFDNUMsOERBQThEO1FBRTlELDJFQUEyRTtRQUkzRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVTLFlBQVksQ0FBSSxLQUFnQixFQUFFLGFBQWtCO1FBQzFELGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFFL0IsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFO2dCQUM5QixhQUFhO2dCQUNiLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRzthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FFSjtBQXJKRCxrQkFxSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3ksIFRhZyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQmFzZVBhdGhNYXBwaW5nLCBDb3JzLCBDb3JzT3B0aW9ucywgRG9tYWluTmFtZSwgRW5kcG9pbnRUeXBlLCBJRG9tYWluTmFtZSwgSVJlc3RBcGksIE1ldGhvZE9wdGlvbnMsIFJlc3RBcGksIFJlc3RBcGlQcm9wcywgU2VjdXJpdHlQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IEFSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IEFwaUdhdGV3YXksIEFwaUdhdGV3YXlEb21haW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWcvQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5cbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuaW1wb3J0IHsgQ3JlYXRlQ2VydGlmaWNhdGUgfSBmcm9tIFwiLi4vY2VydGlmaWNhdGUvY3JlYXRlQ2VydGlmaWNhdGVcIjtcblxuZXhwb3J0IGNsYXNzIEFwaSBleHRlbmRzIEJhc2VSZXNvdXJjZTxJUmVzdEFwaT4ge1xuXG4gICAgcHJpdmF0ZSBjb3JzT3B0aW9uczogQ29yc09wdGlvbnM7XG5cblxuICAgIGdldCBBUElzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2VzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMuY29yc09wdGlvbnMgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb3JzT3B0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnIyMjIEROUyBpcyB0cnVlICMjIycpO1xuXG4gICAgICAgICAgICBjb25zdCB6b25lID0gdGhpcy5nZXRab25lKHRoaXMuc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgY29uc3QgYXBpID0gbmV3IFJlc3RBcGkodGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS1yZXN0LWFwaWAsIHRoaXMuY3JlYXRlQXBpUHJvcHMoem9uZSkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFSZWNvcmQoc2NvcGUsIHpvbmUsIGFwaSk7XG5cbiAgICAgICAgICAgIHJldHVybiBhcGk7XG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGlgLCB0aGlzLmNyZWF0ZUFwaVByb3BzKCkpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBcGlQcm9wcyh6b25lPzogSUhvc3RlZFpvbmUpOiBSZXN0QXBpUHJvcHMge1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5ETlMpIHtcblxuICAgICAgICAgICAgY29uc3QgY2VydCA9IHRoaXMuY3JlYXRlQ2VydGlmaWNhdGUodGhpcy5zY29wZSwgem9uZSEsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgY29uc3QgcHJvcHM6IFJlc3RBcGlQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICByZXN0QXBpTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3RoaXMuY29uZmlnLkFQSS5OYW1lfWAsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY29uZmlnLkFQSS5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBkb21haW5OYW1lOiB7XG4gICAgICAgICAgICAgICAgICAgIGRvbWFpbk5hbWU6IGAke3RoaXMuY29uZmlnLkFQSS5Eb21haW5QcmVmaXh9LiR7dGhpcy5jb25maWcuRE5TLlpvbmVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiBjZXJ0LmNlcnRpZmljYXRlLFxuICAgICAgICAgICAgICAgICAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZS5FREdFLFxuICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogIEFERCBDVVNUT00gRE9NQUlOIEhFUkVcbiAgICAgICAgICAgICAgICAvLyBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICAgICAgICAgIC8vICAgICBkb21haW5OYW1lOiBkb21haW4sICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gICB9LFxuICAgICAgICAgICAgICAgIC8vIGRvbWFpbk5hbWU6ICcnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb3JzUHJlZmxpZ2h0T3B0aW9uczogdGhpcy5jb3JzT3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJvcHM6IFJlc3RBcGlQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICByZXN0QXBpTmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3RoaXMuY29uZmlnLkFQSS5OYW1lfWAsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY29uZmlnLkFQSS5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29yc1ByZWZsaWdodE9wdGlvbnM6IHRoaXMuY29yc09wdGlvbnNcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBwcm9wcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGVmYXVsdENvcnNPcHRpb25zKCkge1xuXG4gICAgICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGFsbG93SGVhZGVyczogW1xuICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhbGxvd01ldGhvZHM6IENvcnMuQUxMX01FVEhPRFMsXG4gICAgICAgICAgICBhbGxvd0NyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dPcmlnaW5zOiBDb3JzLkFMTF9PUklHSU5TLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb3JzT3B0aW9ucztcbiAgICB9XG5cbiAgICAvLyBwcml2YXRlIGNyZWF0ZUN1c3RvbURvbWFpbihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBEb21haW5OYW1lLmZyb21Eb21haW5OYW1lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1jdXN0b20tZG9tYWluYCwge1xuICAgIC8vICAgICAgICAgZG9tYWluTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUsXG4gICAgLy8gICAgICAgICBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ6IGNvbmZpZy5ETlMuWm9uZUlkISxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc1RhcmdldDogY29uZmlnLkFQSS5Eb21haW5QcmVmaXghLFxuICAgIC8vICAgICB9KTtcblxuICAgIC8vICAgICByZXR1cm4gZG9tYWluTmFtZVxuICAgIC8vIH1cblxuICAgIC8vIHByaXZhdGUgYXR0YWNoRG9tYWluVG9BcGkoc2NvcGU6IENvbnN0cnVjdCwgYXBpOiBJUmVzdEFwaSwgZG9tYWluOiBJRG9tYWluTmFtZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgIC8vICAgICByZXR1cm4gbmV3IEJhc2VQYXRoTWFwcGluZyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1iYXNlUGF0aE1hcHBpbmdgLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBkb21haW4sXG4gICAgLy8gICAgICAgICByZXN0QXBpOiBhcGksXG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgZ2V0Wm9uZShzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHJldHVybiBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkROUz8uWm9uZU5hbWV9LXpvbmVgLCB7XG4gICAgICAgICAgICB6b25lTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUhLFxuICAgICAgICAgICAgaG9zdGVkWm9uZUlkOiBjb25maWcuRE5TPy5ab25lSWQhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgY29uc3QgY2VydCA9IG5ldyBDcmVhdGVDZXJ0aWZpY2F0ZShzY29wZSwgY29uZmlnLCB6b25lKTtcbiAgICAgICAgcmV0dXJuIGNlcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHpvbmU6IElIb3N0ZWRab25lLCBhcGk6IFJlc3RBcGkpIHtcbiAgICAgICAgY29uc3QgYVJlY29yZCA9IG5ldyBBUmVjb3JkKHNjb3BlLCBcIkFwaVJlY29yZFwiLCB7XG4gICAgICAgICAgICB6b25lLFxuICAgICAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBBcGlHYXRld2F5KGFwaSkpLFxuICAgICAgICAgICAgcmVjb3JkTmFtZTogdGhpcy5jb25maWcuQVBJLkRvbWFpblByZWZpeFxuICAgICAgICB9KTtcblxuICAgICAgICBhUmVjb3JkLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICByZXR1cm4gYVJlY29yZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIGNvbnN0IGFwaSA9IHRoaXMuY3JlYXRlQXBpKHNjb3BlKTtcbiAgICAgICAgLy8gVE9ETzogIE9OTFkgSUYgQ1VTVE9NIE1BUFBJTkcgSVMgUkVRVUlSRURcbiAgICAgICAgLy8gY29uc3QgZG9tYWluID0gdGhpcy5jcmVhdGVDdXN0b21Eb21haW4oc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAvLyBjb25zdCBtYXBwaW5nID0gdGhpcy5hdHRhY2hEb21haW5Ub0FwaShzY29wZSwgYXBpLCBkb21haW4sIHRoaXMuY29uZmlnKTtcblxuXG5cbiAgICAgICAgcmV0dXJuIFthcGldO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIGNyZWF0ZWRBc3NldHMuZm9yRWFjaCgoYXBpLCBpZHgpID0+IHtcblxuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGFwaSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFwaS51cmxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbn0iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEQ7QUFDNUQsK0RBQXVMO0FBQ3ZMLHlEQUF5RjtBQUN6Rix5RUFBK0U7QUFLL0UsdURBQW9EO0FBQ3BELHdFQUFxRTtBQUNyRSxpREFBMkM7QUFFM0MsTUFBYSxHQUFJLFNBQVEsMkJBQXNCO0lBRW5DLFdBQVcsQ0FBYztJQUdqQyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLE1BQWlCO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWdCO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFFakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVwRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FB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QztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRXJDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsNENBQTRDO1FBQzVDLDhEQUE4RDtRQUU5RCwyRUFBMkU7UUFJM0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxZQUFZLENBQUksS0FBZ0IsRUFBRSxhQUFrQjtRQUMxRCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBRS9CLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRTtnQkFDOUIsYUFBYTtnQkFDYixLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUc7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUF2S0Qsa0JBdUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5LCBUYWcgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEJhc2VQYXRoTWFwcGluZywgQ29ycywgQ29yc09wdGlvbnMsIERvbWFpbk5hbWUsIEVuZHBvaW50VHlwZSwgSURvbWFpbk5hbWUsIElSZXN0QXBpLCBNZXRob2RPcHRpb25zLCBSZXN0QXBpLCBSZXN0QXBpUHJvcHMsIFNlY3VyaXR5UG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5LCBBcGlHYXRld2F5RG9tYWluIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuXG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IENyZWF0ZUNlcnRpZmljYXRlIH0gZnJvbSBcIi4uL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlXCI7XG5pbXBvcnQgeyBUc2dBcGlLZXkgfSBmcm9tIFwiLi9jcmVhdGVBcGlLZXlcIjtcblxuZXhwb3J0IGNsYXNzIEFwaSBleHRlbmRzIEJhc2VSZXNvdXJjZTxJUmVzdEFwaT4ge1xuXG4gICAgcHJpdmF0ZSBjb3JzT3B0aW9uczogQ29yc09wdGlvbnM7XG5cblxuICAgIGdldCBBUElzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2VzO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMuY29yc09wdGlvbnMgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb3JzT3B0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLkROUykge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnIyMjIEROUyBpcyB0cnVlICMjIycpO1xuXG4gICAgICAgICAgICBjb25zdCB6b25lID0gdGhpcy5nZXRab25lKHRoaXMuc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAgICAgY29uc3QgYXBpID0gbmV3IFJlc3RBcGkodGhpcy5zY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS1yZXN0LWFwaWAsIHRoaXMuY3JlYXRlQXBpUHJvcHMoem9uZSkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFSZWNvcmQoc2NvcGUsIHpvbmUsIGFwaSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQXBpS2V5KHRoaXMuY29uZmlnLCBhcGkpO1xuXG4gICAgICAgICAgICByZXR1cm4gYXBpO1xuXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGFwaSA9IG5ldyBSZXN0QXBpKHRoaXMuc2NvcGUsIGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tcmVzdC1hcGlgLCB0aGlzLmNyZWF0ZUFwaVByb3BzKCkpO1xuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFwaUtleSh0aGlzLmNvbmZpZywgYXBpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFwaTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQXBpUHJvcHMoem9uZT86IElIb3N0ZWRab25lKTogUmVzdEFwaVByb3BzIHtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcuRE5TKSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGNlcnQgPSB0aGlzLmNyZWF0ZUNlcnRpZmljYXRlKHRoaXMuc2NvcGUsIHpvbmUhLCB0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BzOiBSZXN0QXBpUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgcmVzdEFwaU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt0aGlzLmNvbmZpZy5BUEkuTmFtZX1gLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmNvbmZpZy5BUEkuRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgZG9tYWluTmFtZToge1xuICAgICAgICAgICAgICAgICAgICBkb21haW5OYW1lOiBgJHt0aGlzLmNvbmZpZy5BUEkuRG9tYWluUHJlZml4fS4ke3RoaXMuY29uZmlnLkROUy5ab25lTmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogY2VydC5jZXJ0aWZpY2F0ZSxcbiAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuRURHRSxcbiAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6IFNlY3VyaXR5UG9saWN5LlRMU18xXzJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vIFRPRE86ICBBREQgQ1VTVE9NIERPTUFJTiBIRVJFXG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdERvbWFpbk1hcHBpbmc6IHtcbiAgICAgICAgICAgICAgICAvLyAgICAgZG9tYWluTmFtZTogZG9tYWluLCAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgICAgICAvLyBkb21haW5OYW1lOiAnJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29yc1ByZWZsaWdodE9wdGlvbnM6IHRoaXMuY29yc09wdGlvbnNcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBwcm9wcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzOiBSZXN0QXBpUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgcmVzdEFwaU5hbWU6IGAke3RoaXMuY29uZmlnLkFwcFByZWZpeH0tJHt0aGlzLmNvbmZpZy5BUEkuTmFtZX1gLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmNvbmZpZy5BUEkuRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvcnNQcmVmbGlnaHRPcHRpb25zOiB0aGlzLmNvcnNPcHRpb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURlZmF1bHRDb3JzT3B0aW9ucygpIHtcblxuICAgICAgICBjb25zdCBjb3JzT3B0aW9uczogQ29yc09wdGlvbnMgPSB7XG4gICAgICAgICAgICBhbGxvd0hlYWRlcnM6IFtcbiAgICAgICAgICAgICAgICAnKicsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYWxsb3dNZXRob2RzOiBDb3JzLkFMTF9NRVRIT0RTLFxuICAgICAgICAgICAgYWxsb3dDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgIGFsbG93T3JpZ2luczogQ29ycy5BTExfT1JJR0lOUyxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gY29yc09wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXF1aXJlc0FwaUtleShjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgYW55IG9mIHRoZSBsYW1iZGFzIHJlcXVpcmUgYW4gQVBJIEtleVxuICAgICAgICByZXR1cm4gY29uZmlnLlJFU09VUkNFUy5MQU1CREEuc29tZSgobGFtYmRhKSA9PiBsYW1iZGEuYXBpR2F0ZXdheT8ucmVxdWlyZUFwaUtleSA9PT0gdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBcGlLZXkoY29uZmlnOiBBcHBDb25maWcsIGFwaTogUmVzdEFwaSkge1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZXNBcGlLZXkodGhpcy5jb25maWcpKSB7XG4gICAgICAgICAgICBjb25zdCBhcGlLZXkgPSBuZXcgVHNnQXBpS2V5KHRoaXMuc2NvcGUsIHRoaXMuY29uZmlnLCBhcGkpXG4gICAgICAgICAgICByZXR1cm4gYXBpS2V5O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBwcml2YXRlIGNyZWF0ZUN1c3RvbURvbWFpbihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgLy8gICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBEb21haW5OYW1lLmZyb21Eb21haW5OYW1lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1jdXN0b20tZG9tYWluYCwge1xuICAgIC8vICAgICAgICAgZG9tYWluTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUsXG4gICAgLy8gICAgICAgICBkb21haW5OYW1lQWxpYXNIb3N0ZWRab25lSWQ6IGNvbmZpZy5ETlMuWm9uZUlkISxcbiAgICAvLyAgICAgICAgIGRvbWFpbk5hbWVBbGlhc1RhcmdldDogY29uZmlnLkFQSS5Eb21haW5QcmVmaXghLFxuICAgIC8vICAgICB9KTtcblxuICAgIC8vICAgICByZXR1cm4gZG9tYWluTmFtZVxuICAgIC8vIH1cblxuICAgIC8vIHByaXZhdGUgYXR0YWNoRG9tYWluVG9BcGkoc2NvcGU6IENvbnN0cnVjdCwgYXBpOiBJUmVzdEFwaSwgZG9tYWluOiBJRG9tYWluTmFtZSwgY29uZmlnOiBNaWNyb3NlcnZpY2VQcm9wcykge1xuICAgIC8vICAgICByZXR1cm4gbmV3IEJhc2VQYXRoTWFwcGluZyhzY29wZSwgYCR7Y29uZmlnLkFQSS5OYW1lfS1iYXNlUGF0aE1hcHBpbmdgLCB7XG4gICAgLy8gICAgICAgICBkb21haW5OYW1lOiBkb21haW4sXG4gICAgLy8gICAgICAgICByZXN0QXBpOiBhcGksXG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgZ2V0Wm9uZShzY29wZTogQ29uc3RydWN0LCBjb25maWc6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHJldHVybiBIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhzY29wZSwgYCR7Y29uZmlnLkROUz8uWm9uZU5hbWV9LXpvbmVgLCB7XG4gICAgICAgICAgICB6b25lTmFtZTogY29uZmlnLkROUz8uWm9uZU5hbWUhLFxuICAgICAgICAgICAgaG9zdGVkWm9uZUlkOiBjb25maWcuRE5TPy5ab25lSWQhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgem9uZTogSUhvc3RlZFpvbmUsIGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgY29uc3QgY2VydCA9IG5ldyBDcmVhdGVDZXJ0aWZpY2F0ZShzY29wZSwgY29uZmlnLCB6b25lKTtcbiAgICAgICAgcmV0dXJuIGNlcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHpvbmU6IElIb3N0ZWRab25lLCBhcGk6IFJlc3RBcGkpIHtcbiAgICAgICAgY29uc3QgYVJlY29yZCA9IG5ldyBBUmVjb3JkKHNjb3BlLCBcIkFwaVJlY29yZFwiLCB7XG4gICAgICAgICAgICB6b25lLFxuICAgICAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBBcGlHYXRld2F5KGFwaSkpLFxuICAgICAgICAgICAgcmVjb3JkTmFtZTogdGhpcy5jb25maWcuQVBJLkRvbWFpblByZWZpeFxuICAgICAgICB9KTtcblxuICAgICAgICBhUmVjb3JkLmFwcGx5UmVtb3ZhbFBvbGljeShSZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAgICAgICByZXR1cm4gYVJlY29yZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCkge1xuXG4gICAgICAgIGNvbnN0IGFwaSA9IHRoaXMuY3JlYXRlQXBpKHNjb3BlKTtcbiAgICAgICAgLy8gVE9ETzogIE9OTFkgSUYgQ1VTVE9NIE1BUFBJTkcgSVMgUkVRVUlSRURcbiAgICAgICAgLy8gY29uc3QgZG9tYWluID0gdGhpcy5jcmVhdGVDdXN0b21Eb21haW4oc2NvcGUsIHRoaXMuY29uZmlnKTtcblxuICAgICAgICAvLyBjb25zdCBtYXBwaW5nID0gdGhpcy5hdHRhY2hEb21haW5Ub0FwaShzY29wZSwgYXBpLCBkb21haW4sIHRoaXMuY29uZmlnKTtcblxuXG5cbiAgICAgICAgcmV0dXJuIFthcGldO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIGNyZWF0ZWRBc3NldHMuZm9yRWFjaCgoYXBpLCBpZHgpID0+IHtcblxuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGFwaSR7aWR4fWAsIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFwaS51cmxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbn0iXX0=
@@ -0,0 +1,14 @@
1
+ import { Construct } from "constructs";
2
+ import { BaseResource } from "../base/baseResource";
3
+ import { IApiKey, ApiKey as AWS_API_KEY, RestApi } from "aws-cdk-lib/aws-apigateway";
4
+ import { AppConfig } from "../../config/AppConfig";
5
+ export declare class TsgApiKey extends BaseResource<AWS_API_KEY> {
6
+ private api;
7
+ private apiKey;
8
+ constructor(scope: Construct, config: AppConfig, api: RestApi);
9
+ get APIKey(): IApiKey;
10
+ createResource(scope: Construct): AWS_API_KEY[];
11
+ protected createOutput<T>(scope: Construct, createdAssets: T[]): void;
12
+ private applyRemovalPolicy;
13
+ private createUsagePlan;
14
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TsgApiKey = void 0;
4
+ const baseResource_1 = require("../base/baseResource");
5
+ const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ class TsgApiKey extends baseResource_1.BaseResource {
8
+ api;
9
+ apiKey;
10
+ constructor(scope, config, api) {
11
+ super(scope, config);
12
+ this.api = api;
13
+ this.createdResources = this.createResource(scope);
14
+ this.applyRemovalPolicy();
15
+ this.createOutput(scope, this.createdResources);
16
+ }
17
+ get APIKey() {
18
+ return this.apiKey;
19
+ }
20
+ createResource(scope) {
21
+ const keyProps = {
22
+ apiKeyName: `${this.config.AppPrefix}-x-api-key`,
23
+ resources: [this.api],
24
+ value: `ddGTsLQrae2U6zTEjw4M07qO4pHGt60u73zImLHE`,
25
+ enabled: true,
26
+ description: `API App Key for ${this.config.AppName}`,
27
+ };
28
+ const apiKey = new aws_apigateway_1.ApiKey(scope, `${this.config.AppPrefix}-api-key`, keyProps);
29
+ this.createUsagePlan(scope, this.config, this.api, apiKey);
30
+ return [apiKey];
31
+ }
32
+ createOutput(scope, createdAssets) {
33
+ this.createdResources.forEach((key, idx) => {
34
+ new aws_cdk_lib_1.CfnOutput(scope, `api-key-${idx}`, {
35
+ value: `${key.keyId}\t${key.keyArn}`
36
+ });
37
+ });
38
+ }
39
+ applyRemovalPolicy() {
40
+ const apiKey = this.createdResources[0];
41
+ if (apiKey) {
42
+ apiKey.applyRemovalPolicy(aws_cdk_lib_1.RemovalPolicy.DESTROY);
43
+ }
44
+ }
45
+ createUsagePlan(scope, config, api, apiKey) {
46
+ const planProps = {
47
+ name: `${config.AppName}-easy-plan`,
48
+ throttle: {
49
+ rateLimit: 1000,
50
+ burstLimit: 10,
51
+ },
52
+ apiStages: [
53
+ {
54
+ api: api,
55
+ stage: api.deploymentStage,
56
+ },
57
+ ],
58
+ };
59
+ const plan = api.addUsagePlan(`${config.AppPrefix}-${config.AppName}-usage-plan`, planProps);
60
+ plan.addApiKey(apiKey);
61
+ }
62
+ }
63
+ exports.TsgApiKey = TsgApiKey;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQXBpS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx1REFBb0Q7QUFDcEQsK0RBQTRHO0FBRTVHLDZDQUF1RDtBQUd2RCxNQUFhLFNBQVUsU0FBUSwyQkFBeUI7SUFHNUMsR0FBRyxDQUFVO0lBQ2IsTUFBTSxDQUFVO0lBRXhCLFlBQVksS0FBZ0IsRUFBRSxNQUFpQixFQUFFLEdBQVk7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUVmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFnQjtRQUVsQyxNQUFNLFFBQVEsR0FBZ0I7WUFDMUIsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLFlBQVk7WUFDaEQsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNyQixLQUFLLEVBQUUsMENBQTBDO1lBQ2pELE9BQU8sRUFBRSxJQUFJO1lBQ2IsV0FBVyxFQUFFLG1CQUFtQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtTQUV4RCxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSx1QkFBVyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUV2QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUU7Z0JBQ25DLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRTthQUN2QyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxrQkFBa0I7UUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhDLElBQUksTUFBTSxFQUFFO1lBQ1IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWdCLEVBQUUsTUFBaUIsRUFBRSxHQUFZLEVBQUUsTUFBbUI7UUFFMUYsTUFBTSxTQUFTLEdBQW1CO1lBQzlCLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLFlBQVk7WUFDbkMsUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFVBQVUsRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLEdBQUcsRUFBRSxHQUFHO29CQUNSLEtBQUssRUFBRSxHQUFHLENBQUMsZUFBZTtpQkFDN0I7YUFDSjtTQUNKLENBQUM7UUFFRixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUN6QixHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE9BQU8sYUFBYSxFQUNsRCxTQUFTLENBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBakZELDhCQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaUtleVByb3BzLCBJQXBpS2V5LCBBcGlLZXkgYXMgQVdTX0FQSV9LRVksIElSZXN0QXBpLCBSZXN0QXBpIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBVc2FnZVBsYW5Qcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheVwiO1xuXG5leHBvcnQgY2xhc3MgVHNnQXBpS2V5IGV4dGVuZHMgQmFzZVJlc291cmNlPEFXU19BUElfS0VZPiB7XG5cblxuICAgIHByaXZhdGUgYXBpOiBSZXN0QXBpOyAgICBcbiAgICBwcml2YXRlIGFwaUtleTogSUFwaUtleTtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGNvbmZpZzogQXBwQ29uZmlnLCBhcGk6IFJlc3RBcGkpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7ICAgICAgIFxuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuYXBwbHlSZW1vdmFsUG9saWN5KCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXQoc2NvcGUsIHRoaXMuY3JlYXRlZFJlc291cmNlcyk7XG4gICAgfVxuXG4gICAgZ2V0IEFQSUtleSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpS2V5O1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogQVdTX0FQSV9LRVlbXSB7XG5cbiAgICAgICAgY29uc3Qga2V5UHJvcHM6IEFwaUtleVByb3BzID0ge1xuICAgICAgICAgICAgYXBpS2V5TmFtZTogYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS14LWFwaS1rZXlgLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5hcGldLFxuICAgICAgICAgICAgdmFsdWU6IGBkZEdUc0xRcmFlMlU2elRFanc0TTA3cU80cEhHdDYwdTczekltTEhFYCxcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYEFQSSBBcHAgS2V5IGZvciAke3RoaXMuY29uZmlnLkFwcE5hbWV9YCxcblxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGFwaUtleSA9IG5ldyBBV1NfQVBJX0tFWShzY29wZSwgYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS1hcGkta2V5YCwga2V5UHJvcHMpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVXNhZ2VQbGFuKHNjb3BlLCB0aGlzLmNvbmZpZywgdGhpcy5hcGksIGFwaUtleSk7XG5cbiAgICAgICAgcmV0dXJuIFthcGlLZXldO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcy5mb3JFYWNoKChrZXksIGlkeCkgPT4ge1xuXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgYXBpLWtleS0ke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGAke2tleS5rZXlJZH1cXHQke2tleS5rZXlBcm59YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlSZW1vdmFsUG9saWN5KCkge1xuXG4gICAgICAgIGNvbnN0IGFwaUtleSA9IHRoaXMuY3JlYXRlZFJlc291cmNlc1swXTtcblxuICAgICAgICBpZiAoYXBpS2V5KSB7XG4gICAgICAgICAgICBhcGlLZXkuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVVzYWdlUGxhbihzY29wZTogQ29uc3RydWN0LCBjb25maWc6IEFwcENvbmZpZywgYXBpOiBSZXN0QXBpLCBhcGlLZXk6IEFXU19BUElfS0VZKSB7XG5cbiAgICAgICAgY29uc3QgcGxhblByb3BzOiBVc2FnZVBsYW5Qcm9wcyA9IHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbmZpZy5BcHBOYW1lfS1lYXN5LXBsYW5gLFxuICAgICAgICAgICAgdGhyb3R0bGU6IHtcbiAgICAgICAgICAgICAgICByYXRlTGltaXQ6IDEwMDAsXG4gICAgICAgICAgICAgICAgYnVyc3RMaW1pdDogMTAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXBpU3RhZ2VzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhcGk6IGFwaSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2U6IGFwaS5kZXBsb3ltZW50U3RhZ2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcGxhbiA9IGFwaS5hZGRVc2FnZVBsYW4oXG4gICAgICAgICAgICBgJHtjb25maWcuQXBwUHJlZml4fS0ke2NvbmZpZy5BcHBOYW1lfS11c2FnZS1wbGFuYCxcbiAgICAgICAgICAgIHBsYW5Qcm9wc1xuICAgICAgICApO1xuXG4gICAgICAgIHBsYW4uYWRkQXBpS2V5KGFwaUtleSk7XG4gICAgfVxufSJdfQ==
@@ -26,11 +26,6 @@ class Routes {
26
26
  Routes.routeMap.set(activeRoutePath, secondaryResource);
27
27
  activeResource = secondaryResource;
28
28
  }
29
- if (prop.apiGateway.secure) {
30
- console.log(`######## ${prop.name} ############`);
31
- console.log(`### AUTHORIZER ###`, authorizer);
32
- console.log(`### AUTHORIZER Id ###`, authorizer?.authorizerId);
33
- }
34
29
  // Finally, we attach our function to the last resource
35
30
  activeResource.addMethod(prop.apiGateway.method || 'GET', new aws_apigateway_1.LambdaIntegration(lambdaNode, { proxy: true, }), {
36
31
  requestParameters: Routes.createQueryStringObject(prop.apiGateway.queryStrings),
@@ -52,4 +47,4 @@ class Routes {
52
47
  }
53
48
  }
54
49
  exports.Routes = Routes;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMEk7QUFLMUksTUFBYSxNQUFNO0lBRVIsTUFBTSxDQUFDLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLElBQW1CLEVBQ25CLEdBQWEsRUFDYixVQUEwQixFQUMxQixVQUE4QztRQUk5QyxNQUFNLFFBQVEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxjQUFjLEdBQXlCLFNBQVMsQ0FBQztRQUVyRCx5REFBeUQ7UUFDekQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRTtZQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsMERBQTBEO2dCQUMxRCw2RUFBNkU7Z0JBQzdFLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRixjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9GLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUN4RDtZQUdELHVFQUF1RTtZQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxlQUFlLEdBQUcsR0FBRyxlQUFlLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksY0FBYyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEosTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3hELGNBQWMsR0FBRyxpQkFBaUIsQ0FBQzthQUN0QztZQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQztnQkFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUE7YUFDakU7WUFDRCx3REFBd0Q7WUFDeEQsY0FBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQ3JELElBQUksa0NBQWlCLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQ25EO2dCQUNJLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztnQkFDL0UsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUM5RCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDM0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGtDQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNuRixDQUFDLENBQUM7U0FDVjtJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsWUFBa0M7UUFFcEUsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QyxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxHQUFHLEdBQStCLEVBQUUsQ0FBQztRQUUzQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDaEMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2pCLENBQUM7O0FBdEVMLHdCQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhvcml6YXRpb25UeXBlLCBJUmVzdEFwaSwgTGFtYmRhSW50ZWdyYXRpb24sIFJlcXVlc3RBdXRob3JpemVyLCBSZXNvdXJjZSwgVG9rZW5BdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuLi8uLi9jb25maWcvdHlwZXNcIjtcblxuXG5leHBvcnQgY2xhc3MgUm91dGVzIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgUmVzb3VyY2VzOiBSZXNvdXJjZVtdID0gW107XG4gICAgcHJpdmF0ZSBzdGF0aWMgcm91dGVNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVJlc291cmNlKFxuICAgICAgICBwcm9wOiBUc2dMYW1iZGFQcm9wLFxuICAgICAgICBhcGk6IElSZXN0QXBpLFxuICAgICAgICBsYW1iZGFOb2RlOiBOb2RlanNGdW5jdGlvbixcbiAgICAgICAgYXV0aG9yaXplcj86IFRva2VuQXV0aG9yaXplcnxSZXF1ZXN0QXV0aG9yaXplcik6IHZvaWQge1xuXG4gICAgICAgICBcblxuICAgICAgICBjb25zdCByb3V0ZU1hcDogTWFwPHN0cmluZywgUmVzb3VyY2U+ID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIGxldCBhY3RpdmVSb3V0ZVBhdGggPSBcIlwiO1xuICAgICAgICBsZXQgYWN0aXZlUmVzb3VyY2U6IFJlc291cmNlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vICBPbmx5IGF0dGFjaCBsYW1iZGEgdG8gYW4gQXBpIEdhdGV3YXkgaWYgYSByb3V0ZSBleGlzdFxuICAgICAgICBpZiAocHJvcC5hcGlHYXRld2F5Py5yb3V0ZSkgeyAgICAgICAgICAgXG5cbiAgICAgICAgICAgIGlmICghcHJvcC5hcGlHYXRld2F5LnVzZVJvdXRlT3ZlcnJpZGUpIHtcbiAgICAgICAgICAgICAgICAvLyAgRmlyc3Qgd2UgY3JlYXRlIHRoZSByb290IHJlc291cmNlIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gICAgICAgICAgICAgICAgLy8gIE5vdGU6ICB0aGlzIG5vdyB1c2VzIHRoZSBidW5kbGUgdmVyc2lvbiBhcyB0aGUgZmlyc3Qgc2VnbWVudCBpbiB0aGUgcGF0aC5cbiAgICAgICAgICAgICAgICBhY3RpdmVSb3V0ZVBhdGggPSBgdiR7KHByb3AuYXBpR2F0ZXdheT8udmVyc2lvbikgPyBwcm9wLmFwaUdhdGV3YXkudmVyc2lvbiA6IDF9YDtcbiAgICAgICAgICAgICAgICBhY3RpdmVSZXNvdXJjZSA9IFJvdXRlcy5yb3V0ZU1hcC5nZXQoYWN0aXZlUm91dGVQYXRoKSB8fCBhcGkucm9vdC5hZGRSZXNvdXJjZShhY3RpdmVSb3V0ZVBhdGgpO1xuICAgICAgICAgICAgICAgIFJvdXRlcy5yb3V0ZU1hcC5zZXQoYWN0aXZlUm91dGVQYXRoLCBhY3RpdmVSZXNvdXJjZSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLy8gIE5vdyB3ZSBnbyB0aHJvdWdoIG91ciByb3V0ZSBzZWdtZW50cyBjcmVhdGluZyB0aGUgcmVzdCBvZiB0aGUgcGF0aC5cbiAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IHByb3AuYXBpR2F0ZXdheT8ucm91dGUuc3BsaXQoXCIvXCIpLmZpbHRlcih4ID0+ICh4KSk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlUm91dGVQYXRoID0gYCR7YWN0aXZlUm91dGVQYXRofS8ke3BhdGhTZWdtZW50c1tpXX1gO1xuICAgICAgICAgICAgICAgIGxldCBzZWNvbmRhcnlSZXNvdXJjZSA9IFJvdXRlcy5yb3V0ZU1hcC5nZXQoYWN0aXZlUm91dGVQYXRoKSB8fCBhY3RpdmVSZXNvdXJjZT8uYWRkUmVzb3VyY2UocGF0aFNlZ21lbnRzW2ldKSB8fCBhcGkucm9vdC5hZGRSZXNvdXJjZShwYXRoU2VnbWVudHNbaV0pO1xuICAgICAgICAgICAgICAgIFJvdXRlcy5yb3V0ZU1hcC5zZXQoYWN0aXZlUm91dGVQYXRoLCBzZWNvbmRhcnlSZXNvdXJjZSk7XG4gICAgICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2UgPSBzZWNvbmRhcnlSZXNvdXJjZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByb3AuYXBpR2F0ZXdheS5zZWN1cmUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgIyMjIyMjIyMgJHtwcm9wLm5hbWV9ICMjIyMjIyMjIyMjI2ApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGAjIyMgQVVUSE9SSVpFUiAjIyNgLCBhdXRob3JpemVyKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgIyMjIEFVVEhPUklaRVIgSWQgIyMjYCwgYXV0aG9yaXplcj8uYXV0aG9yaXplcklkKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gIEZpbmFsbHksIHdlIGF0dGFjaCBvdXIgZnVuY3Rpb24gdG8gdGhlIGxhc3QgcmVzb3VyY2VcbiAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlIS5hZGRNZXRob2QocHJvcC5hcGlHYXRld2F5Lm1ldGhvZCB8fCAnR0VUJyxcbiAgICAgICAgICAgICAgICBuZXcgTGFtYmRhSW50ZWdyYXRpb24obGFtYmRhTm9kZSwgeyBwcm94eTogdHJ1ZSwgfSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0UGFyYW1ldGVyczogUm91dGVzLmNyZWF0ZVF1ZXJ5U3RyaW5nT2JqZWN0KHByb3AuYXBpR2F0ZXdheS5xdWVyeVN0cmluZ3MpLFxuICAgICAgICAgICAgICAgICAgICBhcGlLZXlSZXF1aXJlZDogKHByb3AuYXBpR2F0ZXdheS5yZXF1aXJlQXBpS2V5KSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgYXV0aG9yaXplcjogcHJvcC5hcGlHYXRld2F5LnNlY3VyZSA/IGF1dGhvcml6ZXIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6YXRpb25UeXBlOiBwcm9wLmFwaUdhdGV3YXkuc2VjdXJlID8gQXV0aG9yaXphdGlvblR5cGUuQ1VTVE9NIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVRdWVyeVN0cmluZ09iamVjdChxdWVyeVN0cmluZ3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gIHtcblxuICAgICAgICBpZiAoIXF1ZXJ5U3RyaW5ncyB8fCBxdWVyeVN0cmluZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG5cbiAgICAgICAgcXVlcnlTdHJpbmdzLmZvckVhY2goKHFzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIG9ialtgbWV0aG9kLnJlcXVlc3QucXVlcnlzdHJpbmcuJHtxc31gXSA9IHRydWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gb2JqOyAgIFxuICAgIH1cblxufSJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZVJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMEk7QUFLMUksTUFBYSxNQUFNO0lBRVIsTUFBTSxDQUFDLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLElBQW1CLEVBQ25CLEdBQWEsRUFDYixVQUEwQixFQUMxQixVQUE4QztRQUU5QyxNQUFNLFFBQVEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxjQUFjLEdBQXlCLFNBQVMsQ0FBQztRQUVyRCx5REFBeUQ7UUFDekQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRTtZQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsMERBQTBEO2dCQUMxRCw2RUFBNkU7Z0JBQzdFLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRixjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQy9GLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUN4RDtZQUdELHVFQUF1RTtZQUN2RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxlQUFlLEdBQUcsR0FBRyxlQUFlLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksY0FBYyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEosTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3hELGNBQWMsR0FBRyxpQkFBaUIsQ0FBQzthQUN0QztZQUVELHdEQUF3RDtZQUN4RCxjQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssRUFDckQsSUFBSSxrQ0FBaUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFDbkQ7Z0JBQ0ksaUJBQWlCLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2dCQUMvRSxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQzlELFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMzRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0NBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ25GLENBQUMsQ0FBQztTQUNWO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxZQUFrQztRQUVwRSxJQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEdBQUcsR0FBK0IsRUFBRSxDQUFDO1FBRTNDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUNoQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDakIsQ0FBQzs7QUEvREwsd0JBaUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aG9yaXphdGlvblR5cGUsIElSZXN0QXBpLCBMYW1iZGFJbnRlZ3JhdGlvbiwgUmVxdWVzdEF1dGhvcml6ZXIsIFJlc291cmNlLCBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy90eXBlc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBSb3V0ZXMge1xuXG4gICAgcHVibGljIHN0YXRpYyBSZXNvdXJjZXM6IFJlc291cmNlW10gPSBbXTtcbiAgICBwcml2YXRlIHN0YXRpYyByb3V0ZU1hcCA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUmVzb3VyY2UoXG4gICAgICAgIHByb3A6IFRzZ0xhbWJkYVByb3AsXG4gICAgICAgIGFwaTogSVJlc3RBcGksXG4gICAgICAgIGxhbWJkYU5vZGU6IE5vZGVqc0Z1bmN0aW9uLFxuICAgICAgICBhdXRob3JpemVyPzogVG9rZW5BdXRob3JpemVyfFJlcXVlc3RBdXRob3JpemVyKTogdm9pZCB7ICAgICAgICAgXG5cbiAgICAgICAgY29uc3Qgcm91dGVNYXA6IE1hcDxzdHJpbmcsIFJlc291cmNlPiA9IG5ldyBNYXAoKTtcblxuICAgICAgICBsZXQgYWN0aXZlUm91dGVQYXRoID0gXCJcIjtcbiAgICAgICAgbGV0IGFjdGl2ZVJlc291cmNlOiBSZXNvdXJjZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyAgT25seSBhdHRhY2ggbGFtYmRhIHRvIGFuIEFwaSBHYXRld2F5IGlmIGEgcm91dGUgZXhpc3RcbiAgICAgICAgaWYgKHByb3AuYXBpR2F0ZXdheT8ucm91dGUpIHsgICAgICAgICAgIFxuXG4gICAgICAgICAgICBpZiAoIXByb3AuYXBpR2F0ZXdheS51c2VSb3V0ZU92ZXJyaWRlKSB7XG4gICAgICAgICAgICAgICAgLy8gIEZpcnN0IHdlIGNyZWF0ZSB0aGUgcm9vdCByZXNvdXJjZSBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICAgICAgICAgICAgICAgIC8vICBOb3RlOiAgdGhpcyBub3cgdXNlcyB0aGUgYnVuZGxlIHZlcnNpb24gYXMgdGhlIGZpcnN0IHNlZ21lbnQgaW4gdGhlIHBhdGguXG4gICAgICAgICAgICAgICAgYWN0aXZlUm91dGVQYXRoID0gYHYkeyhwcm9wLmFwaUdhdGV3YXk/LnZlcnNpb24pID8gcHJvcC5hcGlHYXRld2F5LnZlcnNpb24gOiAxfWA7XG4gICAgICAgICAgICAgICAgYWN0aXZlUmVzb3VyY2UgPSBSb3V0ZXMucm91dGVNYXAuZ2V0KGFjdGl2ZVJvdXRlUGF0aCkgfHwgYXBpLnJvb3QuYWRkUmVzb3VyY2UoYWN0aXZlUm91dGVQYXRoKTtcbiAgICAgICAgICAgICAgICBSb3V0ZXMucm91dGVNYXAuc2V0KGFjdGl2ZVJvdXRlUGF0aCwgYWN0aXZlUmVzb3VyY2UpO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC8vICBOb3cgd2UgZ28gdGhyb3VnaCBvdXIgcm91dGUgc2VnbWVudHMgY3JlYXRpbmcgdGhlIHJlc3Qgb2YgdGhlIHBhdGguXG4gICAgICAgICAgICBjb25zdCBwYXRoU2VnbWVudHMgPSBwcm9wLmFwaUdhdGV3YXk/LnJvdXRlLnNwbGl0KFwiL1wiKS5maWx0ZXIoeCA9PiAoeCkpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlUGF0aCA9IGAke2FjdGl2ZVJvdXRlUGF0aH0vJHtwYXRoU2VnbWVudHNbaV19YDtcbiAgICAgICAgICAgICAgICBsZXQgc2Vjb25kYXJ5UmVzb3VyY2UgPSBSb3V0ZXMucm91dGVNYXAuZ2V0KGFjdGl2ZVJvdXRlUGF0aCkgfHwgYWN0aXZlUmVzb3VyY2U/LmFkZFJlc291cmNlKHBhdGhTZWdtZW50c1tpXSkgfHwgYXBpLnJvb3QuYWRkUmVzb3VyY2UocGF0aFNlZ21lbnRzW2ldKTtcbiAgICAgICAgICAgICAgICBSb3V0ZXMucm91dGVNYXAuc2V0KGFjdGl2ZVJvdXRlUGF0aCwgc2Vjb25kYXJ5UmVzb3VyY2UpO1xuICAgICAgICAgICAgICAgIGFjdGl2ZVJlc291cmNlID0gc2Vjb25kYXJ5UmVzb3VyY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vICBGaW5hbGx5LCB3ZSBhdHRhY2ggb3VyIGZ1bmN0aW9uIHRvIHRoZSBsYXN0IHJlc291cmNlXG4gICAgICAgICAgICBhY3RpdmVSZXNvdXJjZSEuYWRkTWV0aG9kKHByb3AuYXBpR2F0ZXdheS5tZXRob2QgfHwgJ0dFVCcsXG4gICAgICAgICAgICAgICAgbmV3IExhbWJkYUludGVncmF0aW9uKGxhbWJkYU5vZGUsIHsgcHJveHk6IHRydWUsIH0pLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFBhcmFtZXRlcnM6IFJvdXRlcy5jcmVhdGVRdWVyeVN0cmluZ09iamVjdChwcm9wLmFwaUdhdGV3YXkucXVlcnlTdHJpbmdzKSxcbiAgICAgICAgICAgICAgICAgICAgYXBpS2V5UmVxdWlyZWQ6IChwcm9wLmFwaUdhdGV3YXkucmVxdWlyZUFwaUtleSkgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6ZXI6IHByb3AuYXBpR2F0ZXdheS5zZWN1cmUgPyBhdXRob3JpemVyIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBhdXRob3JpemF0aW9uVHlwZTogcHJvcC5hcGlHYXRld2F5LnNlY3VyZSA/IEF1dGhvcml6YXRpb25UeXBlLkNVU1RPTSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUXVlcnlTdHJpbmdPYmplY3QocXVlcnlTdHJpbmdzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ICB7XG5cbiAgICAgICAgaWYgKCFxdWVyeVN0cmluZ3MgfHwgcXVlcnlTdHJpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gICAgICAgIHF1ZXJ5U3RyaW5ncy5mb3JFYWNoKChxczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBvYmpbYG1ldGhvZC5yZXF1ZXN0LnF1ZXJ5c3RyaW5nLiR7cXN9YF0gPSB0cnVlO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9iajsgICBcbiAgICB9XG5cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.0.83",
3
+ "version": "1.0.85",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -48,14 +48,10 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
48
48
 
49
49
  if (!authorizer) {
50
50
  console.log('Authorizer Not Created');
51
- // throw new Error("Error Creating Authorizer");
52
-
53
51
  }
54
52
  else {
55
53
  console.log('Authorizer Created', authorizer);
56
54
  }
57
-
58
-
59
55
  }
60
56
 
61
57
  // Create Lambdas
@@ -65,8 +61,6 @@ export class CreateApiAndAttachLambdas extends BaseResource<ApiLambdaResult> {
65
61
  if (this.tables) {
66
62
  this.assignAccessToTables(this.tables, lambdas.Lambdas);
67
63
  }
68
-
69
- console.log('### AUTHORIZER BEFORE ADDING ROUTERS ####', authorizer);
70
64
 
71
65
  // Create Routes on API Gateway for Lambdas from config
72
66
  this.AddRoutes(this.config, this.gatewayApi, lambdas.Lambdas, authorizer);
@@ -8,6 +8,7 @@ import { MicroserviceProps } from "../../interfaces/MicroserviceProps";
8
8
 
9
9
  import { BaseResource } from "../base/baseResource";
10
10
  import { CreateCertificate } from "../certificate/createCertificate";
11
+ import { TsgApiKey } from "./createApiKey";
11
12
 
12
13
  export class Api extends BaseResource<IRestApi> {
13
14
 
@@ -37,11 +38,16 @@ export class Api extends BaseResource<IRestApi> {
37
38
 
38
39
  this.createARecord(scope, zone, api);
39
40
 
41
+ this.createApiKey(this.config, api);
42
+
40
43
  return api;
44
+
41
45
  } else {
42
46
 
43
47
  const api = new RestApi(this.scope, `${this.config.AppPrefix}-rest-api`, this.createApiProps());
44
48
 
49
+ this.createApiKey(this.config, api);
50
+
45
51
  return api;
46
52
  }
47
53
  }
@@ -95,6 +101,19 @@ export class Api extends BaseResource<IRestApi> {
95
101
  return corsOptions;
96
102
  }
97
103
 
104
+ private requiresApiKey(config: AppConfig) {
105
+ // Determine if any of the lambdas require an API Key
106
+ return config.RESOURCES.LAMBDA.some((lambda) => lambda.apiGateway?.requireApiKey === true);
107
+ }
108
+
109
+ private createApiKey(config: AppConfig, api: RestApi) {
110
+
111
+ if (this.requiresApiKey(this.config)) {
112
+ const apiKey = new TsgApiKey(this.scope, this.config, api)
113
+ return apiKey;
114
+ }
115
+ return null;
116
+ }
98
117
  // private createCustomDomain(scope: Construct, config: MicroserviceProps) {
99
118
  // const domainName = DomainName.fromDomainNameAttributes(scope, `${config.API.Name}-custom-domain`, {
100
119
  // domainName: config.DNS?.ZoneName,
@@ -0,0 +1,89 @@
1
+ import { Construct } from "constructs";
2
+ import { BaseResource } from "../base/baseResource";
3
+ import { ApiKeyProps, IApiKey, ApiKey as AWS_API_KEY, IRestApi, RestApi } from "aws-cdk-lib/aws-apigateway";
4
+ import { AppConfig } from "../../config/AppConfig";
5
+ import { CfnOutput, RemovalPolicy } from "aws-cdk-lib";
6
+ import { UsagePlanProps } from "aws-cdk-lib/aws-apigateway";
7
+
8
+ export class TsgApiKey extends BaseResource<AWS_API_KEY> {
9
+
10
+
11
+ private api: RestApi;
12
+ private apiKey: IApiKey;
13
+
14
+ constructor(scope: Construct, config: AppConfig, api: RestApi) {
15
+ super(scope, config);
16
+
17
+ this.api = api;
18
+
19
+ this.createdResources = this.createResource(scope);
20
+
21
+ this.applyRemovalPolicy();
22
+
23
+ this.createOutput(scope, this.createdResources);
24
+ }
25
+
26
+ get APIKey() {
27
+ return this.apiKey;
28
+ }
29
+
30
+ public createResource(scope: Construct): AWS_API_KEY[] {
31
+
32
+ const keyProps: ApiKeyProps = {
33
+ apiKeyName: `${this.config.AppPrefix}-x-api-key`,
34
+ resources: [this.api],
35
+ value: `ddGTsLQrae2U6zTEjw4M07qO4pHGt60u73zImLHE`,
36
+ enabled: true,
37
+ description: `API App Key for ${this.config.AppName}`,
38
+
39
+ };
40
+
41
+ const apiKey = new AWS_API_KEY(scope, `${this.config.AppPrefix}-api-key`, keyProps);
42
+
43
+ this.createUsagePlan(scope, this.config, this.api, apiKey);
44
+
45
+ return [apiKey];
46
+ }
47
+
48
+ protected createOutput<T>(scope: Construct, createdAssets: T[]): void {
49
+ this.createdResources.forEach((key, idx) => {
50
+
51
+ new CfnOutput(scope, `api-key-${idx}`, {
52
+ value: `${key.keyId}\t${key.keyArn}`
53
+ });
54
+ });
55
+ }
56
+
57
+ private applyRemovalPolicy() {
58
+
59
+ const apiKey = this.createdResources[0];
60
+
61
+ if (apiKey) {
62
+ apiKey.applyRemovalPolicy(RemovalPolicy.DESTROY);
63
+ }
64
+ }
65
+
66
+ private createUsagePlan(scope: Construct, config: AppConfig, api: RestApi, apiKey: AWS_API_KEY) {
67
+
68
+ const planProps: UsagePlanProps = {
69
+ name: `${config.AppName}-easy-plan`,
70
+ throttle: {
71
+ rateLimit: 1000,
72
+ burstLimit: 10,
73
+ },
74
+ apiStages: [
75
+ {
76
+ api: api,
77
+ stage: api.deploymentStage,
78
+ },
79
+ ],
80
+ };
81
+
82
+ const plan = api.addUsagePlan(
83
+ `${config.AppPrefix}-${config.AppName}-usage-plan`,
84
+ planProps
85
+ );
86
+
87
+ plan.addApiKey(apiKey);
88
+ }
89
+ }
@@ -12,9 +12,7 @@ export class Routes {
12
12
  prop: TsgLambdaProp,
13
13
  api: IRestApi,
14
14
  lambdaNode: NodejsFunction,
15
- authorizer?: TokenAuthorizer|RequestAuthorizer): void {
16
-
17
-
15
+ authorizer?: TokenAuthorizer|RequestAuthorizer): void {
18
16
 
19
17
  const routeMap: Map<string, Resource> = new Map();
20
18
 
@@ -43,11 +41,6 @@ export class Routes {
43
41
  activeResource = secondaryResource;
44
42
  }
45
43
 
46
- if (prop.apiGateway.secure) {
47
- console.log(`######## ${prop.name} ############`);
48
- console.log(`### AUTHORIZER ###`, authorizer);
49
- console.log(`### AUTHORIZER Id ###`, authorizer?.authorizerId)
50
- }
51
44
  // Finally, we attach our function to the last resource
52
45
  activeResource!.addMethod(prop.apiGateway.method || 'GET',
53
46
  new LambdaIntegration(lambdaNode, { proxy: true, }),