@sylvesterllc/aws-constructs 1.0.87 → 1.0.90

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.
Files changed (49) hide show
  1. package/__tests__/app-config.test.ts +1 -1
  2. package/dist/config/AppConfig.js +1 -1
  3. package/dist/config/types/index.d.ts +6 -7
  4. package/dist/config/types/index.js +7 -8
  5. package/dist/constructs/DynamoDbSingleTable.d.ts +4 -0
  6. package/dist/constructs/DynamoDbSingleTable.js +15 -0
  7. package/dist/constructs/MicroService.d.ts +4 -0
  8. package/dist/constructs/MicroService.js +18 -3
  9. package/dist/constructs/index.d.ts +1 -0
  10. package/dist/constructs/index.js +4 -2
  11. package/dist/index.js +1 -1
  12. package/dist/interfaces/BaseResourceProps.d.ts +6 -0
  13. package/dist/interfaces/BaseResourceProps.js +3 -0
  14. package/dist/resources/base/tsgBaseResource.d.ts +9 -0
  15. package/dist/resources/base/tsgBaseResource.js +18 -0
  16. package/dist/resources/certificate/createCertificate.js +2 -2
  17. package/dist/resources/dynamodb/CreateDynamo.js +1 -1
  18. package/dist/resources/dynamodb/CreateDynamoSingleTableDesign.d.ts +12 -0
  19. package/dist/resources/dynamodb/CreateDynamoSingleTableDesign.js +102 -0
  20. package/dist/resources/ecr/CreateEcr.d.ts +9 -0
  21. package/dist/resources/ecr/CreateEcr.js +40 -0
  22. package/dist/resources/gateway/CreateApiAndAttachLambdas.js +3 -5
  23. package/dist/resources/gateway/createApi.js +1 -1
  24. package/dist/resources/gateway/createApiKey.js +1 -1
  25. package/dist/resources/helpers/createRoutes.js +1 -1
  26. package/dist/resources/index.d.ts +1 -0
  27. package/dist/resources/index.js +6 -0
  28. package/dist/resources/lambda/createLambda.js +2 -1
  29. package/dist/resources/lambda/lambdaHelper.d.ts +2 -1
  30. package/dist/resources/lambda/lambdaHelper.js +8 -8
  31. package/dist/resources/lambda-authorizer/TsgJwtTokenAuthorizer.js +1 -1
  32. package/dist/resources/lambda-authorizer/TsgRequestAuthorizer.js +1 -1
  33. package/dist/resources/lambda-authorizer/createAuthorizerHelpers.js +1 -1
  34. package/dist/resources/layers/common/src/nodejs/logger/logger.js +1 -1
  35. package/package.json +2 -2
  36. package/src/config/types/index.ts +7 -7
  37. package/src/constructs/DynamoDbSingleTable.ts +13 -0
  38. package/src/constructs/MicroService.ts +22 -2
  39. package/src/constructs/index.ts +2 -1
  40. package/src/index.ts +1 -1
  41. package/src/interfaces/BaseResourceProps.ts +7 -0
  42. package/src/resources/base/tsgBaseResource.ts +22 -0
  43. package/src/resources/certificate/createCertificate.ts +1 -1
  44. package/src/resources/dynamodb/CreateDynamoSingleTableDesign.ts +112 -0
  45. package/src/resources/ecr/CreateEcr.ts +58 -0
  46. package/src/resources/gateway/CreateApiAndAttachLambdas.ts +3 -5
  47. package/src/resources/index.ts +1 -0
  48. package/src/resources/lambda/createLambda.ts +3 -1
  49. package/src/resources/lambda/lambdaHelper.ts +27 -26
@@ -9,7 +9,7 @@ beforeAll(() => {
9
9
  props = testConfig;
10
10
  appConfig = new AppConfig(props);
11
11
 
12
- console.log('appConfig', appConfig);
12
+ // console.log('appConfig', appConfig);
13
13
  });
