@sylvesterllc/aws-constructs 1.0.0

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 (175) hide show
  1. package/.github/workflows/publish.yml +36 -0
  2. package/dist/config/AppConfig.d.ts +24 -0
  3. package/dist/config/AppConfig.js +62 -0
  4. package/dist/config/Constants.d.ts +26 -0
  5. package/dist/config/Constants.js +30 -0
  6. package/dist/config/Environments.d.ts +2 -0
  7. package/dist/config/Environments.js +3 -0
  8. package/dist/config/MicroserviceAppConfig.d.ts +5 -0
  9. package/dist/config/MicroserviceAppConfig.js +11 -0
  10. package/dist/config/bishopConfig.d.ts +2 -0
  11. package/dist/config/bishopConfig.js +81 -0
  12. package/dist/config/customConfigs/ApiAppConfig.d.ts +5 -0
  13. package/dist/config/customConfigs/ApiAppConfig.js +4 -0
  14. package/dist/config/customConfigs/GlobalAppConfig.d.ts +8 -0
  15. package/dist/config/customConfigs/GlobalAppConfig.js +3 -0
  16. package/dist/config/customConfigs/IAppConfig.d.ts +10 -0
  17. package/dist/config/customConfigs/IAppConfig.js +3 -0
  18. package/dist/config/customConfigs/ResourceAppConfig.d.ts +8 -0
  19. package/dist/config/customConfigs/ResourceAppConfig.js +3 -0
  20. package/dist/config/microServiceConfig.d.ts +2 -0
  21. package/dist/config/microServiceConfig.js +82 -0
  22. package/dist/config/types/TsgCdkConfigType.d.ts +3 -0
  23. package/dist/config/types/TsgCdkConfigType.js +3 -0
  24. package/dist/config/types/TsgCognitoConfig.d.ts +5 -0
  25. package/dist/config/types/TsgCognitoConfig.js +3 -0
  26. package/dist/config/types/TsgDnsConfig.d.ts +9 -0
  27. package/dist/config/types/TsgDnsConfig.js +3 -0
  28. package/dist/config/types/TsgDynamoDbProp.d.ts +6 -0
  29. package/dist/config/types/TsgDynamoDbProp.js +3 -0
  30. package/dist/config/types/TsgDynamoIndex.d.ts +13 -0
  31. package/dist/config/types/TsgDynamoIndex.js +3 -0
  32. package/dist/config/types/TsgDynamoProp.d.ts +15 -0
  33. package/dist/config/types/TsgDynamoProp.js +3 -0
  34. package/dist/config/types/TsgDynamoTable.d.ts +4 -0
  35. package/dist/config/types/TsgDynamoTable.js +3 -0
  36. package/dist/config/types/TsgDynamoTableRef.d.ts +4 -0
  37. package/dist/config/types/TsgDynamoTableRef.js +3 -0
  38. package/dist/config/types/TsgLambda.d.ts +4 -0
  39. package/dist/config/types/TsgLambda.js +3 -0
  40. package/dist/config/types/TsgLambdaLayerProp.d.ts +5 -0
  41. package/dist/config/types/TsgLambdaLayerProp.js +3 -0
  42. package/dist/config/types/TsgLambdaMap.d.ts +3 -0
  43. package/dist/config/types/TsgLambdaMap.js +3 -0
  44. package/dist/config/types/TsgLambdaName.d.ts +1 -0
  45. package/dist/config/types/TsgLambdaName.js +3 -0
  46. package/dist/config/types/TsgLambdaNode.d.ts +3 -0
  47. package/dist/config/types/TsgLambdaNode.js +3 -0
  48. package/dist/config/types/TsgLambdaProp.d.ts +16 -0
  49. package/dist/config/types/TsgLambdaProp.js +3 -0
  50. package/dist/config/types/TsgLambdaProps.d.ts +16 -0
  51. package/dist/config/types/TsgLambdaProps.js +3 -0
  52. package/dist/config/types/TsgLambdaRoutable.d.ts +6 -0
  53. package/dist/config/types/TsgLambdaRoutable.js +3 -0
  54. package/dist/config/types/index.d.ts +8 -0
  55. package/dist/config/types/index.js +25 -0
  56. package/dist/constructs/MicroService.d.ts +12 -0
  57. package/dist/constructs/MicroService.js +47 -0
  58. package/dist/constructs/index.d.ts +1 -0
  59. package/dist/constructs/index.js +6 -0
  60. package/dist/index.d.ts +4 -0
  61. package/dist/index.js +8 -0
  62. package/dist/interfaces/CreateLambdaFunctionInput.d.ts +10 -0
  63. package/dist/interfaces/CreateLambdaFunctionInput.js +3 -0
  64. package/dist/interfaces/MicroserviceProps.d.ts +10 -0
  65. package/dist/interfaces/MicroserviceProps.js +3 -0
  66. package/dist/resources/base/baseResource.d.ts +10 -0
  67. package/dist/resources/base/baseResource.js +11 -0
  68. package/dist/resources/certificate/createCertificate.d.ts +9 -0
  69. package/dist/resources/certificate/createCertificate.js +29 -0
  70. package/dist/resources/cognito/createCognito.d.ts +7 -0
  71. package/dist/resources/cognito/createCognito.js +35 -0
  72. package/dist/resources/cognito/createCognitoProps.d.ts +2 -0
  73. package/dist/resources/cognito/createCognitoProps.js +47 -0
  74. package/dist/resources/dynamodb/CreateDynamo.d.ts +15 -0
  75. package/dist/resources/dynamodb/CreateDynamo.js +87 -0
  76. package/dist/resources/gateway/createApi.d.ts +19 -0
  77. package/dist/resources/gateway/createApi.js +104 -0
  78. package/dist/resources/gateway/createMicroServiceBundle.d.ts +25 -0
  79. package/dist/resources/gateway/createMicroServiceBundle.js +126 -0
  80. package/dist/resources/helpers/createAuthorizer.d.ts +15 -0
  81. package/dist/resources/helpers/createAuthorizer.js +80 -0
  82. package/dist/resources/helpers/createCommonLayer.d.ts +3 -0
  83. package/dist/resources/helpers/createCommonLayer.js +15 -0
  84. package/dist/resources/helpers/createRoutes.d.ts +8 -0
  85. package/dist/resources/helpers/createRoutes.js +30 -0
  86. package/dist/resources/lambda/createLambda.d.ts +20 -0
  87. package/dist/resources/lambda/createLambda.js +135 -0
  88. package/dist/resources/lambda-layer/createLambdaLayer.d.ts +5 -0
  89. package/dist/resources/lambda-layer/createLambdaLayer.js +31 -0
  90. package/dist/resources/layers/common/src/nodejs/api-response/index.d.ts +1 -0
  91. package/dist/resources/layers/common/src/nodejs/api-response/index.js +18 -0
  92. package/dist/resources/layers/common/src/nodejs/api-response/responses.d.ts +24 -0
  93. package/dist/resources/layers/common/src/nodejs/api-response/responses.js +43 -0
  94. package/dist/resources/layers/common/src/nodejs/index.d.ts +2 -0
  95. package/dist/resources/layers/common/src/nodejs/index.js +19 -0
  96. package/dist/resources/layers/common/src/nodejs/logger/IContext.d.ts +5 -0
  97. package/dist/resources/layers/common/src/nodejs/logger/IContext.js +3 -0
  98. package/dist/resources/layers/common/src/nodejs/logger/index.d.ts +2 -0
  99. package/dist/resources/layers/common/src/nodejs/logger/index.js +19 -0
  100. package/dist/resources/layers/common/src/nodejs/logger/logger.d.ts +2 -0
  101. package/dist/resources/layers/common/src/nodejs/logger/logger.js +12 -0
  102. package/dist/resources/resources/iam/policyDocuments/cognitoPolicy.d.ts +4 -0
  103. package/dist/resources/resources/iam/policyDocuments/cognitoPolicy.js +52 -0
  104. package/dist/resources/resources/iam/roles/createRole.d.ts +4 -0
  105. package/dist/resources/resources/iam/roles/createRole.js +22 -0
  106. package/dist/resources/route53/CreateZone.d.ts +0 -0
  107. package/dist/resources/route53/CreateZone.js +47 -0
  108. package/dist/resources/route53/create-zones.d.ts +0 -0
  109. package/dist/resources/route53/create-zones.js +30 -0
  110. package/dist/resources/securityManager/index.d.ts +4 -0
  111. package/dist/resources/securityManager/index.js +18 -0
  112. package/docs/lambda-config.md +1 -0
  113. package/package.json +48 -0
  114. package/readme.md +147 -0
  115. package/src/config/AppConfig.ts +93 -0
  116. package/src/config/Constants.ts +27 -0
  117. package/src/config/Environments.ts +2 -0
  118. package/src/config/MicroserviceAppConfig.ts +9 -0
  119. package/src/config/bishopConfig.ts +83 -0
  120. package/src/config/customConfigs/ApiAppConfig.ts +6 -0
  121. package/src/config/customConfigs/GlobalAppConfig.ts +11 -0
  122. package/src/config/customConfigs/IAppConfig.ts +13 -0
  123. package/src/config/customConfigs/ResourceAppConfig.ts +12 -0
  124. package/src/config/microServiceConfig.ts +85 -0
  125. package/src/config/types/TsgCdkConfigType.ts +3 -0
  126. package/src/config/types/TsgCognitoConfig.ts +6 -0
  127. package/src/config/types/TsgDnsConfig.ts +9 -0
  128. package/src/config/types/TsgDynamoDbProp.ts +7 -0
  129. package/src/config/types/TsgDynamoIndex.ts +16 -0
  130. package/src/config/types/TsgDynamoProp.ts +17 -0
  131. package/src/config/types/TsgDynamoTable.ts +5 -0
  132. package/src/config/types/TsgDynamoTableRef.ts +4 -0
  133. package/src/config/types/TsgLambda.ts +6 -0
  134. package/src/config/types/TsgLambdaLayerProp.ts +5 -0
  135. package/src/config/types/TsgLambdaMap.ts +4 -0
  136. package/src/config/types/TsgLambdaName.ts +4 -0
  137. package/src/config/types/TsgLambdaNode.ts +4 -0
  138. package/src/config/types/TsgLambdaProp.ts +16 -0
  139. package/src/config/types/TsgLambdaProps.ts +19 -0
  140. package/src/config/types/TsgLambdaRoutable.ts +6 -0
  141. package/src/config/types/index.ts +9 -0
  142. package/src/constructs/MicroService.ts +68 -0
  143. package/src/constructs/index.ts +1 -0
  144. package/src/index.ts +4 -0
  145. package/src/interfaces/CreateLambdaFunctionInput.ts +11 -0
  146. package/src/interfaces/MicroserviceProps.ts +11 -0
  147. package/src/resources/.gitkeep +0 -0
  148. package/src/resources/base/baseResource.ts +15 -0
  149. package/src/resources/certificate/createCertificate.ts +40 -0
  150. package/src/resources/cicd/.gitkeep +0 -0
  151. package/src/resources/cognito/.gitkeep +0 -0
  152. package/src/resources/cognito/createCognito.ts +47 -0
  153. package/src/resources/cognito/createCognitoProps.ts +46 -0
  154. package/src/resources/dynamodb/CreateDynamo.ts +111 -0
  155. package/src/resources/gateway/createApi.ts +138 -0
  156. package/src/resources/gateway/createMicroServiceBundle.ts +183 -0
  157. package/src/resources/helpers/createAuthorizer.ts +106 -0
  158. package/src/resources/helpers/createCommonLayer.ts +18 -0
  159. package/src/resources/helpers/createRoutes.ts +43 -0
  160. package/src/resources/lambda/createLambda.ts +184 -0
  161. package/src/resources/lambda-layer/createLambdaLayer.ts +40 -0
  162. package/src/resources/layers/common/package.json +22 -0
  163. package/src/resources/layers/common/src/nodejs/api-response/index.ts +1 -0
  164. package/src/resources/layers/common/src/nodejs/api-response/responses.ts +41 -0
  165. package/src/resources/layers/common/src/nodejs/index.ts +3 -0
  166. package/src/resources/layers/common/src/nodejs/logger/IContext.ts +7 -0
  167. package/src/resources/layers/common/src/nodejs/logger/index.ts +2 -0
  168. package/src/resources/layers/common/src/nodejs/logger/logger.ts +11 -0
  169. package/src/resources/layers/common/tsconfig.json +7 -0
  170. package/src/resources/resources/iam/policyDocuments/cognitoPolicy.ts +55 -0
  171. package/src/resources/resources/iam/roles/createRole.ts +30 -0
  172. package/src/resources/route53/CreateZone.ts +62 -0
  173. package/src/resources/route53/create-zones.ts +41 -0
  174. package/src/resources/securityManager/index.ts +24 -0
  175. package/tsconfig.json +40 -0