14
14
  describe('app Config', () => {
15
15
 
@@ -76,4 +76,4 @@ class AppConfig {
76
76
  }
77
77
  }
78
78
  exports.AppConfig = AppConfig;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9BcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsTUFBYSxTQUFTO0lBRVgsR0FBRyxDQUFlO0lBQ2xCLE9BQU8sQ0FBa0I7SUFDekIsU0FBUyxDQUFvQjtJQUM3QixHQUFHLENBQW1CO0lBR3RCLGFBQWEsQ0FBa0I7SUFDL0IsYUFBYSxDQUFrQjtJQUV0QyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUFZLE1BQWtCO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUduQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBa0I7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLEdBQUcsTUFBTSxDQUFDLE9BQU87U0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUV4QyxJQUFJLE1BQU0sQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDUCxHQUFHLE1BQU0sQ0FBQyxHQUFHO2FBQ2hCLENBQUM7SUFDVixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBa0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLEdBQUcsTUFBTSxDQUFDLFNBQVM7U0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHO1lBQ3BCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1NBQzdCLENBQUM7UUFFRixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsR0FBRyxHQUFHO2dCQUNQLEdBQUcsTUFBTSxDQUFDLEdBQUk7YUFDakIsQ0FBQztTQUNMO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRztnQkFDeEIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7YUFDakMsQ0FBQztTQUNMO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRztnQkFDakIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUc7YUFDMUIsQ0FBQztTQUNMO0lBRUwsQ0FBQztJQUNELG1HQUFtRztJQUNuRywwR0FBMEc7SUFDMUcsSUFBSTtJQUVJLGVBQWUsQ0FBTyxNQUFXLEVBQUUsTUFBMEI7UUFFakUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBTyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLE1BQU0sQ0FBQztJQUVsQixDQUFDO0lBRU8sV0FBVyxDQUFPLElBQXVCO1FBRTdDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixhQUFhO1FBQ2IsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sTUFBYSxDQUFDO0lBQ3pCLENBQUM7Q0FDSjtBQWhHRCw4QkFnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IHsgQXBpQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9BcGlBcHBDb25maWdcIjtcbmltcG9ydCB7IEdsb2JhbEFwcENvbmZpZyB9IGZyb20gXCIuL2N1c3RvbUNvbmZpZ3MvR2xvYmFsQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBJQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9JQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUFwcENvbmZpZyB9IGZyb20gXCIuL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWdcIjtcbmltcG9ydCB7IFRzZ0R5bmFtb1Byb3AgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgVHNnRG5zQXBwQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXMvVHNnRG5zQ29uZmlnXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFOYW1lIH0gZnJvbSBcIi4vdHlwZXMvVHNnTGFtYmRhTmFtZVwiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuL3R5cGVzL1RzZ0xhbWJkYVByb3BcIjtcblxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZyBpbXBsZW1lbnRzIElBcHBDb25maWcge1xuXG4gICAgcHVibGljIEFQSTogQXBpQXBwQ29uZmlnO1xuICAgIHB1YmxpYyBHTE9CQUxTOiBHbG9iYWxBcHBDb25maWc7XG4gICAgcHVibGljIFJFU09VUkNFUzogUmVzb3VyY2VBcHBDb25maWc7XG4gICAgcHVibGljIEROUz86IFRzZ0Ruc0FwcENvbmZpZztcblxuXG4gICAgcHVibGljIGxhbWJkYUNvbmZpZ3M6IFRzZ0xhbWJkYVByb3BbXTtcbiAgICBwdWJsaWMgZHluYW1vQ29uZmlnczogVHNnRHluYW1vUHJvcFtdO1xuXG4gICAgZ2V0IEFwcE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLkdMT0JBTFMubmFtZTtcbiAgICB9XG5cbiAgICBnZXQgQXBwUHJlZml4KCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuR0xPQkFMUy5wcmVmaXgpID8gdGhpcy5HTE9CQUxTLnByZWZpeCA6IHRoaXMuR0xPQkFMUy5uYW1lO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLnBvcHVsYXRlKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZShjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUdsb2JhbENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlQXBpQ29uZmlnKGNvbmZpZyk7XG4gICAgICAgIHRoaXMucG9wdWxhdGVSZXNvdXJjZXMoY29uZmlnKTtcblxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZUdsb2JhbENvbmZpZyhjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5HTE9CQUxTID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLkdMT0JBTFNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlQXBpQ29uZmlnKGNvbmZpZzogSUFwcENvbmZpZykge1xuXG4gICAgICAgIGlmIChjb25maWcuQVBJKVxuICAgICAgICAgICAgdGhpcy5BUEkgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLkFQSVxuICAgICAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlUmVzb3VyY2VzKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLlJFU09VUkNFUyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVNcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5SRVNPVVJDRVMuRFlOQU1PID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLlJFU09VUkNFUy5EWU5BTU9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY29uZmlnLkROUykge1xuICAgICAgICAgICAgdGhpcy5ETlMgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLkROUyFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSKSB7XG4gICAgICAgICAgICB0aGlzLlJFU09VUkNFUy5BVVRIT1JJWkVSID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWcuUkVTT1VSQ0VTLkVDMikge1xuICAgICAgICAgICAgdGhpcy5SRVNPVVJDRVMuRUMyID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuRUMyXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLy8gICAgIHRoaXMubGFtYmRhQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnTGFtYmRhTmFtZSwgVHNnTGFtYmRhUHJvcD4odGhpcy5SRVNPVVJDRVMuTEFNQkRBISk7XG4gICAgLy8gICAgIHRoaXMuZHluYW1vQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnVGFibGVOYW1lLCBUc2dEeW5hbW9Qcm9wPih0aGlzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyEpO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVDb25maWdzPFQsIFI+KHJlc3VsdDogUltdLCByZWNvcmQ/OiBSZWNvcmQ8c3RyaW5nLCBSPikge1xuXG4gICAgICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZXhwYW5kUHJvcHM8VCwgUj4ocmVjb3JkKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcblxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kUHJvcHM8VCwgUj4oZGF0YTogUmVjb3JkPHN0cmluZywgUj4pIHtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgYXMgUltdO1xuICAgIH1cbn0iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9BcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsTUFBYSxTQUFTO0lBRVgsR0FBRyxDQUFlO0lBQ2xCLE9BQU8sQ0FBa0I7SUFDekIsU0FBUyxDQUFvQjtJQUM3QixHQUFHLENBQW1CO0lBR3RCLGFBQWEsQ0FBa0I7SUFDL0IsYUFBYSxDQUFrQjtJQUV0QyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUFZLE1BQWtCO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUduQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBa0I7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLEdBQUcsTUFBTSxDQUFDLE9BQU87U0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUV4QyxJQUFJLE1BQU0sQ0FBQyxHQUFHO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDUCxHQUFHLE1BQU0sQ0FBQyxHQUFHO2FBQ2hCLENBQUM7SUFDVixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBa0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLEdBQUcsTUFBTSxDQUFDLFNBQVM7U0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHO1lBQ3BCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1NBQzdCLENBQUM7UUFFRixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxHQUFHLEdBQUc7Z0JBQ1AsR0FBRyxNQUFNLENBQUMsR0FBSTthQUNqQixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRztnQkFDeEIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVU7YUFDakMsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUc7Z0JBQ2pCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHO2FBQzFCLENBQUM7UUFDTixDQUFDO0lBRUwsQ0FBQztJQUNELG1HQUFtRztJQUNuRywwR0FBMEc7SUFDMUcsSUFBSTtJQUVJLGVBQWUsQ0FBTyxNQUFXLEVBQUUsTUFBMEI7UUFFakUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFPLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBRWxCLENBQUM7SUFFTyxXQUFXLENBQU8sSUFBdUI7UUFFN0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQWE7UUFDYixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBYSxDQUFDO0lBQ3pCLENBQUM7Q0FDSjtBQWhHRCw4QkFnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IHsgQXBpQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9BcGlBcHBDb25maWdcIjtcbmltcG9ydCB7IEdsb2JhbEFwcENvbmZpZyB9IGZyb20gXCIuL2N1c3RvbUNvbmZpZ3MvR2xvYmFsQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBJQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9JQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUFwcENvbmZpZyB9IGZyb20gXCIuL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWdcIjtcbmltcG9ydCB7IFRzZ0R5bmFtb1Byb3AgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgVHNnRG5zQXBwQ29uZmlnIH0gZnJvbSBcIi4vdHlwZXMvVHNnRG5zQ29uZmlnXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFOYW1lIH0gZnJvbSBcIi4vdHlwZXMvVHNnTGFtYmRhTmFtZVwiO1xuaW1wb3J0IHsgVHNnTGFtYmRhUHJvcCB9IGZyb20gXCIuL3R5cGVzL1RzZ0xhbWJkYVByb3BcIjtcblxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZyBpbXBsZW1lbnRzIElBcHBDb25maWcge1xuXG4gICAgcHVibGljIEFQSTogQXBpQXBwQ29uZmlnO1xuICAgIHB1YmxpYyBHTE9CQUxTOiBHbG9iYWxBcHBDb25maWc7XG4gICAgcHVibGljIFJFU09VUkNFUzogUmVzb3VyY2VBcHBDb25maWc7XG4gICAgcHVibGljIEROUz86IFRzZ0Ruc0FwcENvbmZpZztcblxuXG4gICAgcHVibGljIGxhbWJkYUNvbmZpZ3M6IFRzZ0xhbWJkYVByb3BbXTtcbiAgICBwdWJsaWMgZHluYW1vQ29uZmlnczogVHNnRHluYW1vUHJvcFtdO1xuXG4gICAgZ2V0IEFwcE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLkdMT0JBTFMubmFtZTtcbiAgICB9XG5cbiAgICBnZXQgQXBwUHJlZml4KCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuR0xPQkFMUy5wcmVmaXgpID8gdGhpcy5HTE9CQUxTLnByZWZpeCA6IHRoaXMuR0xPQkFMUy5uYW1lO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLnBvcHVsYXRlKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZShjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUdsb2JhbENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlQXBpQ29uZmlnKGNvbmZpZyk7XG4gICAgICAgIHRoaXMucG9wdWxhdGVSZXNvdXJjZXMoY29uZmlnKTtcblxuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZUdsb2JhbENvbmZpZyhjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5HTE9CQUxTID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLkdMT0JBTFNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlQXBpQ29uZmlnKGNvbmZpZzogSUFwcENvbmZpZykge1xuXG4gICAgICAgIGlmIChjb25maWcuQVBJKVxuICAgICAgICAgICAgdGhpcy5BUEkgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLkFQSVxuICAgICAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlUmVzb3VyY2VzKGNvbmZpZzogSUFwcENvbmZpZykge1xuICAgICAgICB0aGlzLlJFU09VUkNFUyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVNcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5SRVNPVVJDRVMuRFlOQU1PID0ge1xuICAgICAgICAgICAgLi4uY29uZmlnLlJFU09VUkNFUy5EWU5BTU9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY29uZmlnLkROUykge1xuICAgICAgICAgICAgdGhpcy5ETlMgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLkROUyFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnLlJFU09VUkNFUy5BVVRIT1JJWkVSKSB7XG4gICAgICAgICAgICB0aGlzLlJFU09VUkNFUy5BVVRIT1JJWkVSID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuQVVUSE9SSVpFUlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWcuUkVTT1VSQ0VTLkVDMikge1xuICAgICAgICAgICAgdGhpcy5SRVNPVVJDRVMuRUMyID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuRUMyXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLy8gICAgIHRoaXMubGFtYmRhQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnTGFtYmRhTmFtZSwgVHNnTGFtYmRhUHJvcD4odGhpcy5SRVNPVVJDRVMuTEFNQkRBISk7XG4gICAgLy8gICAgIHRoaXMuZHluYW1vQ29uZmlncyA9IHRoaXMuZXhwYW5kUHJvcHM8VHNnVGFibGVOYW1lLCBUc2dEeW5hbW9Qcm9wPih0aGlzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyEpO1xuICAgIC8vIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVDb25maWdzPFQsIFI+KHJlc3VsdDogUltdLCByZWNvcmQ/OiBSZWNvcmQ8c3RyaW5nLCBSPikge1xuXG4gICAgICAgIGlmICghcmVjb3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuZXhwYW5kUHJvcHM8VCwgUj4ocmVjb3JkKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcblxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kUHJvcHM8VCwgUj4oZGF0YTogUmVjb3JkPHN0cmluZywgUj4pIHtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgYXMgUltdO1xuICAgIH1cbn0iXX0=
@@ -1,11 +1,10 @@
1
- export * from "./TsgLambdaProp";
1
+ export * from "./TsgAuthorizerProp";
2
+ export * from "./TsgAuthorizerType";
2
3
  export * from "./TsgCognitoConfig";
4
+ export * from "./TsgDynamoDbProp";
5
+ export * from "./TsgDynamoProp";
6
+ export * from "./TsgDynamoTableRef";
3
7
  export * from "./TsgLambdaMap";
4
8
  export * from "./TsgLambdaName";
5
9
  export * from "./TsgLambdaNode";
6
- export * from "./TsgDynamoProp";
7
- export * from "./TsgDynamoTableRef";
8
- export * from "./TsgDynamoDbProp";
9
- export * from "./LogDuration";
10
- export * from "./TsgAuthorizerProp";
11
- export * from "./TsgAuthorizerType";
10
+ export * from "./TsgLambdaProp";
@@ -14,15 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./TsgLambdaProp"), exports);
17
+ __exportStar(require("./TsgAuthorizerProp"), exports);
18
+ __exportStar(require("./TsgAuthorizerType"), exports);
18
19
  __exportStar(require("./TsgCognitoConfig"), exports);
20
+ __exportStar(require("./TsgDynamoDbProp"), exports);
21
+ __exportStar(require("./TsgDynamoProp"), exports);
22
+ __exportStar(require("./TsgDynamoTableRef"), exports);
19
23
  __exportStar(require("./TsgLambdaMap"), exports);
20
24
  __exportStar(require("./TsgLambdaName"), exports);
21
25
  __exportStar(require("./TsgLambdaNode"), exports);
22
- __exportStar(require("./TsgDynamoProp"), exports);
23
- __exportStar(require("./TsgDynamoTableRef"), exports);
24
- __exportStar(require("./TsgDynamoDbProp"), exports);
25
- __exportStar(require("./LogDuration"), exports);
26
- __exportStar(require("./TsgAuthorizerProp"), exports);
27
- __exportStar(require("./TsgAuthorizerType"), exports);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMscURBQW1DO0FBQ25DLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBQ2xDLGdEQUE4QjtBQUM5QixzREFBb0M7QUFDcEMsc0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnQ29nbml0b0NvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhTWFwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Uc2dMYW1iZGFOYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Uc2dMYW1iZGFOb2RlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Uc2dEeW5hbW9Qcm9wXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Uc2dEeW5hbW9UYWJsZVJlZlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnRHluYW1vRGJQcm9wXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Mb2dEdXJhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnQXV0aG9yaXplclByb3BcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG4iXX0=
26
+ __exportStar(require("./TsgLambdaProp"), exports);
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBb0M7QUFDcEMsc0RBQW9DO0FBQ3BDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsa0RBQWdDO0FBQ2hDLHNEQUFvQztBQUNwQyxpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxrREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Uc2dBdXRob3JpemVyUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnQXV0aG9yaXplclR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0NvZ25pdG9Db25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0R5bmFtb0RiUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnRHluYW1vUHJvcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnRHluYW1vVGFibGVSZWZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RzZ0xhbWJkYU1hcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhTmFtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhTm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHNnTGFtYmRhUHJvcFwiO1xuXG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { Construct } from "constructs";
2
+ export declare class DynamoDbSingleTable extends Construct {
3
+ constructor(scope: Construct, id: string, tableName: string);
4
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoDbSingleTable = void 0;
4
+ const constructs_1 = require("constructs");
5
+ const CreateDynamoSingleTableDesign_1 = require("../resources/dynamodb/CreateDynamoSingleTableDesign");
6
+ class DynamoDbSingleTable extends constructs_1.Construct {
7
+ constructor(scope, id, tableName) {
8
+ super(scope, id);
9
+ {
10
+ new CreateDynamoSingleTableDesign_1.CreateDynamoSingleTableDesign(this, tableName);
11
+ }
12
+ }
13
+ }
14
+ exports.DynamoDbSingleTable = DynamoDbSingleTable;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1vRGJTaW5nbGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL0R5bmFtb0RiU2luZ2xlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLHVHQUFvRztBQUVwRyxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7WUFFZixJQUFJLDZEQUE2QixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV2RCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBVEQsa0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24gfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduXCI7XG5cbmV4cG9ydCBjbGFzcyBEeW5hbW9EYlNpbmdsZVRhYmxlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7IHtcblxuICAgICAgICAgICAgbmV3IENyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduKHRoaXMsIHRhYmxlTmFtZSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
@@ -6,6 +6,10 @@ export declare class MicroService extends Construct {
6
6
  protected requireSeedDatabase: boolean;
7
7
  protected readonly hasLambdaLayers: boolean;
8
8
  protected appConfig: AppConfig;
9
+ private readonly api;
10
+ private readonly dynamoTables;
11
+ private readonly lambdaLayers;
12
+ private readonly secretManager;
9
13
  constructor(scope: Construct, id: string, props: MicroserviceProps);
10
14
  private onInit;
11
15
  protected createTag(scope: Construct): void;
@@ -15,6 +15,10 @@ class MicroService extends constructs_1.Construct {
15
15
  requireSeedDatabase = false;
16
16
  hasLambdaLayers = false;
17
17
  appConfig;
18
+ api;
19
+ dynamoTables;
20
+ lambdaLayers;
21
+ secretManager = null;
18
22
  constructor(scope, id, props) {
19
23
  super(scope, id);
20
24
  this.appConfig = new AppConfig_1.AppConfig(props);
@@ -24,16 +28,21 @@ class MicroService extends constructs_1.Construct {
24
28
  props.RESOURCES.DYNAMO.SEED_LAMBDA) ? true : false;
25
29
  this.hasLambdaLayers = (props.RESOURCES.LAMBDA_LAYERS &&
26
30
  props.RESOURCES.LAMBDA_LAYERS.length > 0) ? true : false;
27
- this.onInit(scope);
31
+ const results = this.onInit(scope);
32
+ this.api = results.restApi;
33
+ this.dynamoTables = results.dynamoTables;
34
+ this.lambdaLayers = results.lambdaLayers;
35
+ this.secretManager = results.secretManager;
28
36
  this.createTag(scope);
29
37
  }
30
38
  onInit(scope) {
39
+ let secretManager = null;
31
40
  let tables = undefined;
32
41
  let commonLayers = undefined;
33
42
  if (process.env.SECRET_MANAGER_ARN) {
34
43
  // throw new Error(`You must provide the ARN for the your Configuration Secret
35
44
  // Manager`);
36
- const secretMgr = (0, securityManager_1.getSecretManager)(scope, this.appConfig, process.env.SECRET_MANAGER_ARN);
45
+ secretManager = (0, securityManager_1.getSecretManager)(scope, this.appConfig, process.env.SECRET_MANAGER_ARN);
37
46
  }
38
47
  if (this.hasLambdaLayers) {
39
48
  commonLayers = (0, createCommonLayer_1.createCommonLayer)(scope, this.appConfig);
@@ -50,6 +59,12 @@ class MicroService extends constructs_1.Construct {
50
59
  }
51
60
  // CREATE API GATEWAY AND LAMBDA HERE
52
61
  const apiGateway = new CreateApiAndAttachLambdas_1.CreateApiAndAttachLambdas(scope, this.appConfig, gateway[0], layers, tables);
62
+ return {
63
+ restApi: (gateway?.length > 0) ? gateway[0] : null,
64
+ lambdaLayers: layers || null,
65
+ dynamoTables: tables || null,
66
+ secretManager: secretManager,
67
+ };
53
68
  }
54
69
  createTag(scope) {
55
70
  aws_cdk_lib_1.Tags.of(scope).add('App', this.appConfig.AppName);
@@ -57,4 +72,4 @@ class MicroService extends constructs_1.Construct {
57
72
  }
58
73
  }
59
74
  exports.MicroService = MicroService;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBQ2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUUvQixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7WUFDakUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXZELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDakQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFnQjtRQUUzQixJQUFJLE1BQU0sR0FBd0IsU0FBUyxDQUFDO1FBQzVDLElBQUksWUFBWSxHQUErQixTQUFTLENBQUM7UUFFekQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFO1lBQ2hDLCtFQUErRTtZQUMvRSx1QkFBdUI7WUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBQSxrQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsWUFBWSxHQUFHLElBQUEscUNBQWlCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUU1QixzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSw2QkFBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFFRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFBLG1FQUFnQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvRTtRQUVELHNDQUFzQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLHFEQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFFdkcsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFnQjtRQUNoQyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDSjtBQWpFRCxvQ0FpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBDcmVhdGVEeW5hbW9EYiB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZHluYW1vZGIvQ3JlYXRlRHluYW1vXCI7XG5pbXBvcnQgeyBBcGkgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2dhdGV3YXkvY3JlYXRlQXBpXCI7XG5pbXBvcnQgeyBnZXRTZWNyZXRNYW5hZ2VyIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9zZWN1cml0eU1hbmFnZXJcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbW1vbkxheWVyIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9oZWxwZXJzL2NyZWF0ZUNvbW1vbkxheWVyXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVGFncyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXMgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2dhdGV3YXkvQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhc1wiO1xuaW1wb3J0IHsgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2N1c3RvbVJlc291cmNlL2NyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlXCI7XG5leHBvcnQgY2xhc3MgTWljcm9TZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZXF1aXJlU2VlZERhdGFiYXNlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc0xhbWJkYUxheWVyczogYm9vbGVhbiA9IGZhbHNlOyAgXG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgdGhpcy5hcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKHByb3BzKTsgIFxuICAgICAgICAgICAgICAgXG4gICAgICAgIHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcyA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMgJiZcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uVEFCTEVTLmxlbmd0aCA+IDApID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSA9IChwcm9wcy5SRVNPVVJDRVMuRFlOQU1PPy5VU0VfU0VFRF9EQVRBQkFTRSAmJiBcbiAgICAgICAgICAgIHByb3BzLlJFU09VUkNFUy5EWU5BTU8uU0VFRF9MQU1CREEpID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaGFzTGFtYmRhTGF5ZXJzID0gKHByb3BzLlJFU09VUkNFUy5MQU1CREFfTEFZRVJTICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vbkluaXQoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgIGNvbnN0IHNlY3JldE1nciA9IGdldFNlY3JldE1hbmFnZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCBwcm9jZXNzLmVudi5TRUNSRVRfTUFOQUdFUl9BUk4pOyAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTGFtYmRhTGF5ZXJzKSB7XG4gICAgICAgICAgICBjb21tb25MYXllcnMgPSBjcmVhdGVDb21tb25MYXllcihzY29wZSwgdGhpcy5hcHBDb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZ2F0ZXdheSA9IG5ldyBBcGkoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKS5BUElzO1xuXG4gICAgICAgIGNvbnN0IGxheWVycyA9IGNvbW1vbkxheWVycztcblxuICAgICAgICAvLyBDcmVhdGVzIER5bmFtb0RiIFRhYmxlcyBpZiByZXF1aXJlZFxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlRHluYW1vVGFibGVzKSB7XG4gICAgICAgICAgICBjb25zdCBkeW5hbW8gPSBuZXcgQ3JlYXRlRHluYW1vRGIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcblxuICAgICAgICAgICAgdGFibGVzID0gZHluYW1vLkNyZWF0ZWRUYWJsZXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlKSB7XG4gICAgICAgICAgICBjcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZShzY29wZSwgdGhpcy5hcHBDb25maWcsIHRhYmxlcyFbMF0sIGxheWVycyk7XG4gICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgLy8gQ1JFQVRFIEFQSSBHQVRFV0FZIEFORCBMQU1CREEgSEVSRSBcbiAgICAgICAgY29uc3QgYXBpR2F0ZXdheSA9IG5ldyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgZ2F0ZXdheVswXSwgbGF5ZXJzLHRhYmxlcyk7XG4gICAgICAgXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhZyhzY29wZTogQ29uc3RydWN0KSB7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnQXBwJywgdGhpcy5hcHBDb25maWcuQXBwTmFtZSk7XG4gICAgICAgIFRhZ3Mub2Yoc2NvcGUpLmFkZCgnUmVzb3VjZVByZWZpeCcsIHRoaXMuYXBwQ29uZmlnLkFwcFByZWZpeCk7XG4gICAgfVxufSJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvTWljcm9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUF1QztBQUV2QyxxRUFBb0U7QUFDcEUsOERBQXFEO0FBQ3JELGtFQUFnRTtBQUNoRSw4RUFBMkU7QUFDM0UsbURBQWdEO0FBQ2hELDZDQUFtQztBQUVuQyw4RkFBMkY7QUFDM0YsbUhBQWdIO0FBR2hILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXBCLG1CQUFtQixDQUFVO0lBQ3RDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUM1QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQzFDLFNBQVMsQ0FBWTtJQUNkLEdBQUcsQ0FBVztJQUNkLFlBQVksQ0FBc0I7SUFDbEMsWUFBWSxDQUE2QjtJQUN6QyxhQUFhLEdBQW1CLElBQUksQ0FBQztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtZQUN0RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7WUFDakUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXZELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDakQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUU3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWMsQ0FBQztRQUU1QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBZ0I7UUFFM0IsSUFBSSxhQUFhLEdBQW1CLElBQUksQ0FBQztRQUN6QyxJQUFJLE1BQU0sR0FBd0IsU0FBUyxDQUFDO1FBQzVDLElBQUksWUFBWSxHQUErQixTQUFTLENBQUM7UUFFekQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDakMsK0VBQStFO1lBQy9FLHVCQUF1QjtZQUN0QixhQUFhLEdBQUcsSUFBQSxrQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLFlBQVksR0FBRyxJQUFBLHFDQUFpQixFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksZUFBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXBELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUU1QixzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLDZCQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV6RCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNsQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFBLG1FQUFnQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUkscURBQXlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBQyxNQUFNLENBQUMsQ0FBQztRQUVuRyxPQUFPO1lBQ0gsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2xELFlBQVksRUFBRSxNQUFNLElBQUksSUFBSTtZQUM1QixZQUFZLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDNUIsYUFBYSxFQUFFLGFBQWE7U0FFL0IsQ0FBQztJQUVOLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBZ0I7UUFDaEMsa0JBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELGtCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0o7QUFuRkQsb0NBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vRGIgfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1wiO1xuaW1wb3J0IHsgQXBpIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L2NyZWF0ZUFwaVwiO1xuaW1wb3J0IHsgZ2V0U2VjcmV0TWFuYWdlciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvc2VjdXJpdHlNYW5hZ2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDb21tb25MYXllciB9IGZyb20gXCIuLi9yZXNvdXJjZXMvaGVscGVycy9jcmVhdGVDb21tb25MYXllclwiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExheWVyVmVyc2lvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDcmVhdGVBcGlBbmRBdHRhY2hMYW1iZGFzIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9nYXRld2F5L0NyZWF0ZUFwaUFuZEF0dGFjaExhbWJkYXNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlZWREYXRhYmFzZUN1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlcy9jdXN0b21SZXNvdXJjZS9jcmVhdGVTZWVkRGF0YWJhc2VDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5leHBvcnQgY2xhc3MgTWljcm9TZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1aXJlRHluYW1vVGFibGVzOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCByZXF1aXJlU2VlZERhdGFiYXNlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc0xhbWJkYUxheWVyczogYm9vbGVhbiA9IGZhbHNlOyAgXG4gICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtb1RhYmxlczogVGFibGVbXSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYUxheWVyczogTGF5ZXJWZXJzaW9uW10gfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXRNYW5hZ2VyOiBJU2VjcmV0IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICB0aGlzLmFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcocHJvcHMpOyAgXG4gICAgICAgICAgICAgICBcbiAgICAgICAgdGhpcy5yZXF1aXJlRHluYW1vVGFibGVzID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUyAmJlxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5UQUJMRVMubGVuZ3RoID4gMCkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5yZXF1aXJlU2VlZERhdGFiYXNlID0gKHByb3BzLlJFU09VUkNFUy5EWU5BTU8/LlVTRV9TRUVEX0RBVEFCQVNFICYmIFxuICAgICAgICAgICAgcHJvcHMuUkVTT1VSQ0VTLkRZTkFNTy5TRUVEX0xBTUJEQSkgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5oYXNMYW1iZGFMYXllcnMgPSAocHJvcHMuUkVTT1VSQ0VTLkxBTUJEQV9MQVlFUlMgJiYgXG4gICAgICAgICAgICBwcm9wcy5SRVNPVVJDRVMuTEFNQkRBX0xBWUVSUy5sZW5ndGggPiAwKSA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5vbkluaXQoc2NvcGUpO1xuXG4gICAgICAgIHRoaXMuYXBpID0gcmVzdWx0cy5yZXN0QXBpITtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZXMgPSByZXN1bHRzLmR5bmFtb1RhYmxlcyE7XG4gICAgICAgIHRoaXMubGFtYmRhTGF5ZXJzID0gcmVzdWx0cy5sYW1iZGFMYXllcnMhO1xuICAgICAgICB0aGlzLnNlY3JldE1hbmFnZXIgPSByZXN1bHRzLnNlY3JldE1hbmFnZXIhO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGFnKHNjb3BlKVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Jbml0KHNjb3BlOiBDb25zdHJ1Y3QpIHtcblxuICAgICAgICBsZXQgc2VjcmV0TWFuYWdlcjogSVNlY3JldCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgdGFibGVzOiBUYWJsZVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICBsZXQgY29tbW9uTGF5ZXJzOiBMYXllclZlcnNpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKSB7XG4gICAgICAgICAgICAvLyB0aHJvdyBuZXcgRXJyb3IoYFlvdSBtdXN0IHByb3ZpZGUgdGhlIEFSTiBmb3IgdGhlIHlvdXIgQ29uZmlndXJhdGlvbiBTZWNyZXQgXG4gICAgICAgICAgICAvLyAgICAgTWFuYWdlcmApOyAgICAgIFxuICAgICAgICAgICAgIHNlY3JldE1hbmFnZXIgPSBnZXRTZWNyZXRNYW5hZ2VyKHNjb3BlLCB0aGlzLmFwcENvbmZpZywgcHJvY2Vzcy5lbnYuU0VDUkVUX01BTkFHRVJfQVJOKTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0xhbWJkYUxheWVycykge1xuICAgICAgICAgICAgY29tbW9uTGF5ZXJzID0gY3JlYXRlQ29tbW9uTGF5ZXIoc2NvcGUsIHRoaXMuYXBwQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdhdGV3YXkgPSBuZXcgQXBpKHNjb3BlLCB0aGlzLmFwcENvbmZpZykuQVBJcztcblxuICAgICAgICBjb25zdCBsYXllcnMgPSBjb21tb25MYXllcnM7XG5cbiAgICAgICAgLy8gQ3JlYXRlcyBEeW5hbW9EYiBUYWJsZXMgaWYgcmVxdWlyZWRcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZUR5bmFtb1RhYmxlcykge1xuICAgICAgICAgICAgY29uc3QgZHluYW1vID0gbmV3IENyZWF0ZUR5bmFtb0RiKHNjb3BlLCB0aGlzLmFwcENvbmZpZyk7XG5cbiAgICAgICAgICAgIHRhYmxlcyA9IGR5bmFtby5DcmVhdGVkVGFibGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZVNlZWREYXRhYmFzZSkge1xuICAgICAgICAgICAgY3JlYXRlU2VlZERhdGFiYXNlQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsIHRoaXMuYXBwQ29uZmlnLCB0YWJsZXMhWzBdLCBsYXllcnMpO1xuICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIC8vIENSRUFURSBBUEkgR0FURVdBWSBBTkQgTEFNQkRBIEhFUkUgXG4gICAgICAgIGNvbnN0IGFwaUdhdGV3YXkgPSBuZXcgQ3JlYXRlQXBpQW5kQXR0YWNoTGFtYmRhcyhzY29wZSwgdGhpcy5hcHBDb25maWcsIGdhdGV3YXlbMF0sIGxheWVycyx0YWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZXN0QXBpOiAoZ2F0ZXdheT8ubGVuZ3RoID4gMCkgPyBnYXRld2F5WzBdIDogbnVsbCxcbiAgICAgICAgICAgIGxhbWJkYUxheWVyczogbGF5ZXJzIHx8IG51bGwsXG4gICAgICAgICAgICBkeW5hbW9UYWJsZXM6IHRhYmxlcyB8fCBudWxsLFxuICAgICAgICAgICAgc2VjcmV0TWFuYWdlcjogc2VjcmV0TWFuYWdlcixcblxuICAgICAgICB9O1xuICAgICAgIFxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWcoc2NvcGU6IENvbnN0cnVjdCkge1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ0FwcCcsIHRoaXMuYXBwQ29uZmlnLkFwcE5hbWUpO1xuICAgICAgICBUYWdzLm9mKHNjb3BlKS5hZGQoJ1Jlc291Y2VQcmVmaXgnLCB0aGlzLmFwcENvbmZpZy5BcHBQcmVmaXgpO1xuICAgIH1cbn0iXX0=
@@ -1,2 +1,3 @@
1
1
  export { MicroService } from "./MicroService";
2
2
  export { TsgAuthorizerType } from "../config/types/TsgAuthorizerType";
3
+ export { DynamoDbSingleTable } from "./DynamoDbSingleTable";
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TsgAuthorizerType = exports.MicroService = void 0;
3
+ exports.DynamoDbSingleTable = exports.TsgAuthorizerType = exports.MicroService = void 0;
4
4
  var MicroService_1 = require("./MicroService");
5
5
  Object.defineProperty(exports, "MicroService", { enumerable: true, get: function () { return MicroService_1.MicroService; } });
6
6
  var TsgAuthorizerType_1 = require("../config/types/TsgAuthorizerType");
7
7
  Object.defineProperty(exports, "TsgAuthorizerType", { enumerable: true, get: function () { return TsgAuthorizerType_1.TsgAuthorizerType; } });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBOEM7QUFBckMsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLHVFQUFzRTtBQUE3RCxzSEFBQSxpQkFBaUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1pY3JvU2VydmljZSB9IGZyb20gXCIuL01pY3JvU2VydmljZVwiO1xuZXhwb3J0IHsgVHNnQXV0aG9yaXplclR5cGUgfSBmcm9tIFwiLi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7Il19
8
+ var DynamoDbSingleTable_1 = require("./DynamoDbSingleTable");
9
+ Object.defineProperty(exports, "DynamoDbSingleTable", { enumerable: true, get: function () { return DynamoDbSingleTable_1.DynamoDbSingleTable; } });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBOEM7QUFBckMsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLHVFQUFzRTtBQUE3RCxzSEFBQSxpQkFBaUIsT0FBQTtBQUMxQiw2REFBNEQ7QUFBbkQsMEhBQUEsbUJBQW1CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNaWNyb1NlcnZpY2UgfSBmcm9tIFwiLi9NaWNyb1NlcnZpY2VcIjtcbmV4cG9ydCB7IFRzZ0F1dGhvcml6ZXJUeXBlIH0gZnJvbSBcIi4uL2NvbmZpZy90eXBlcy9Uc2dBdXRob3JpemVyVHlwZVwiO1xuZXhwb3J0IHsgRHluYW1vRGJTaW5nbGVUYWJsZSB9IGZyb20gXCIuL0R5bmFtb0RiU2luZ2xlVGFibGVcIjsiXX0=
package/dist/index.js CHANGED
@@ -7,4 +7,4 @@ var MicroserviceAppConfig_1 = require("./config/MicroserviceAppConfig");
7
7
  Object.defineProperty(exports, "MicroServiceAppConfig", { enumerable: true, get: function () { return MicroserviceAppConfig_1.MicroServiceAppConfig; } });
8
8
  var TsgAuthorizerType_1 = require("./config/types/TsgAuthorizerType");
9
9
  Object.defineProperty(exports, "TsgAuthorizerType", { enumerable: true, get: function () { return TsgAuthorizerType_1.TsgAuthorizerType; } });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXlEO0FBQWhELDRHQUFBLFlBQVksT0FBQTtBQUdyQix3RUFBdUU7QUFBOUQsOEhBQUEscUJBQXFCLE9BQUE7QUFDOUIsc0VBQXFFO0FBQTVELHNIQUFBLGlCQUFpQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWljcm9TZXJ2aWNlIH0gZnJvbSBcIi4vY29uc3RydWN0cy9NaWNyb1NlcnZpY2VcIjtcbmV4cG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuZXhwb3J0IHsgSUFwcENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcbmV4cG9ydCB7IE1pY3JvU2VydmljZUFwcENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9NaWNyb3NlcnZpY2VBcHBDb25maWdcIjtcbmV4cG9ydCB7IFRzZ0F1dGhvcml6ZXJUeXBlIH0gZnJvbSBcIi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7Il19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXlEO0FBQWhELDRHQUFBLFlBQVksT0FBQTtBQUdyQix3RUFBdUU7QUFBOUQsOEhBQUEscUJBQXFCLE9BQUE7QUFDOUIsc0VBQXFFO0FBQTVELHNIQUFBLGlCQUFpQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWljcm9TZXJ2aWNlIH0gZnJvbSBcIi4vY29uc3RydWN0cy9NaWNyb1NlcnZpY2VcIjtcbmV4cG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuZXhwb3J0IHsgSUFwcENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcbmV4cG9ydCB7IE1pY3JvU2VydmljZUFwcENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy9NaWNyb3NlcnZpY2VBcHBDb25maWdcIjtcbmV4cG9ydCB7IFRzZ0F1dGhvcml6ZXJUeXBlIH0gZnJvbSBcIi4vY29uZmlnL3R5cGVzL1RzZ0F1dGhvcml6ZXJUeXBlXCI7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { Construct } from "constructs";
2
+ import { AppConfig } from "../config/AppConfig";
3
+ export interface BaseResourceProps {
4
+ scope: Construct;
5
+ config: AppConfig;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVJlc291cmNlUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9CYXNlUmVzb3VyY2VQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvQXBwQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVJlc291cmNlUHJvcHMge1xuICAgIHNjb3BlOiBDb25zdHJ1Y3Q7XG4gICAgY29uZmlnOiBBcHBDb25maWdcbn0iXX0=
@@ -0,0 +1,9 @@
1
+ import { Construct } from "constructs";
2
+ export declare abstract class TsgBaseResource<T, R> {
3
+ protected scope: Construct;
4
+ protected config: R;
5
+ protected createdResource: T | null;
6
+ constructor(scope: Construct, config: R);
7
+ protected abstract createResource(scope: Construct): T | null;
8
+ protected abstract createOutput<T>(scope: Construct): void;
9
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TsgBaseResource = void 0;
4
+ class TsgBaseResource {
5
+ scope;
6
+ config;
7
+ createdResource;
8
+ constructor(scope, config) {
9
+ this.scope = scope;
10
+ this.config = config;
11
+ this.createdResource = this.createResource(scope);
12
+ if (this.createdResource) {
13
+ this.createOutput(scope);
14
+ }
15
+ }
16
+ }
17
+ exports.TsgBaseResource = TsgBaseResource;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNnQmFzZVJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9iYXNlL3RzZ0Jhc2VSZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFzQixlQUFlO0lBSVg7SUFBNEI7SUFGeEMsZUFBZSxDQUFXO0lBRXBDLFlBQXNCLEtBQWdCLEVBQVksTUFBUztRQUFyQyxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBRztRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztDQU9KO0FBbEJELDBDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRzZ0Jhc2VSZXNvdXJjZTxULCBSPiB7XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlZFJlc291cmNlOiBUIHwgbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY29wZTogQ29uc3RydWN0LCBwcm90ZWN0ZWQgY29uZmlnOiBSKSB7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVkUmVzb3VyY2UgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcblxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkUmVzb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHNjb3BlKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBUIHwgbnVsbDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQ7XG5cbn0iXX0=
@@ -18,7 +18,7 @@ class CreateCertificate {
18
18
  const appType = "spa-app";
19
19
  const cert = new aws_certificatemanager_1.Certificate(scope, `${props.DNS?.ZoneNameWithoutPeriod}-${appType}-certificate`, {
20
20
  domainName: `${props.API.DomainPrefix}.${props.DNS?.ZoneName}`,
21
- subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`],
21
+ // subjectAlternativeNames: [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`],
22
22
  validation: aws_certificatemanager_1.CertificateValidation.fromDnsMultiZone({
23
23
  [`${props.API.DomainPrefix}.${props.DNS?.ZoneName}`]: hostedZone,
24
24
  }),
@@ -27,4 +27,4 @@ class CreateCertificate {
27
27
  }
28
28
  }
29
29
  exports.CreateCertificate = CreateCertificate;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFNL0gsTUFBYSxpQkFBaUI7SUFFbkIsV0FBVyxDQUFlO0lBRWpDLFlBQVksS0FBZ0IsRUFBRSxLQUF3QixFQUFFLFVBQXVCO1FBRTNFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9ELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFnQixFQUFFLEtBQXdCLEVBQUUsVUFBdUI7UUFFbkYsOEdBQThHO1FBQzlHLHFFQUFxRTtRQUNyRSxrQkFBa0I7UUFDbEIsa0RBQWtEO1FBQ2xELFNBQVM7UUFFUCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFFMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQ0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUscUJBQXFCLElBQUksT0FBTyxjQUFjLEVBQUU7WUFDaEcsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDOUQsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDN0UsVUFBVSxFQUFFLDhDQUFxQixDQUFDLGdCQUFnQixDQUFDO2dCQUMzQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFHLFVBQVU7YUFDeEUsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2xCLENBQUM7Q0FDSjtBQWhDRCw4Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDZXJ0aWZpY2F0ZSwgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLCBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZSwgSUNlcnRpZmljYXRlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7IElIb3N0ZWRab25lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlUHJvcHMgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9NaWNyb3NlcnZpY2VQcm9wc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDZXJ0aWZpY2F0ZSB7XG5cbiAgICBwdWJsaWMgY2VydGlmaWNhdGU6IElDZXJ0aWZpY2F0ZTtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBNaWNyb3NlcnZpY2VQcm9wcywgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmUpIHtcblxuICAgICAgICB0aGlzLmNlcnRpZmljYXRlID0gdGhpcy5nZW5lcmF0ZUNlcnRpZmljYXRlKHNjb3BlLCBwcm9wcywgaG9zdGVkWm9uZSk7XG5cbiAgICAgICAgdGhpcy5jZXJ0aWZpY2F0ZS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgZ2VuZXJhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsIGhvc3RlZFpvbmU6IElIb3N0ZWRab25lKSB7XG5cbiAgICAgICAgLy8gY29uc3QgY2VydCA9IG5ldyBEbnNWYWxpZGF0ZWRDZXJ0aWZpY2F0ZShzY29wZSwgYCR7cHJvcHMuRE5TLlpvbmVOYW1lV2l0aG91dFBlcmlvZH0tc3BhLWFwcC1jZXJ0aWZpY2F0ZWAsIHtcbiAgICAgICAgLy8gICAgIGRvbWFpbk5hbWU6IGAke3Byb3BzLkFQSS5Eb21haW5QcmVmaXh9LiR7cHJvcHMuRE5TLlpvbmVOYW1lfWAsXG4gICAgICAgIC8vICAgICBob3N0ZWRab25lLFxuICAgICAgICAvLyAgICAgcmVnaW9uOiBwcm9wcy5HTE9CQUxTLnJlZ2lvbiB8fCBcInVzLWVhc3QtMVwiXG4gICAgICAgIC8vICAgfSk7IFxuXG4gICAgICAgICAgY29uc3QgYXBwVHlwZSA9IFwic3BhLWFwcFwiO1xuXG4gICAgICAgICAgY29uc3QgY2VydCA9IG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgYCR7cHJvcHMuRE5TPy5ab25lTmFtZVdpdGhvdXRQZXJpb2R9LSR7YXBwVHlwZX0tY2VydGlmaWNhdGVgLCB7XG4gICAgICAgICAgICBkb21haW5OYW1lOiBgJHtwcm9wcy5BUEkuRG9tYWluUHJlZml4fS4ke3Byb3BzLkROUz8uWm9uZU5hbWV9YCxcbiAgICAgICAgICAgIHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzOiBbYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlM/LlpvbmVOYW1lfWBdLFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUoeyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgW2Ake3Byb3BzLkFQSS5Eb21haW5QcmVmaXh9LiR7cHJvcHMuRE5TPy5ab25lTmFtZX1gXSA6IGhvc3RlZFpvbmUgLCAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIGNlcnQ7XG4gICAgfVxufSJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2NlcnRpZmljYXRlL2NyZWF0ZUNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrRUFBK0g7QUFNL0gsTUFBYSxpQkFBaUI7SUFFbkIsV0FBVyxDQUFlO0lBRWpDLFlBQVksS0FBZ0IsRUFBRSxLQUF3QixFQUFFLFVBQXVCO1FBRTNFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9ELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFnQixFQUFFLEtBQXdCLEVBQUUsVUFBdUI7UUFFbkYsOEdBQThHO1FBQzlHLHFFQUFxRTtRQUNyRSxrQkFBa0I7UUFDbEIsa0RBQWtEO1FBQ2xELFNBQVM7UUFFUCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFFMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQ0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUscUJBQXFCLElBQUksT0FBTyxjQUFjLEVBQUU7WUFDaEcsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDOUQsaUZBQWlGO1lBQ2pGLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDM0MsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRyxVQUFVO2FBQ3hFLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNsQixDQUFDO0NBQ0o7QUFoQ0QsOENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGUsIENlcnRpZmljYXRlVmFsaWRhdGlvbiwgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUsIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1pY3Jvc2VydmljZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvTWljcm9zZXJ2aWNlUHJvcHNcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ2VydGlmaWNhdGUge1xuXG4gICAgcHVibGljIGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wczogTWljcm9zZXJ2aWNlUHJvcHMsIGhvc3RlZFpvbmU6IElIb3N0ZWRab25lKSB7XG5cbiAgICAgICAgdGhpcy5jZXJ0aWZpY2F0ZSA9IHRoaXMuZ2VuZXJhdGVDZXJ0aWZpY2F0ZShzY29wZSwgcHJvcHMsIGhvc3RlZFpvbmUpO1xuXG4gICAgICAgIHRoaXMuY2VydGlmaWNhdGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgICAgIFxuICAgIH1cblxuICAgIGdlbmVyYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IE1pY3Jvc2VydmljZVByb3BzLCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZSkge1xuXG4gICAgICAgIC8vIGNvbnN0IGNlcnQgPSBuZXcgRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUoc2NvcGUsIGAke3Byb3BzLkROUy5ab25lTmFtZVdpdGhvdXRQZXJpb2R9LXNwYS1hcHAtY2VydGlmaWNhdGVgLCB7XG4gICAgICAgIC8vICAgICBkb21haW5OYW1lOiBgJHtwcm9wcy5BUEkuRG9tYWluUHJlZml4fS4ke3Byb3BzLkROUy5ab25lTmFtZX1gLFxuICAgICAgICAvLyAgICAgaG9zdGVkWm9uZSxcbiAgICAgICAgLy8gICAgIHJlZ2lvbjogcHJvcHMuR0xPQkFMUy5yZWdpb24gfHwgXCJ1cy1lYXN0LTFcIlxuICAgICAgICAvLyAgIH0pOyBcblxuICAgICAgICAgIGNvbnN0IGFwcFR5cGUgPSBcInNwYS1hcHBcIjtcblxuICAgICAgICAgIGNvbnN0IGNlcnQgPSBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGAke3Byb3BzLkROUz8uWm9uZU5hbWVXaXRob3V0UGVyaW9kfS0ke2FwcFR5cGV9LWNlcnRpZmljYXRlYCwge1xuICAgICAgICAgICAgZG9tYWluTmFtZTogYCR7cHJvcHMuQVBJLkRvbWFpblByZWZpeH0uJHtwcm9wcy5ETlM/LlpvbmVOYW1lfWAsXG4gICAgICAgICAgICAvLyBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lczogW2Ake3Byb3BzLkFQSS5Eb21haW5QcmVmaXh9LiR7cHJvcHMuRE5TPy5ab25lTmFtZX1gXSxcbiAgICAgICAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lKHsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIFtgJHtwcm9wcy5BUEkuRG9tYWluUHJlZml4fS4ke3Byb3BzLkROUz8uWm9uZU5hbWV9YF0gOiBob3N0ZWRab25lICwgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBjZXJ0O1xuICAgIH1cbn0iXX0=
@@ -84,4 +84,4 @@ class CreateDynamoDb extends baseResource_1.BaseResource {
84
84
  }
85
85
  }
86
86
  exports.CreateDynamoDb = CreateDynamoDb;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELDJEQUF1RjtBQUd2Rix1REFBb0Q7QUFHcEQsTUFBYSxjQUFlLFNBQVEsMkJBQW1CO0lBcUI3QjtJQUE0QjtJQW5CbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2hDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3hCLENBQUM7SUFFRixJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBc0IsS0FBZ0IsRUFBWSxNQUFpQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFZLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRWpDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEdBQVcsRUFBRSxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xELEdBQUcsSUFBSTtnQkFDUCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO2FBRXZDLENBQUMsQ0FBQztZQUlILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBRTVELE1BQU0sUUFBUSxHQUE4QjtvQkFDeEMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO29CQUN4QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7b0JBQzlCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztvQkFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxjQUFjO2lCQUVyQyxDQUFDO2dCQUVGLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLElBQUksRUFBRSxDQUFDO0lBSTVCLENBQUM7SUFHUyxZQUFZLENBQUksS0FBZ0IsRUFBRSxhQUFrQjtRQUMxRCxJQUFJLENBQUMsZ0JBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3RDLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxHQUFHLEVBQUUsRUFBRTtnQkFDdEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFdBQVc7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBRTNELE1BQU0sSUFBSSxHQUFRLEVBQUUsQ0FBQztZQUVyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWxELElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2hCLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQ3ZCLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7YUFDMUIsQ0FBQztZQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUVqQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRztvQkFDWCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUNwQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUN2QixDQUFBO2FBQ0o7WUFDRCxPQUFPLElBQWtCLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUNuRCxDQUFDOztBQXRHTCx3Q0F1R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMsVGFibGUsIFRhYmxlUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9BcHBDb25maWdcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZSB9IGZyb20gXCIuLi9iYXNlL2Jhc2VSZXNvdXJjZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVEeW5hbW9EYiBleHRlbmRzIEJhc2VSZXNvdXJjZTxUYWJsZT4ge1xuXG4gICAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkJhdGNoV3JpdGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlc2NyaWJlVGFibGVcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFNoYXJkSXRlcmF0b3JcIixcbiAgICAgICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICAgICAgXCJkeW5hbW9kYjpTY2FuXCIsXG4gICAgICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICAgIF07XG5cbiAgICBnZXQgQ3JlYXRlZFRhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlcztcbiAgICB9XG4gICAgXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBDb25zdHJ1Y3QsIHByb3RlY3RlZCBjb25maWc6IEFwcENvbmZpZykge1xuICAgICAgICBzdXBlcihzY29wZSwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHNjb3BlKTtcblxuICAgICAgICBpZiAodGhpcy5jcmVhdGVkUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dChzY29wZSwgdGhpcy5jcmVhdGVkUmVzb3VyY2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogVGFibGVbXSB7XG4gICAgICAgIFxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmNyZWF0ZVByb3BzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHRhYmxlcyA9IHByb3BzPy5tYXAoKHByb3A6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYlRhYmxlID0gbmV3IFRhYmxlKHNjb3BlLCBgJHtwcm9wLnRhYmxlTmFtZX1gLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByb3AsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLlJFU09VUkNFUy5EWU5BTU8/LlRBQkxFUz8uW2lkeF0uaW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzaVByb3BzOiBHbG9iYWxTZWNvbmRhcnlJbmRleFByb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhOYW1lOiBnc2kuaW5kZXhOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgc29ydEtleTogZ3NpLnNvcnRLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogZ3NpLnByb2plY3Rpb25UeXBlXG5cbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBkYlRhYmxlLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KGdzaVByb3BzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGJUYWJsZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gdGFibGVzID8/IFtdO1xuICAgICAgIFxuXG4gICAgICAgXG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QsIGNyZWF0ZWRBc3NldHM6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMhLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGR5bmFtb1RhYmxlJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB4LnRhYmxlTmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlUHJvcHMoKSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5jb25maWcuUkVTT1VSQ0VTPy5EWU5BTU8/LlRBQkxFUz8ubWFwKCh4KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3A6IGFueSA9IHt9O1xuXG4gICAgICAgICAgICBwcm9wLnRhYmxlTmFtZSA9IHRoaXMuZ2VuZXJhdGVEYk5hbWUoeC50YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBwcm9wLnBhcnRpdGlvbktleSA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiB4LnByaW1hcnlLZXkubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB4LnByaW1hcnlLZXkudHlwZVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcHJvcC5iaWxsaW5nTW9kZSA9IHguYmlsbGluZ01vZGU7XG5cbiAgICAgICAgICAgIGlmICh4LnNvcnRLZXkpIHtcbiAgICAgICAgICAgICAgICBwcm9wLnNvcnRLZXkgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHguc29ydEtleS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiB4LnNvcnRLZXkudHlwZSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJvcCBhcyBUYWJsZVByb3BzO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZURiTmFtZSh0YWJsZU5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5jb25maWcuQXBwUHJlZml4fS0ke3RhYmxlTmFtZX1gO1xuICAgIH1cbn0iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9keW5hbW9kYi9DcmVhdGVEeW5hbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVEO0FBQ3ZELDJEQUF1RjtBQUd2Rix1REFBb0Q7QUFHcEQsTUFBYSxjQUFlLFNBQVEsMkJBQW1CO0lBcUI3QjtJQUE0QjtJQW5CbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2hDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3hCLENBQUM7SUFFRixJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBc0IsS0FBZ0IsRUFBWSxNQUFpQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBREgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUFZLFdBQU0sR0FBTixNQUFNLENBQVc7UUFHL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFnQjtRQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNsRCxHQUFHLElBQUk7Z0JBQ1AsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTzthQUV2QyxDQUFDLENBQUM7WUFJSCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUU1RCxNQUFNLFFBQVEsR0FBOEI7b0JBQ3hDLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztvQkFDeEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO29CQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYztpQkFFckMsQ0FBQztnQkFFRixPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUk1QixDQUFDO0lBR1MsWUFBWSxDQUFJLEtBQWdCLEVBQUUsYUFBa0I7UUFDMUQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUUzRCxNQUFNLElBQUksR0FBUSxFQUFFLENBQUM7WUFFckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFFakMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRztvQkFDWCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUNwQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUN2QixDQUFBO1lBQ0wsQ0FBQztZQUNELE9BQU8sSUFBa0IsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxjQUFjLENBQUMsU0FBaUI7UUFDcEMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQ25ELENBQUM7O0FBdEdMLHdDQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wcyxUYWJsZSwgVGFibGVQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi4vLi4vY29uZmlnL0FwcENvbmZpZ1wiO1xuaW1wb3J0IHsgQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZVJlc291cmNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUR5bmFtb0RiIGV4dGVuZHMgQmFzZVJlc291cmNlPFRhYmxlPiB7XG5cbiAgICBzdGF0aWMgUmVhZFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG4gICAgICAgIFwiZHluYW1vZGI6QmF0Y2hHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6QmF0Y2hXcml0ZUl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpDb25kaXRpb25DaGVja0l0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpEZWxldGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVzY3JpYmVUYWJsZVwiLFxuICAgICAgICBcImR5bmFtb2RiOkdldEl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRSZWNvcmRzXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0U2hhcmRJdGVyYXRvclwiLFxuICAgICAgICBcImR5bmFtb2RiOlB1dEl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpRdWVyeVwiLFxuICAgICAgICBcImR5bmFtb2RiOlNjYW5cIixcbiAgICAgICAgXCJkeW5hbW9kYjpVcGRhdGVJdGVtXCIsXG4gICAgXTtcblxuICAgIGdldCBDcmVhdGVkVGFibGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2VzO1xuICAgIH1cbiAgICBcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2NvcGU6IENvbnN0cnVjdCwgcHJvdGVjdGVkIGNvbmZpZzogQXBwQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBjb25maWcpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2Uoc2NvcGUpO1xuXG4gICAgICAgIGlmICh0aGlzLmNyZWF0ZWRSZXNvdXJjZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHNjb3BlLCB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBUYWJsZVtdIHtcbiAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuY3JlYXRlUHJvcHMoKTtcblxuICAgICAgICAgICAgY29uc3QgdGFibGVzID0gcHJvcHM/Lm1hcCgocHJvcDogYW55LCBpZHg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRiVGFibGUgPSBuZXcgVGFibGUoc2NvcGUsIGAke3Byb3AudGFibGVOYW1lfWAsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucHJvcCxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuUkVTT1VSQ0VTLkRZTkFNTz8uVEFCTEVTPy5baWR4XS5pbmRleGVzLm1hcCgoZ3NpKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NpUHJvcHM6IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleE5hbWU6IGdzaS5pbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IGdzaS5wYXJ0aXRpb25LZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3J0S2V5OiBnc2kuc29ydEtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBnc2kucHJvamVjdGlvblR5cGVcblxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGRiVGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoZ3NpUHJvcHMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYlRhYmxlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiB0YWJsZXMgPz8gW107XG4gICAgICAgXG5cbiAgICAgICBcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlZFJlc291cmNlcyEuZm9yRWFjaCgoeCwgaWR4KSA9PiB7XG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgZHluYW1vVGFibGUke2lkeH1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHgudGFibGVOYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVQcm9wcygpIHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmNvbmZpZy5SRVNPVVJDRVM/LkRZTkFNTz8uVEFCTEVTPy5tYXAoKHgpID0+IHtcblxuICAgICAgICAgICAgY29uc3QgcHJvcDogYW55ID0ge307XG5cbiAgICAgICAgICAgIHByb3AudGFibGVOYW1lID0gdGhpcy5nZW5lcmF0ZURiTmFtZSh4LnRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIHByb3AucGFydGl0aW9uS2V5ID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IHgucHJpbWFyeUtleS5uYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IHgucHJpbWFyeUtleS50eXBlXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBwcm9wLmJpbGxpbmdNb2RlID0geC5iaWxsaW5nTW9kZTtcblxuICAgICAgICAgICAgaWYgKHguc29ydEtleSkge1xuICAgICAgICAgICAgICAgIHByb3Auc29ydEtleSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5zb3J0S2V5Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHguc29ydEtleS50eXBlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm9wIGFzIFRhYmxlUHJvcHM7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlRGJOYW1lKHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmNvbmZpZy5BcHBQcmVmaXh9LSR7dGFibGVOYW1lfWA7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,12 @@
1
+ import { Table } from "aws-cdk-lib/aws-dynamodb";
2
+ import { Construct } from "constructs";
3
+ import { TsgBaseResource } from "../base/tsgBaseResource";
4
+ export declare class CreateDynamoSingleTableDesign extends TsgBaseResource<Table, string> {
5
+ protected scope: Construct;
6
+ protected tableName: string;
7
+ static ReadWriteActions: string[];
8
+ get CreatedTable(): Table | null;
9
+ constructor(scope: Construct, tableName: string);
10
+ protected createResource(scope: Construct): Table;
11
+ protected createOutput<T>(scope: Construct): void;
12
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateDynamoSingleTableDesign = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
6
+ const tsgBaseResource_1 = require("../base/tsgBaseResource");
7
+ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
8
+ scope;
9
+ tableName;
10
+ static ReadWriteActions = [
11
+ "dynamodb:BatchGetItem",
12
+ "dynamodb:BatchWriteItem",
13
+ "dynamodb:ConditionCheckItem",
14
+ "dynamodb:DeleteItem",
15
+ "dynamodb:DescribeTable",
16
+ "dynamodb:GetItem",
17
+ "dynamodb:GetRecords",
18
+ "dynamodb:GetShardIterator",
19
+ "dynamodb:PutItem",
20
+ "dynamodb:Query",
21
+ "dynamodb:Scan",
22
+ "dynamodb:UpdateItem",
23
+ ];
24
+ get CreatedTable() {
25
+ return this.createdResource;
26
+ }
27
+ constructor(scope, tableName) {
28
+ super(scope, tableName);
29
+ this.scope = scope;
30
+ this.tableName = tableName;
31
+ }
32
+ createResource(scope) {
33
+ const dbTable = new aws_dynamodb_1.Table(scope, `${this.tableName}`, {
34
+ tableName: this.tableName,
35
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
36
+ partitionKey: {
37
+ name: 'pk',
38
+ type: aws_dynamodb_1.AttributeType.STRING,
39
+ },
40
+ sortKey: {
41
+ name: 'sk',
42
+ type: aws_dynamodb_1.AttributeType.STRING,
43
+ },
44
+ billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
45
+ });
46
+ const gsiIndexes = [
47
+ {
48
+ indexName: 'gsi1Index',
49
+ partitionKey: {
50
+ name: 'gsi1pk',
51
+ type: aws_dynamodb_1.AttributeType.STRING
52
+ },
53
+ sortKey: {
54
+ name: 'gsi1sk',
55
+ type: aws_dynamodb_1.AttributeType.STRING
56
+ },
57
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
58
+ },
59
+ {
60
+ indexName: 'gsi2Index',
61
+ partitionKey: {
62
+ name: 'gsi2pk',
63
+ type: aws_dynamodb_1.AttributeType.STRING
64
+ },
65
+ sortKey: {
66
+ name: 'gsi2sk',
67
+ type: aws_dynamodb_1.AttributeType.STRING
68
+ },
69
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
70
+ },
71
+ {
72
+ indexName: 'gsi3Index',
73
+ partitionKey: {
74
+ name: 'gsi3pk',
75
+ type: aws_dynamodb_1.AttributeType.STRING
76
+ },
77
+ sortKey: {
78
+ name: 'gsi3sk',
79
+ type: aws_dynamodb_1.AttributeType.STRING
80
+ },
81
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
82
+ },
83
+ ];
84
+ gsiIndexes.map((gsi) => {
85
+ const gsiProps = {
86
+ indexName: gsi.indexName,
87
+ partitionKey: gsi.partitionKey,
88
+ sortKey: gsi.sortKey,
89
+ projectionType: gsi.projectionType
90
+ };
91
+ dbTable.addGlobalSecondaryIndex(gsiProps);
92
+ });
93
+ return dbTable;
94
+ }
95
+ createOutput(scope) {
96
+ new aws_cdk_lib_1.CfnOutput(scope, `dynamoTable-${this.CreatedTable?.tableName}`, {
97
+ value: `Table Name: ${this.createdResource?.tableName}\t Table Arn: ${this.createdResource?.tableArn}`
98
+ });
99
+ }
100
+ }
101
+ exports.CreateDynamoSingleTableDesign = CreateDynamoSingleTableDesign;
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCwyREFBb0k7QUFFcEksNkRBQTBEO0FBRzFELE1BQWEsNkJBQThCLFNBQVEsaUNBQThCO0lBcUJ2RDtJQUE0QjtJQW5CbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2hDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3hCLENBQUM7SUFFRixJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQXNCLEtBQWdCLEVBQVksU0FBaUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUROLFVBQUssR0FBTCxLQUFLLENBQVc7UUFBWSxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRW5FLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFFckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUVwQyxZQUFZLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUM3QjtZQUNELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzdCO1lBQ0QsV0FBVyxFQUFFLDBCQUFXLENBQUMsZUFBZTtTQUMzQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRztZQUNmO2dCQUNJLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixZQUFZLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7YUFDckM7WUFDRDtnQkFDSSxTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFO29CQUNWLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO2FBQ3JDO1lBQ0Q7Z0JBQ0ksU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRzthQUNyQztTQUNKLENBQUM7UUFFRixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFFbkIsTUFBTSxRQUFRLEdBQThCO2dCQUN4QyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7Z0JBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtnQkFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFFckMsQ0FBQztZQUVGLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFHUyxZQUFZLENBQUksS0FBZ0I7UUFFdEMsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxlQUFlLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDaEUsS0FBSyxFQUFFLGVBQWUsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLGlCQUFpQixJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTtTQUN6RyxDQUFDLENBQUM7SUFFUCxDQUFDOztBQXhHTCxzRUF5R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEF0dHJpYnV0ZVR5cGUsIEJpbGxpbmdNb2RlLCBHbG9iYWxTZWNvbmRhcnlJbmRleFByb3BzLCBQcm9qZWN0aW9uVHlwZSwgVGFibGUsIFRhYmxlUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVHNnQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvdHNnQmFzZVJlc291cmNlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduIGV4dGVuZHMgVHNnQmFzZVJlc291cmNlPFRhYmxlLCBzdHJpbmc+IHtcblxuICAgIHN0YXRpYyBSZWFkV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXCJkeW5hbW9kYjpCYXRjaEdldEl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpCYXRjaFdyaXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkNvbmRpdGlvbkNoZWNrSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlbGV0ZUl0ZW1cIixcbiAgICAgICAgXCJkeW5hbW9kYjpEZXNjcmliZVRhYmxlXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFJlY29yZHNcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRTaGFyZEl0ZXJhdG9yXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UHV0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOlF1ZXJ5XCIsXG4gICAgICAgIFwiZHluYW1vZGI6U2NhblwiLFxuICAgICAgICBcImR5bmFtb2RiOlVwZGF0ZUl0ZW1cIixcbiAgICBdO1xuXG4gICAgZ2V0IENyZWF0ZWRUYWJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY29wZTogQ29uc3RydWN0LCBwcm90ZWN0ZWQgdGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIHRhYmxlTmFtZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlKHNjb3BlOiBDb25zdHJ1Y3QpOiBUYWJsZSB7XG5cbiAgICAgICAgY29uc3QgZGJUYWJsZSA9IG5ldyBUYWJsZShzY29wZSwgYCR7dGhpcy50YWJsZU5hbWV9YCwge1xuICAgICAgICAgICAgdGFibGVOYW1lOiB0aGlzLnRhYmxlTmFtZSxcbiAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcblxuICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3BrJyxcbiAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ3NrJyxcbiAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiaWxsaW5nTW9kZTogQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNULFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBnc2lJbmRleGVzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGluZGV4TmFtZTogJ2dzaTFJbmRleCcsXG4gICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kxcGsnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc29ydEtleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpMXNrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTExcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5kZXhOYW1lOiAnZ3NpMkluZGV4JyxcbiAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTJwaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kyc2snLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbmRleE5hbWU6ICdnc2kzSW5kZXgnLFxuICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpM3BrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTNzaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIGdzaUluZGV4ZXMubWFwKChnc2kpID0+IHtcblxuICAgICAgICAgICAgY29uc3QgZ3NpUHJvcHM6IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgaW5kZXhOYW1lOiBnc2kuaW5kZXhOYW1lLFxuICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleTogZ3NpLnBhcnRpdGlvbktleSxcbiAgICAgICAgICAgICAgICBzb3J0S2V5OiBnc2kuc29ydEtleSxcbiAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogZ3NpLnByb2plY3Rpb25UeXBlXG5cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGRiVGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoZ3NpUHJvcHMpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGJUYWJsZTtcbiAgICB9XG5cblxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8VD4oc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuXG4gICAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGBkeW5hbW9UYWJsZS0ke3RoaXMuQ3JlYXRlZFRhYmxlPy50YWJsZU5hbWV9YCwge1xuICAgICAgICAgICAgdmFsdWU6IGBUYWJsZSBOYW1lOiAke3RoaXMuY3JlYXRlZFJlc291cmNlPy50YWJsZU5hbWV9XFx0IFRhYmxlIEFybjogJHt0aGlzLmNyZWF0ZWRSZXNvdXJjZT8udGFibGVBcm59YFxuICAgICAgICB9KTtcblxuICAgIH1cbn0iXX0=
@@ -0,0 +1,9 @@
1
+ import * as ecr from "aws-cdk-lib/aws-ecr";
2
+ import { BaseResource } from "../base/baseResource";
3
+ import { Construct } from "constructs";
4
+ import { BaseResourceProps } from "../../interfaces/BaseResourceProps";
5
+ export declare class TsgECR extends BaseResource<ecr.Repository> {
6
+ constructor(props: BaseResourceProps);
7
+ protected createResource(scope: Construct): ecr.Repository[] | null;
8
+ protected createOutput<Repository>(scope: Construct, createdAssets: Repository[]): void;
9
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TsgECR = void 0;
4
+ const ecr = require("aws-cdk-lib/aws-ecr");
5
+ const baseResource_1 = require("../base/baseResource");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ class TsgECR extends baseResource_1.BaseResource {
8
+ constructor(props) {
9
+ super(props.scope, props.config);
10
+ const repos = this.createResource(props.scope);
11
+ this.createdResources = [...repos];
12
+ this.createOutput(props.scope, this.createdResources);
13
+ }
14
+ createResource(scope) {
15
+ const ecrRepo = new ecr.Repository(scope, `${this.config.AppName}-repository`, {
16
+ repositoryName: `${this.config.AppName}-repository`,
17
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
18
+ autoDeleteImages: true,
19
+ });
20
+ const rule = {
21
+ description: 'Image Rentention',
22
+ maxImageCount: 20
23
+ };
24
+ ecrRepo.addLifecycleRule(rule);
25
+ if (ecrRepo instanceof ecr.Repository) {
26
+ return [ecrRepo];
27
+ }
28
+ return null;
29
+ }
30
+ createOutput(scope, createdAssets) {
31
+ createdAssets.forEach((x, idx) => {
32
+ new aws_cdk_lib_1.CfnOutput(scope, `respository-${idx}`, {
33
+ value: `Name: ${x.repositoryName}\n
34
+ Url: ${x.repositoryUri}`
35
+ });
36
+ });
37
+ }
38
+ }
39
+ exports.TsgECR = TsgECR;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRWNyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jlc291cmNlcy9lY3IvQ3JlYXRlRWNyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUMzQyx1REFBb0Q7QUFFcEQsNkNBQXVEO0FBR3ZELE1BQWEsTUFBTyxTQUFRLDJCQUE0QjtJQUVwRCxZQUFZLEtBQXdCO1FBRWhDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLEtBQVcsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBRXJDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ3BDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLGFBQWEsRUFDbkM7WUFDSSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sYUFBYTtZQUNuRCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLGdCQUFnQixFQUFFLElBQUk7U0FDekIsQ0FBQyxDQUFDO1FBRVAsTUFBTSxJQUFJLEdBQXNCO1lBQzVCLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsYUFBYSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztRQUVGLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixJQUFJLE9BQU8sWUFBWSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRVMsWUFBWSxDQUFhLEtBQWdCLEVBQUUsYUFBMkI7UUFFNUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUU3QixJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3ZDLEtBQUssRUFBRSxTQUFVLENBQW9CLENBQUMsY0FBYzt1QkFDNUMsQ0FBb0IsQ0FBQyxhQUFhLEVBQUU7YUFDL0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBS0o7QUFuREQsd0JBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZWNyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS9iYXNlUmVzb3VyY2VcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEJhc2VSZXNvdXJjZVByb3BzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvQmFzZVJlc291cmNlUHJvcHNcIjtcblxuZXhwb3J0IGNsYXNzIFRzZ0VDUiBleHRlbmRzIEJhc2VSZXNvdXJjZTxlY3IuUmVwb3NpdG9yeT4ge1xuXG4gICAgY29uc3RydWN0b3IocHJvcHM6IEJhc2VSZXNvdXJjZVByb3BzKSB7XG5cbiAgICAgICAgc3VwZXIocHJvcHMuc2NvcGUsIHByb3BzLmNvbmZpZyk7XG5cbiAgICAgICAgY29uc3QgcmVwb3MgPSB0aGlzLmNyZWF0ZVJlc291cmNlKHByb3BzLnNjb3BlKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMgPSBbLi4ucmVwb3MgYXMgW11dO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0KHByb3BzLnNjb3BlLCB0aGlzLmNyZWF0ZWRSZXNvdXJjZXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogZWNyLlJlcG9zaXRvcnlbXSB8IG51bGwge1xuXG4gICAgICAgIGNvbnN0IGVjclJlcG8gPSBuZXcgZWNyLlJlcG9zaXRvcnkoc2NvcGUsXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5BcHBOYW1lfS1yZXBvc2l0b3J5YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXBvc2l0b3J5TmFtZTogYCR7dGhpcy5jb25maWcuQXBwTmFtZX0tcmVwb3NpdG9yeWAsXG4gICAgICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgICAgICAgICAgIGF1dG9EZWxldGVJbWFnZXM6IHRydWUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBydWxlOiBlY3IuTGlmZWN5Y2xlUnVsZSA9IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnSW1hZ2UgUmVudGVudGlvbicsXG4gICAgICAgICAgICBtYXhJbWFnZUNvdW50OiAyMFxuICAgICAgICB9O1xuXG4gICAgICAgIGVjclJlcG8uYWRkTGlmZWN5Y2xlUnVsZShydWxlKTtcblxuICAgICAgICBpZiAoZWNyUmVwbyBpbnN0YW5jZW9mIGVjci5SZXBvc2l0b3J5KSB7XG4gICAgICAgICAgICByZXR1cm4gW2VjclJlcG9dO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIFxuICAgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXQ8UmVwb3NpdG9yeT4oc2NvcGU6IENvbnN0cnVjdCwgY3JlYXRlZEFzc2V0czogUmVwb3NpdG9yeVtdKTogdm9pZCB7XG4gICAgIFxuICAgICAgICBjcmVhdGVkQXNzZXRzLmZvckVhY2goKHgsIGlkeCkgPT4ge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgcmVzcG9zaXRvcnktJHtpZHh9YCwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBgTmFtZTogJHsoeCBhcyBlY3IuUmVwb3NpdG9yeSkucmVwb3NpdG9yeU5hbWV9XFxuXG4gICAgICAgICAgICAgICAgVXJsOiAkeyh4IGFzIGVjci5SZXBvc2l0b3J5KS5yZXBvc2l0b3J5VXJpfWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBcblxuXG59Il19