@@ -0,0 +1,36 @@
1
+ name: Publish package to GitHub Packages
2
+ on:
3
+ push:
4
+ branches:
5
+ - develop
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: read
12
+ packages: write
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ # Setup .npmrc file to publish to GitHub Packages
16
+ - uses: actions/setup-node@v3
17
+ with:
18
+ node-version: '18.x'
19
+ # registry-url: 'https://npm.pkg.github.com/'
20
+ # scope: '@sylvesterllc'
21
+ - run: npm i -g pnpm
22
+ - run: pnpm i
23
+ - run: git config user.email "davis@sylvesterllc.com"
24
+ - run: git config user.name "Davis Sylvester III"
25
+ - run: cp .npmrc src/resources/layers/common
26
+ - run: npm set //registry.npmjs.org/:_authToken $NPM_REGISTRY_TOKEN
27
+ # - run: npm adduser
28
+
29
+ # - run: npm config set '//npm.pkg.github.com/:_authToken' ${{ secrets.CICD_TOKEN }}
30
+ # - run: npm run build:layers
31
+ # - run: npm version patch // This is also done in the npm publish:lib script
32
+ - run: npm run publish:lib
33
+ # - run: npm publish
34
+ env:
35
+ CICD_TOKEN: ${{ secrets.CICD_TOKEN }}
36
+ NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
@@ -0,0 +1,24 @@
1
+ import { ApiAppConfig } from "./customConfigs/ApiAppConfig";
2
+ import { GlobalAppConfig } from "./customConfigs/GlobalAppConfig";
3
+ import { IAppConfig } from "./customConfigs/IAppConfig";
4
+ import { ResourceAppConfig } from "./customConfigs/ResourceAppConfig";
5
+ import { TsgDynamoProp } from "./types";
6
+ import { TsgDnsAppConfig } from "./types/TsgDnsConfig";
7
+ import { TsgLambdaProp } from "./types/TsgLambdaProp";
8
+ export declare class AppConfig implements IAppConfig {
9
+ API: ApiAppConfig;
10
+ GLOBALS: GlobalAppConfig;
11
+ RESOURCES: ResourceAppConfig;
12
+ DNS: TsgDnsAppConfig;
13
+ lambdaConfigs: TsgLambdaProp[];
14
+ dynamoConfigs: TsgDynamoProp[];
15
+ get AppName(): string;
16
+ get AppPrefix(): string;
17
+ constructor(config: IAppConfig);
18
+ private populate;
19
+ private populateGlobalConfig;
20
+ private populateApiConfig;
21
+ private populateResources;
22
+ private populateConfigs;
23
+ private expandProps;
24
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppConfig = void 0;
4
+ class AppConfig {
5
+ get AppName() {
6
+ return this.GLOBALS.name;
7
+ }
8
+ get AppPrefix() {
9
+ return (this.GLOBALS.prefix) ? this.GLOBALS.prefix : this.GLOBALS.name;
10
+ }
11
+ constructor(config) {
12
+ this.populate(config);
13
+ }
14
+ populate(config) {
15
+ this.populateGlobalConfig(config);
16
+ this.populateApiConfig(config);
17
+ this.populateResources(config);
18
+ }
19
+ populateGlobalConfig(config) {
20
+ this.GLOBALS = {
21
+ ...config.GLOBALS
22
+ };
23
+ }
24
+ populateApiConfig(config) {
25
+ if (config.API)
26
+ this.API = {
27
+ ...config.API
28
+ };
29
+ }
30
+ populateResources(config) {
31
+ this.RESOURCES = {
32
+ ...config.RESOURCES
33
+ };
34
+ this.RESOURCES.DYNAMO = {
35
+ ...config.RESOURCES.DYNAMO
36
+ };
37
+ this.DNS = {
38
+ ...config.DNS
39
+ };
40
+ }
41
+ // this.lambdaConfigs = this.expandProps<TsgLambdaName, TsgLambdaProp>(this.RESOURCES.LAMBDA!);
42
+ // this.dynamoConfigs = this.expandProps<TsgTableName, TsgDynamoProp>(this.RESOURCES.DYNAMO?.TABLES!);
43
+ // }
44
+ populateConfigs(result, record) {
45
+ if (!record) {
46
+ return null;
47
+ }
48
+ result = this.expandProps(record);
49
+ return result;
50
+ }
51
+ expandProps(data) {
52
+ console.log('data', data);
53
+ const result = [];
54
+ // @ts-ignore
55
+ for (const [key, value] of Object.entries(data)) {
56
+ result.push(value);
57
+ }
58
+ return result;
59
+ }
60
+ }
61
+ exports.AppConfig = AppConfig;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9BcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEsTUFBYSxTQUFTO0lBV2xCLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELFlBQVksTUFBa0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQWtCO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBR25DLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFrQjtRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsR0FBRyxNQUFNLENBQUMsT0FBTztTQUNwQixDQUFDO0lBQ04sQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWtCO1FBRXhDLElBQUksTUFBTSxDQUFDLEdBQUc7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHO2dCQUNQLEdBQUcsTUFBTSxDQUFDLEdBQUc7YUFDaEIsQ0FBQztJQUNWLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFrQjtRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxNQUFNLENBQUMsU0FBUztTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7WUFDcEIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU07U0FDN0IsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUc7WUFDUCxHQUFHLE1BQU0sQ0FBQyxHQUFHO1NBQ2hCLENBQUM7SUFDTixDQUFDO0lBQ0QsbUdBQW1HO0lBQ25HLDBHQUEwRztJQUMxRyxJQUFJO0lBRUksZUFBZSxDQUFPLE1BQVcsRUFBRSxNQUEwQjtRQUVqRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFPLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBRWxCLENBQUM7SUFFTyxXQUFXLENBQU8sSUFBdUI7UUFFN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQWE7UUFDYixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFhLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBbEZELDhCQWtGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJwcm9jZXNzXCI7XG5pbXBvcnQgeyBBcGlBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9HbG9iYWxBcHBDb25maWdcIjtcbmltcG9ydCB7IElBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcbmltcG9ydCB7IFJlc291cmNlQXBwQ29uZmlnIH0gZnJvbSBcIi4vY3VzdG9tQ29uZmlncy9SZXNvdXJjZUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgVHNnRHluYW1vUHJvcCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBUc2dEbnNBcHBDb25maWcgfSBmcm9tIFwiLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IFRzZ0xhbWJkYU5hbWUgfSBmcm9tIFwiLi90eXBlcy9Uc2dMYW1iZGFOYW1lXCI7XG5pbXBvcnQgeyBUc2dMYW1iZGFQcm9wIH0gZnJvbSBcIi4vdHlwZXMvVHNnTGFtYmRhUHJvcFwiO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIGltcGxlbWVudHMgSUFwcENvbmZpZyB7XG5cbiAgICBwdWJsaWMgQVBJOiBBcGlBcHBDb25maWc7XG4gICAgcHVibGljIEdMT0JBTFM6IEdsb2JhbEFwcENvbmZpZztcbiAgICBwdWJsaWMgUkVTT1VSQ0VTOiBSZXNvdXJjZUFwcENvbmZpZztcbiAgICBwdWJsaWMgRE5TOiBUc2dEbnNBcHBDb25maWc7XG5cblxuICAgIHB1YmxpYyBsYW1iZGFDb25maWdzOiBUc2dMYW1iZGFQcm9wW107XG4gICAgcHVibGljIGR5bmFtb0NvbmZpZ3M6IFRzZ0R5bmFtb1Byb3BbXTtcblxuICAgIGdldCBBcHBOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5HTE9CQUxTLm5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IEFwcFByZWZpeCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLkdMT0JBTFMucHJlZml4KSA/IHRoaXMuR0xPQkFMUy5wcmVmaXggOiB0aGlzLkdMT0JBTFMubmFtZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZShjb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGUoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVHbG9iYWxDb25maWcoY29uZmlnKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUFwaUNvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlUmVzb3VyY2VzKGNvbmZpZyk7XG5cblxuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVHbG9iYWxDb25maWcoY29uZmlnOiBJQXBwQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuR0xPQkFMUyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5HTE9CQUxTXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZUFwaUNvbmZpZyhjb25maWc6IElBcHBDb25maWcpIHtcblxuICAgICAgICBpZiAoY29uZmlnLkFQSSlcbiAgICAgICAgICAgIHRoaXMuQVBJID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5BUElcbiAgICAgICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVJlc291cmNlcyhjb25maWc6IElBcHBDb25maWcpIHtcbiAgICAgICAgdGhpcy5SRVNPVVJDRVMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuUkVTT1VSQ0VTXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuUkVTT1VSQ0VTLkRZTkFNTyA9IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5SRVNPVVJDRVMuRFlOQU1PXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ETlMgPSB7XG4gICAgICAgICAgICAuLi5jb25maWcuRE5TXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vICAgICB0aGlzLmxhbWJkYUNvbmZpZ3MgPSB0aGlzLmV4cGFuZFByb3BzPFRzZ0xhbWJkYU5hbWUsIFRzZ0xhbWJkYVByb3A+KHRoaXMuUkVTT1VSQ0VTLkxBTUJEQSEpO1xuICAgIC8vICAgICB0aGlzLmR5bmFtb0NvbmZpZ3MgPSB0aGlzLmV4cGFuZFByb3BzPFRzZ1RhYmxlTmFtZSwgVHNnRHluYW1vUHJvcD4odGhpcy5SRVNPVVJDRVMuRFlOQU1PPy5UQUJMRVMhKTtcbiAgICAvLyB9XG5cbiAgICBwcml2YXRlIHBvcHVsYXRlQ29uZmlnczxULCBSPihyZXN1bHQ6IFJbXSwgcmVjb3JkPzogUmVjb3JkPHN0cmluZywgUj4pIHtcblxuICAgICAgICBpZiAoIXJlY29yZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgPSB0aGlzLmV4cGFuZFByb3BzPFQsIFI+KHJlY29yZCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFByb3BzPFQsIFI+KGRhdGE6IFJlY29yZDxzdHJpbmcsIFI+KSB7XG5cbiAgICAgICAgY29uc29sZS5sb2coJ2RhdGEnLCBkYXRhKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFJbXTtcbiAgICB9XG59Il19
@@ -0,0 +1,26 @@
1
+ export declare const CONSTANTS: {
2
+ DYNAMODB: {
3
+ TABLES: {
4
+ AUTH_HISTORY_TABLE: {
5
+ name: string;
6
+ indexes: {
7
+ AuthHistoryTS: {
8
+ name: string;
9
+ };
10
+ Username: {
11
+ name: string;
12
+ };
13
+ };
14
+ };
15
+ };
16
+ };
17
+ WEB: {
18
+ ADMIN_PORTAL_BUCKET: string;
19
+ };
20
+ AUTH: {
21
+ OAUTH: {
22
+ CLIENT_ID: string | undefined;
23
+ CLIENT_SECRET: string | undefined;
24
+ };
25
+ };
26
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONSTANTS = void 0;
4
+ exports.CONSTANTS = {
5
+ DYNAMODB: {
6
+ TABLES: {
7
+ AUTH_HISTORY_TABLE: {
8
+ name: 'auth-history',
9
+ indexes: {
10
+ AuthHistoryTS: {
11
+ name: 'auth-history-ts'
12
+ },
13
+ Username: {
14
+ name: 'username',
15
+ }
16
+ }
17
+ }
18
+ },
19
+ },
20
+ WEB: {
21
+ ADMIN_PORTAL_BUCKET: 'bishop.davissylvester.net',
22
+ },
23
+ AUTH: {
24
+ OAUTH: {
25
+ CLIENT_ID: process.env.AMAZON_OAUTH_CLIENT_ID,
26
+ CLIENT_SECRET: process.env.AMAZON_OAUTH_CLIENT_SECRET
27
+ }
28
+ }
29
+ };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9Db25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxTQUFTLEdBQUc7SUFFckIsUUFBUSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ0osa0JBQWtCLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUU7b0JBQ0wsYUFBYSxFQUFFO3dCQUNYLElBQUksRUFBRSxpQkFBaUI7cUJBQzFCO29CQUNELFFBQVEsRUFBRTt3QkFDTixJQUFJLEVBQUUsVUFBVTtxQkFDbkI7aUJBQ0o7YUFDSjtTQUNKO0tBQ0o7SUFDRCxHQUFHLEVBQUU7UUFDRCxtQkFBbUIsRUFBRSwyQkFBMkI7S0FDbkQ7SUFDRCxJQUFJLEVBQUM7UUFDRCxLQUFLLEVBQUU7WUFDSCxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0I7WUFDN0MsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCO1NBQ3hEO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENPTlNUQU5UUyA9IHtcblxuICAgIERZTkFNT0RCOiB7XG4gICAgICAgIFRBQkxFUzoge1xuICAgICAgICAgICAgQVVUSF9ISVNUT1JZX1RBQkxFOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2F1dGgtaGlzdG9yeScsXG4gICAgICAgICAgICAgICAgaW5kZXhlczoge1xuICAgICAgICAgICAgICAgICAgICBBdXRoSGlzdG9yeVRTOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnYXV0aC1oaXN0b3J5LXRzJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBVc2VybmFtZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VzZXJuYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9LFxuICAgIFdFQjoge1xuICAgICAgICBBRE1JTl9QT1JUQUxfQlVDS0VUOiAnYmlzaG9wLmRhdmlzc3lsdmVzdGVyLm5ldCcsXG4gICAgfSxcbiAgICBBVVRIOntcbiAgICAgICAgT0FVVEg6IHtcbiAgICAgICAgICAgIENMSUVOVF9JRDogcHJvY2Vzcy5lbnYuQU1BWk9OX09BVVRIX0NMSUVOVF9JRCxcbiAgICAgICAgICAgIENMSUVOVF9TRUNSRVQ6IHByb2Nlc3MuZW52LkFNQVpPTl9PQVVUSF9DTElFTlRfU0VDUkVUXG4gICAgICAgIH1cbiAgICB9XG59OyJdfQ==
@@ -0,0 +1,2 @@
1
+ export type Environment = "dev" | "qa" | "prod";
2
+ export type ClientAppType = "mobile" | "web";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52aXJvbm1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9FbnZpcm9ubWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVudmlyb25tZW50ID0gXCJkZXZcIiB8IFwicWFcIiB8IFwicHJvZFwiO1xuZXhwb3J0IHR5cGUgQ2xpZW50QXBwVHlwZSA9IFwibW9iaWxlXCIgfCBcIndlYlwiOyJdfQ==
@@ -0,0 +1,5 @@
1
+ import { MicroserviceProps } from "../interfaces/MicroserviceProps";
2
+ import { AppConfig } from "./AppConfig";
3
+ export declare class MicroServiceAppConfig extends AppConfig {
4
+ constructor(config: MicroserviceProps);
5
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MicroServiceAppConfig = void 0;
4
+ const AppConfig_1 = require("./AppConfig");
5
+ class MicroServiceAppConfig extends AppConfig_1.AppConfig {
6
+ constructor(config) {
7
+ super(config);
8
+ }
9
+ }
10
+ exports.MicroServiceAppConfig = MicroServiceAppConfig;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9zZXJ2aWNlQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9NaWNyb3NlcnZpY2VBcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXdDO0FBRXhDLE1BQWEscUJBQXNCLFNBQVEscUJBQVM7SUFFakQsWUFBWSxNQUF5QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUNIO0FBTEQsc0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaWNyb3NlcnZpY2VQcm9wcyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL01pY3Jvc2VydmljZVByb3BzXCI7XG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tIFwiLi9BcHBDb25maWdcIjtcblxuZXhwb3J0IGNsYXNzIE1pY3JvU2VydmljZUFwcENvbmZpZyBleHRlbmRzIEFwcENvbmZpZyB7XG5cbiAgIGNvbnN0cnVjdG9yKGNvbmZpZzogTWljcm9zZXJ2aWNlUHJvcHMpIHtcbiAgICAgICBzdXBlcihjb25maWcpO1xuICAgfVxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ import { IAppConfig } from "./customConfigs/IAppConfig";
2
+ export declare const config: IAppConfig;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
5
+ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
6
+ const Constants_1 = require("./Constants");
7
+ exports.config = {
8
+ GLOBALS: {
9
+ name: `${process.env.APP_NAME}`,
10
+ accountNumber: process.env.CDK_DEFAULT_ACCOUNT || "",
11
+ region: process.env.CDK_DEFAULT_REGION || "us-east-1",
12
+ stackRuntime: aws_lambda_1.Runtime.NODEJS_18_X,
13
+ },
14
+ API: {
15
+ Name: `${process.env.APP_NAME}-auth-api`,
16
+ Description: 'This is my new API',
17
+ DomainPrefix: 'my-custom-api'
18
+ },
19
+ RESOURCES: {
20
+ LAMBDA: [
21
+ {
22
+ name: `create-account`,
23
+ codePath: './lambda-functions/auth/createAccount.ts',
24
+ handler: 'main',
25
+ apiGateway: {
26
+ route: '/account/create-account',
27
+ method: 'post',
28
+ },
29
+ },
30
+ {
31
+ name: `change-password`,
32
+ codePath: './lambda-functions/auth/changePassword.ts',
33
+ handler: 'main',
34
+ apiGateway: {
35
+ route: '/account/change-password',
36
+ method: 'post',
37
+ }
38
+ },
39
+ ],
40
+ DYNAMO: {
41
+ TABLES: [
42
+ {
43
+ tableName: `${Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.name}`,
44
+ primaryKey: {
45
+ name: 'id',
46
+ type: aws_dynamodb_1.AttributeType.STRING,
47
+ },
48
+ billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
49
+ indexes: [
50
+ {
51
+ indexName: Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.indexes.AuthHistoryTS.name,
52
+ partitionKey: {
53
+ name: 'createdTS',
54
+ type: aws_dynamodb_1.AttributeType.NUMBER
55
+ },
56
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
57
+ },
58
+ {
59
+ indexName: Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.indexes.Username.name,
60
+ partitionKey: {
61
+ name: 'username',
62
+ type: aws_dynamodb_1.AttributeType.STRING
63
+ },
64
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
65
+ },
66
+ ]
67
+ },
68
+ ],
69
+ },
70
+ },
71
+ DNS: {
72
+ ZoneName: '',
73
+ ZoneId: '',
74
+ ZoneNameWithoutPeriod: 'not-used',
75
+ ZoneNameWithoutSuffix: 'not-used',
76
+ ZoneExist: true,
77
+ HostName: '',
78
+ FQDN: ''
79
+ }
80
+ };
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlzaG9wQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9iaXNob3BDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQXNGO0FBQ3RGLHVEQUFpRDtBQUNqRCwyQ0FBd0M7QUFHM0IsUUFBQSxNQUFNLEdBQWU7SUFDOUIsT0FBTyxFQUFFO1FBQ0wsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7UUFDL0IsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRTtRQUNwRCxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxXQUFXO1FBQ3JELFlBQVksRUFBRSxvQkFBTyxDQUFDLFdBQVc7S0FDcEM7SUFDRCxHQUFHLEVBQUU7UUFDRCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsV0FBVztRQUN4QyxXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLFlBQVksRUFBRSxlQUFlO0tBQ2hDO0lBQ0QsU0FBUyxFQUFFO1FBQ0MsTUFBTSxFQUFFO1lBQ0o7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsVUFBVSxFQUFFO29CQUNSLEtBQUssRUFBRSx5QkFBeUI7b0JBQ2hDLE1BQU0sRUFBRSxNQUFNO2lCQUNqQjthQUVKO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsVUFBVSxFQUFFO29CQUNSLEtBQUssRUFBRSwwQkFBMEI7b0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2lCQUNqQjthQUNKO1NBQ0o7UUFFVCxNQUFNLEVBQUU7WUFDSixNQUFNLEVBQUU7Z0JBQ0o7b0JBQ0ksU0FBUyxFQUFFLEdBQUcscUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRTtvQkFDakUsVUFBVSxFQUFFO3dCQUNSLElBQUksRUFBRSxJQUFJO3dCQUNWLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07cUJBQzdCO29CQUNELFdBQVcsRUFBRSwwQkFBVyxDQUFDLGVBQWU7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDTDs0QkFDSSxTQUFTLEVBQUUscUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSTs0QkFDbEYsWUFBWSxFQUFFO2dDQUNWLElBQUksRUFBRSxXQUFXO2dDQUNqQixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNOzZCQUM3Qjs0QkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO3lCQUNyQzt3QkFDRDs0QkFDSSxTQUFTLEVBQUUscUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTs0QkFDN0UsWUFBWSxFQUFFO2dDQUNWLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNOzZCQUM3Qjs0QkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO3lCQUNyQztxQkFDSjtpQkFDSjthQUNSO1NBQ0E7S0FFSjtJQUNELEdBQUcsRUFBRTtRQUNGLFFBQVEsRUFBRyxFQUFFO1FBQ2IsTUFBTSxFQUFFLEVBQUU7UUFDVixxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLHFCQUFxQixFQUFFLFVBQVU7UUFDakMsU0FBUyxFQUFFLElBQUk7UUFDZixRQUFRLEVBQUUsRUFBRTtRQUNaLElBQUksRUFBRSxFQUFFO0tBRVY7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlVHlwZSwgQmlsbGluZ01vZGUsIFByb2plY3Rpb25UeXBlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1keW5hbW9kYlwiO1xuaW1wb3J0IHsgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDT05TVEFOVFMgfSBmcm9tIFwiLi9Db25zdGFudHNcIjtcbmltcG9ydCB7IElBcHBDb25maWcgfSBmcm9tIFwiLi9jdXN0b21Db25maWdzL0lBcHBDb25maWdcIjtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZzogSUFwcENvbmZpZyA9IHtcbiAgICBHTE9CQUxTOiB7XG4gICAgICAgIG5hbWU6IGAke3Byb2Nlc3MuZW52LkFQUF9OQU1FfWAsICAgICAgICBcbiAgICAgICAgYWNjb3VudE51bWJlcjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCB8fCBcIlwiLFxuICAgICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgICAgICBzdGFja1J1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgfSxcbiAgICBBUEk6IHtcbiAgICAgICAgTmFtZTogYCR7cHJvY2Vzcy5lbnYuQVBQX05BTUV9LWF1dGgtYXBpYCxcbiAgICAgICAgRGVzY3JpcHRpb246ICdUaGlzIGlzIG15IG5ldyBBUEknLFxuICAgICAgICBEb21haW5QcmVmaXg6ICdteS1jdXN0b20tYXBpJ1xuICAgIH0sXG4gICAgUkVTT1VSQ0VTOiB7ICAgICAgICBcbiAgICAgICAgICAgICAgICBMQU1CREE6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogYGNyZWF0ZS1hY2NvdW50YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVQYXRoOiAnLi9sYW1iZGEtZnVuY3Rpb25zL2F1dGgvY3JlYXRlQWNjb3VudC50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiAnbWFpbicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBhcGlHYXRld2F5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGU6ICcvYWNjb3VudC9jcmVhdGUtYWNjb3VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGBjaGFuZ2UtcGFzc3dvcmRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZVBhdGg6ICcuL2xhbWJkYS1mdW5jdGlvbnMvYXV0aC9jaGFuZ2VQYXNzd29yZC50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiAnbWFpbicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwaUdhdGV3YXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZTogJy9hY2NvdW50L2NoYW5nZS1wYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsIFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFxuICAgICAgICBEWU5BTU86IHtcbiAgICAgICAgICAgIFRBQkxFUzogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lOiBgJHtDT05TVEFOVFMuRFlOQU1PREIuVEFCTEVTLkFVVEhfSElTVE9SWV9UQUJMRS5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIHByaW1hcnlLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYmlsbGluZ01vZGU6IEJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4TmFtZTogQ09OU1RBTlRTLkRZTkFNT0RCLlRBQkxFUy5BVVRIX0hJU1RPUllfVEFCTEUuaW5kZXhlcy5BdXRoSGlzdG9yeVRTLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdjcmVhdGVkVFMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLk5VTUJFUlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleE5hbWU6IENPTlNUQU5UUy5EWU5BTU9EQi5UQUJMRVMuQVVUSF9ISVNUT1JZX1RBQkxFLmluZGV4ZXMuVXNlcm5hbWUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VzZXJuYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTExcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LCAgICAgICAgICAgIFxuICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIFxuICAgIH0sXG4gICAgRE5TOiB7XG4gICAgICAgWm9uZU5hbWU6ICAnJyxcbiAgICAgICBab25lSWQ6ICcnLFxuICAgICAgIFpvbmVOYW1lV2l0aG91dFBlcmlvZDogJ25vdC11c2VkJyxcbiAgICAgICBab25lTmFtZVdpdGhvdXRTdWZmaXg6ICdub3QtdXNlZCcsXG4gICAgICAgWm9uZUV4aXN0OiB0cnVlLFxuICAgICAgIEhvc3ROYW1lOiAnJyxcbiAgICAgICBGUUROOiAnJ1xuICAgICAgICBcbiAgICB9XG59OyAiXX0=
@@ -0,0 +1,5 @@
1
+ export interface ApiAppConfig {
2
+ Name: string;
3
+ Description: string;
4
+ DomainPrefix?: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jdXN0b21Db25maWdzL0FwaUFwcENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFwaUFwcENvbmZpZyB7XG5cbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBEb21haW5QcmVmaXg/OiBzdHJpbmc7XG59OyJdfQ==
@@ -0,0 +1,8 @@
1
+ import { Runtime } from "aws-cdk-lib/aws-lambda";
2
+ export interface GlobalAppConfig {
3
+ name: string;
4
+ accountNumber: string;
5
+ region: string;
6
+ stackRuntime: Runtime;
7
+ prefix?: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsQXBwQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jdXN0b21Db25maWdzL0dsb2JhbEFwcENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9FbnZpcm9ubWVudHNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQXBwQ29uZmlnIHtcblxuICAgIFxuICAgIG5hbWU6IHN0cmluZztcbiAgICBhY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gICAgcmVnaW9uOiBzdHJpbmc7XG4gICAgc3RhY2tSdW50aW1lOiBSdW50aW1lO1xuICAgIHByZWZpeD86IHN0cmluZzsgICAgIFxufSJdfQ==
@@ -0,0 +1,10 @@
1
+ import { TsgDnsAppConfig } from "../types/TsgDnsConfig";
2
+ import { ApiAppConfig } from "./ApiAppConfig";
3
+ import { GlobalAppConfig } from "./GlobalAppConfig";
4
+ import { ResourceAppConfig } from "./ResourceAppConfig";
5
+ export interface IAppConfig {
6
+ GLOBALS: GlobalAppConfig;
7
+ API?: ApiAppConfig;
8
+ RESOURCES: ResourceAppConfig;
9
+ DNS: TsgDnsAppConfig;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUFwcENvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvY3VzdG9tQ29uZmlncy9JQXBwQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi9FbnZpcm9ubWVudHNcIjtcbmltcG9ydCB7IFRzZ0Ruc0FwcENvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9Uc2dEbnNDb25maWdcIjtcbmltcG9ydCB7IEFwaUFwcENvbmZpZyB9IGZyb20gXCIuL0FwaUFwcENvbmZpZ1wiO1xuaW1wb3J0IHsgR2xvYmFsQXBwQ29uZmlnIH0gZnJvbSBcIi4vR2xvYmFsQXBwQ29uZmlnXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUFwcENvbmZpZyB9IGZyb20gXCIuL1Jlc291cmNlQXBwQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbmZpZyB7XG4gICAgXG4gICAgR0xPQkFMUzogR2xvYmFsQXBwQ29uZmlnO1xuICAgIEFQST86IEFwaUFwcENvbmZpZztcbiAgICBSRVNPVVJDRVM6IFJlc291cmNlQXBwQ29uZmlnO1xuICAgIEROUzogVHNnRG5zQXBwQ29uZmlnO1xufSJdfQ==
@@ -0,0 +1,8 @@
1
+ import { TsgDynamoDbProp, TsgLambdaProp } from "../types";
2
+ import { TsgLambdaLayerProp } from "../types/TsgLambdaLayerProp";
3
+ export interface ResourceAppConfig {
4
+ DYNAMO?: TsgDynamoDbProp;
5
+ LAMBDA_LAYERS?: TsgLambdaLayerProp[];
6
+ AUTHORIZER?: TsgLambdaProp;
7
+ LAMBDA: TsgLambdaProp[];
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VBcHBDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2N1c3RvbUNvbmZpZ3MvUmVzb3VyY2VBcHBDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgVHNnRHluYW1vRGJQcm9wLFxuICAgIFRzZ0xhbWJkYVByb3AsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgVHNnTGFtYmRhTGF5ZXJQcm9wIH0gZnJvbSBcIi4uL3R5cGVzL1RzZ0xhbWJkYUxheWVyUHJvcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQXBwQ29uZmlnIHsgICAgXG4gICAgRFlOQU1PPzogVHNnRHluYW1vRGJQcm9wO1xuICAgIExBTUJEQV9MQVlFUlM/OiBUc2dMYW1iZGFMYXllclByb3BbXTtcbiAgICBBVVRIT1JJWkVSPzogVHNnTGFtYmRhUHJvcDtcbiAgICBMQU1CREE6IFRzZ0xhbWJkYVByb3BbXTtcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ import { IAppConfig } from "./customConfigs/IAppConfig";
2
+ export declare const config: IAppConfig;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
5
+ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
6
+ const Constants_1 = require("./Constants");
7
+ exports.config = {
8
+ GLOBALS: {
9
+ name: `${process.env.APP_NAME}`,
10
+ accountNumber: process.env.CDK_DEFAULT_ACCOUNT || "",
11
+ region: process.env.CDK_DEFAULT_REGION || "us-east-1",
12
+ stackRuntime: aws_lambda_1.Runtime.NODEJS_18_X,
13
+ },
14
+ API: {
15
+ Name: `${process.env.APP_NAME}-auth-api`,
16
+ Description: 'This is my new API',
17
+ DomainPrefix: 'my-custom-api'
18
+ },
19
+ RESOURCES: {
20
+ LAMBDA: [
21
+ {
22
+ name: `create-account`,
23
+ codePath: './lambda-functions/auth/createAccount.ts',
24
+ handler: 'main',
25
+ apiGateway: {
26
+ route: '/account/create-account',
27
+ method: 'post',
28
+ },
29
+ },
30
+ {
31
+ name: `change-password`,
32
+ codePath: './lambda-functions/auth/changePassword.ts',
33
+ handler: 'main',
34
+ apiGateway: {
35
+ route: '/account/change-password',
36
+ method: 'post',
37
+ version: 2
38
+ }
39
+ },
40
+ ],
41
+ DYNAMO: {
42
+ TABLES: [
43
+ {
44
+ tableName: `${Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.name}`,
45
+ primaryKey: {
46
+ name: 'id',
47
+ type: aws_dynamodb_1.AttributeType.STRING,
48
+ },
49
+ billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
50
+ indexes: [
51
+ {
52
+ indexName: Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.indexes.AuthHistoryTS.name,
53
+ partitionKey: {
54
+ name: 'createdTS',
55
+ type: aws_dynamodb_1.AttributeType.NUMBER
56
+ },
57
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
58
+ },
59
+ {
60
+ indexName: Constants_1.CONSTANTS.DYNAMODB.TABLES.AUTH_HISTORY_TABLE.indexes.Username.name,
61
+ partitionKey: {
62
+ name: 'username',
63
+ type: aws_dynamodb_1.AttributeType.STRING
64
+ },
65
+ projectionType: aws_dynamodb_1.ProjectionType.ALL
66
+ },
67
+ ]
68
+ },
69
+ ],
70
+ },
71
+ },
72
+ DNS: {
73
+ ZoneName: '',
74
+ ZoneId: '',
75
+ ZoneNameWithoutPeriod: 'not-used',
76
+ ZoneNameWithoutSuffix: 'not-used',
77
+ ZoneExist: true,
78
+ HostName: '',
79
+ FQDN: ''
80
+ }
81
+ };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9TZXJ2aWNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9taWNyb1NlcnZpY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQXNGO0FBQ3RGLHVEQUFpRDtBQUNqRCwyQ0FBd0M7QUFHM0IsUUFBQSxNQUFNLEdBQWU7SUFDOUIsT0FBTyxFQUFFO1FBQ0wsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7UUFDL0IsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRTtRQUNwRCxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxXQUFXO1FBQ3JELFlBQVksRUFBRSxvQkFBTyxDQUFDLFdBQVc7S0FDcEM7SUFDRCxHQUFHLEVBQUU7UUFDRCxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsV0FBVztRQUN4QyxXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLFlBQVksRUFBRSxlQUFlO0tBQ2hDO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsTUFBTSxFQUFFO1lBQ0o7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsVUFBVSxFQUFFO29CQUNSLEtBQUssRUFBRSx5QkFBeUI7b0JBQ2hDLE1BQU0sRUFBRSxNQUFNO2lCQUNqQjthQUVKO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsVUFBVSxFQUFFO29CQUNSLEtBQUssRUFBRSwwQkFBMEI7b0JBQ2pDLE1BQU0sRUFBRSxNQUFNO29CQUNkLE9BQU8sRUFBRSxDQUFDO2lCQUNiO2FBQ0o7U0FDSjtRQUdELE1BQU0sRUFBRTtZQUNKLE1BQU0sRUFBRTtnQkFDSjtvQkFDSSxTQUFTLEVBQUUsR0FBRyxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFO29CQUNqRSxVQUFVLEVBQUU7d0JBQ1IsSUFBSSxFQUFFLElBQUk7d0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtxQkFDN0I7b0JBQ0QsV0FBVyxFQUFFLDBCQUFXLENBQUMsZUFBZTtvQkFDeEMsT0FBTyxFQUFFO3dCQUNMOzRCQUNJLFNBQVMsRUFBRSxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJOzRCQUNsRixZQUFZLEVBQUU7Z0NBQ1YsSUFBSSxFQUFFLFdBQVc7Z0NBQ2pCLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07NkJBQzdCOzRCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7eUJBQ3JDO3dCQUNEOzRCQUNJLFNBQVMsRUFBRSxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzRCQUM3RSxZQUFZLEVBQUU7Z0NBQ1YsSUFBSSxFQUFFLFVBQVU7Z0NBQ2hCLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07NkJBQzdCOzRCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7eUJBQ3JDO3FCQUNKO2lCQUNKO2FBQ0o7U0FDSjtLQUVKO0lBQ0QsR0FBRyxFQUFFO1FBQ0QsUUFBUSxFQUFFLEVBQUU7UUFDWixNQUFNLEVBQUUsRUFBRTtRQUNWLHFCQUFxQixFQUFFLFVBQVU7UUFDakMscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxTQUFTLEVBQUUsSUFBSTtRQUNmLFFBQVEsRUFBRSxFQUFFO1FBQ1osSUFBSSxFQUFFLEVBQUU7S0FFWDtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVUeXBlLCBCaWxsaW5nTW9kZSwgUHJvamVjdGlvblR5cGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gXCIuL0NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUFwcENvbmZpZyB9IGZyb20gXCIuL2N1c3RvbUNvbmZpZ3MvSUFwcENvbmZpZ1wiO1xuXG5leHBvcnQgY29uc3QgY29uZmlnOiBJQXBwQ29uZmlnID0ge1xuICAgIEdMT0JBTFM6IHtcbiAgICAgICAgbmFtZTogYCR7cHJvY2Vzcy5lbnYuQVBQX05BTUV9YCxcbiAgICAgICAgYWNjb3VudE51bWJlcjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCB8fCBcIlwiLFxuICAgICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgICAgICBzdGFja1J1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgfSxcbiAgICBBUEk6IHtcbiAgICAgICAgTmFtZTogYCR7cHJvY2Vzcy5lbnYuQVBQX05BTUV9LWF1dGgtYXBpYCxcbiAgICAgICAgRGVzY3JpcHRpb246ICdUaGlzIGlzIG15IG5ldyBBUEknLFxuICAgICAgICBEb21haW5QcmVmaXg6ICdteS1jdXN0b20tYXBpJ1xuICAgIH0sXG4gICAgUkVTT1VSQ0VTOiB7XG4gICAgICAgIExBTUJEQTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IGBjcmVhdGUtYWNjb3VudGAsXG4gICAgICAgICAgICAgICAgY29kZVBhdGg6ICcuL2xhbWJkYS1mdW5jdGlvbnMvYXV0aC9jcmVhdGVBY2NvdW50LnRzJyxcbiAgICAgICAgICAgICAgICBoYW5kbGVyOiAnbWFpbicsXG4gICAgICAgICAgICAgICAgYXBpR2F0ZXdheToge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZTogJy9hY2NvdW50L2NyZWF0ZS1hY2NvdW50JyxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IGBjaGFuZ2UtcGFzc3dvcmRgLFxuICAgICAgICAgICAgICAgIGNvZGVQYXRoOiAnLi9sYW1iZGEtZnVuY3Rpb25zL2F1dGgvY2hhbmdlUGFzc3dvcmQudHMnLFxuICAgICAgICAgICAgICAgIGhhbmRsZXI6ICdtYWluJyxcbiAgICAgICAgICAgICAgICBhcGlHYXRld2F5OiB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlOiAnL2FjY291bnQvY2hhbmdlLXBhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb246IDJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuXG5cbiAgICAgICAgRFlOQU1POiB7XG4gICAgICAgICAgICBUQUJMRVM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlTmFtZTogYCR7Q09OU1RBTlRTLkRZTkFNT0RCLlRBQkxFUy5BVVRIX0hJU1RPUllfVEFCTEUubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICBwcmltYXJ5S2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleE5hbWU6IENPTlNUQU5UUy5EWU5BTU9EQi5UQUJMRVMuQVVUSF9ISVNUT1JZX1RBQkxFLmluZGV4ZXMuQXV0aEhpc3RvcnlUUy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY3JlYXRlZFRTJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5OVU1CRVJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTExcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhOYW1lOiBDT05TVEFOVFMuRFlOQU1PREIuVEFCTEVTLkFVVEhfSElTVE9SWV9UQUJMRS5pbmRleGVzLlVzZXJuYW1lLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1c2VybmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG5cbiAgICB9LFxuICAgIEROUzoge1xuICAgICAgICBab25lTmFtZTogJycsXG4gICAgICAgIFpvbmVJZDogJycsXG4gICAgICAgIFpvbmVOYW1lV2l0aG91dFBlcmlvZDogJ25vdC11c2VkJyxcbiAgICAgICAgWm9uZU5hbWVXaXRob3V0U3VmZml4OiAnbm90LXVzZWQnLFxuICAgICAgICBab25lRXhpc3Q6IHRydWUsXG4gICAgICAgIEhvc3ROYW1lOiAnJyxcbiAgICAgICAgRlFETjogJydcblxuICAgIH1cbn07ICJdfQ==
@@ -0,0 +1,3 @@
1
+ export type TsgCdkConfigType<T> = {
2
+ [name: string]: T;
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnQ2RrQ29uZmlnVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnQ2RrQ29uZmlnVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVHNnQ2RrQ29uZmlnVHlwZTxUPiA9IHtcbiAgICBbbmFtZTogc3RyaW5nXTogVDsgICAgXG59Il19
@@ -0,0 +1,5 @@
1
+ export interface TsgCognitoConfig {
2
+ USER_POOL_ID: string;
3
+ CLIENT_ID: string;
4
+ POOL_ARN: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnQ29nbml0b0NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnQ29nbml0b0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUc2dDb2duaXRvQ29uZmlnIHtcblxuICAgIFVTRVJfUE9PTF9JRDogc3RyaW5nO1xuICAgIENMSUVOVF9JRDogc3RyaW5nO1xuICAgIFBPT0xfQVJOOiBzdHJpbmc7XG59Il19
@@ -0,0 +1,9 @@
1
+ export interface TsgDnsAppConfig {
2
+ ZoneName: string;
3
+ ZoneNameWithoutSuffix: string;
4
+ ZoneNameWithoutPeriod: string;
5
+ HostName: string;
6
+ FQDN: string;
7
+ ZoneExist: boolean;
8
+ ZoneId?: string;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRG5zQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dEbnNDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHNnRG5zQXBwQ29uZmlnIHtcbiAgICBab25lTmFtZTogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFN1ZmZpeDogc3RyaW5nO1xuICAgIFpvbmVOYW1lV2l0aG91dFBlcmlvZDogc3RyaW5nO1xuICAgIEhvc3ROYW1lOiBzdHJpbmc7XG4gICAgRlFETjogc3RyaW5nO1xuICAgIFpvbmVFeGlzdDogYm9vbGVhbjtcbiAgICBab25lSWQ/OiBzdHJpbmc7XG59Il19
@@ -0,0 +1,6 @@
1
+ import { TsgDynamoProp } from "./TsgDynamoProp";
2
+ import { TsgDynamoTableRef } from "./TsgDynamoTableRef";
3
+ export interface TsgDynamoDbProp {
4
+ TABLE_REFS?: TsgDynamoTableRef[];
5
+ TABLES?: TsgDynamoProp[];
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRHluYW1vRGJQcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dEeW5hbW9EYlByb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRzZ0R5bmFtb1Byb3AgfSBmcm9tIFwiLi9Uc2dEeW5hbW9Qcm9wXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9UYWJsZVJlZiB9IGZyb20gXCIuL1RzZ0R5bmFtb1RhYmxlUmVmXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHNnRHluYW1vRGJQcm9wIHtcbiAgICBUQUJMRV9SRUZTPzogVHNnRHluYW1vVGFibGVSZWZbXTtcbiAgICBUQUJMRVM/OiBUc2dEeW5hbW9Qcm9wW107XG59Il19
@@ -0,0 +1,13 @@
1
+ import { AttributeType, ProjectionType } from "aws-cdk-lib/aws-dynamodb";
2
+ export interface TsgDynamoIndex {
3
+ indexName: string;
4
+ partitionKey: {
5
+ name: string;
6
+ type: AttributeType;
7
+ };
8
+ sortKey?: {
9
+ name: string;
10
+ type: AttributeType;
11
+ };
12
+ projectionType: ProjectionType;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRHluYW1vSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0R5bmFtb0luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVUeXBlLCBQcm9qZWN0aW9uVHlwZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUc2dEeW5hbW9JbmRleCB7XG5cbiAgICBpbmRleE5hbWU6IHN0cmluZztcbiAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlXG4gICAgfSxcbiAgICBzb3J0S2V5Pzoge1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGVcbiAgICB9IFxuICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZTtcblxufSJdfQ==
@@ -0,0 +1,15 @@
1
+ import { AttributeType, BillingMode } from "aws-cdk-lib/aws-dynamodb";
2
+ import { TsgDynamoIndex } from "./TsgDynamoIndex";
3
+ export interface TsgDynamoProp {
4
+ tableName: string;
5
+ primaryKey: {
6
+ name: string;
7
+ type: AttributeType;
8
+ };
9
+ sortKey?: {
10
+ name: string;
11
+ type: AttributeType;
12
+ };
13
+ billingMode: BillingMode;
14
+ indexes: TsgDynamoIndex[];
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRHluYW1vUHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHlwZXMvVHNnRHluYW1vUHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlVHlwZSwgQmlsbGluZ01vZGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBUc2dEeW5hbW9JbmRleCB9IGZyb20gXCIuL1RzZ0R5bmFtb0luZGV4XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHNnRHluYW1vUHJvcCB7XG5cbiAgICB0YWJsZU5hbWU6IHN0cmluZztcbiAgICBwcmltYXJ5S2V5OiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZTtcbiAgICB9LFxuICAgIHNvcnRLZXk/OiB7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZTtcbiAgICB9LFxuICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZTtcbiAgICBpbmRleGVzOiBUc2dEeW5hbW9JbmRleFtdLFxufSJdfQ==
@@ -0,0 +1,4 @@
1
+ import { TsgDynamoProp } from "./TsgDynamoProp";
2
+ export type TsgDynamoTable = {
3
+ [name: string]: TsgDynamoProp;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRHluYW1vVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0R5bmFtb1RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUc2dEeW5hbW9Qcm9wIH0gZnJvbSBcIi4vVHNnRHluYW1vUHJvcFwiO1xuXG5leHBvcnQgdHlwZSBUc2dEeW5hbW9UYWJsZSA9IHtcbiAgICBbbmFtZTogc3RyaW5nXTogVHNnRHluYW1vUHJvcDsgICAgXG59Il19
@@ -0,0 +1,4 @@
1
+ export type TsgDynamoTableRef = {
2
+ tableName: string;
3
+ region?: string;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnRHluYW1vVGFibGVSZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3R5cGVzL1RzZ0R5bmFtb1RhYmxlUmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUc2dEeW5hbW9UYWJsZVJlZiA9IHtcbiAgICB0YWJsZU5hbWU6IHN0cmluZztcbiAgICByZWdpb24/OiBzdHJpbmc7ICAgIFxufSJdfQ==
@@ -0,0 +1,4 @@
1
+ import { TsgLambdaProp } from "./TsgLambdaProp";
2
+ export type TsgLambda = {
3
+ [name: string]: TsgLambdaProp;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRzZ0xhbWJkYVByb3AgfSBmcm9tIFwiLi9Uc2dMYW1iZGFQcm9wXCI7XG5cbmV4cG9ydCB0eXBlIFRzZ0xhbWJkYSA9IHsgICAgXG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBUc2dMYW1iZGFQcm9wO1xuICAgIFxufSJdfQ==
@@ -0,0 +1,5 @@
1
+ export interface TsgLambdaLayerProp {
2
+ name: string;
3
+ codePath: string;
4
+ description: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHNnTGFtYmRhTGF5ZXJQcm9wLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy90eXBlcy9Uc2dMYW1iZGFMYXllclByb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHNnTGFtYmRhTGF5ZXJQcm9wIHtcbiAgICBuYW1lOiBzdHJpbmc7ICAgIFxuICAgIGNvZGVQYXRoOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn0iXX0=