@resistdesign/voltra 3.0.0-alpha.3 → 3.0.0-alpha.4

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 (225) hide show
  1. package/README.md +75 -0
  2. package/SearchTypes-DjN6YQzE.d.ts +577 -0
  3. package/Types-C7XjUjoF.d.ts +240 -0
  4. package/Validation-CFP59oIP.d.ts +226 -0
  5. package/api/index.d.ts +6 -0
  6. package/api/index.js +7968 -0
  7. package/app/index.d.ts +5 -0
  8. package/app/index.js +810 -0
  9. package/common/Testing/CLI.js +432 -0
  10. package/common/index.d.ts +4 -0
  11. package/common/index.js +1760 -0
  12. package/iac/index.d.ts +2 -0
  13. package/iac/index.js +1661 -0
  14. package/iac/packs/index.d.ts +1 -0
  15. package/iac/packs/index.js +1620 -0
  16. package/index-BkFZlfit.d.ts +112 -0
  17. package/index-C3-iD9Mh.d.ts +690 -0
  18. package/index-DZ2BB4iX.d.ts +5357 -0
  19. package/{src/iac/types/IaCTypes.d.ts → index-DcvJOZ_c.d.ts} +1018 -23
  20. package/index-IokxSNxm.d.ts +745 -0
  21. package/index.d.ts +13 -0
  22. package/index.js +10973 -0
  23. package/package.json +40 -41
  24. package/src/api/DataAccessControl.d.ts +0 -85
  25. package/src/api/DataAccessControl.js +0 -159
  26. package/src/api/ORM/DACUtils.d.ts +0 -60
  27. package/src/api/ORM/DACUtils.js +0 -197
  28. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  29. package/src/api/ORM/ListItemUtils.js +0 -22
  30. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  31. package/src/api/ORM/ORMRouteMap.js +0 -82
  32. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  33. package/src/api/ORM/TypeInfoORMService.js +0 -581
  34. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  35. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  36. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  37. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  38. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  39. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  40. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  41. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  42. package/src/api/ORM/drivers/S3FileItemDBDriver.d.ts +0 -44
  43. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  44. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  45. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  46. package/src/api/ORM/drivers/common/Types.d.ts +0 -77
  47. package/src/api/ORM/drivers/common/Types.js +0 -14
  48. package/src/api/ORM/drivers/common/index.d.ts +0 -2
  49. package/src/api/ORM/drivers/common/index.js +0 -18
  50. package/src/api/ORM/drivers/index.d.ts +0 -3
  51. package/src/api/ORM/drivers/index.js +0 -19
  52. package/src/api/ORM/index.d.ts +0 -4
  53. package/src/api/ORM/index.js +0 -43
  54. package/src/api/Router/AWS.d.ts +0 -26
  55. package/src/api/Router/AWS.js +0 -76
  56. package/src/api/Router/Auth.d.ts +0 -2
  57. package/src/api/Router/Auth.js +0 -9
  58. package/src/api/Router/CORS.d.ts +0 -6
  59. package/src/api/Router/CORS.js +0 -27
  60. package/src/api/Router/Types.d.ts +0 -71
  61. package/src/api/Router/Types.js +0 -2
  62. package/src/api/Router/index.d.ts +0 -18
  63. package/src/api/Router/index.js +0 -145
  64. package/src/api/index.d.ts +0 -3
  65. package/src/api/index.js +0 -39
  66. package/src/app/index.d.ts +0 -1
  67. package/src/app/index.js +0 -37
  68. package/src/app/utils/ApplicationState.d.ts +0 -52
  69. package/src/app/utils/ApplicationState.js +0 -86
  70. package/src/app/utils/ApplicationStateLoader.d.ts +0 -46
  71. package/src/app/utils/ApplicationStateLoader.js +0 -57
  72. package/src/app/utils/Controller.d.ts +0 -4
  73. package/src/app/utils/Controller.js +0 -47
  74. package/src/app/utils/Debug.d.ts +0 -4
  75. package/src/app/utils/Debug.js +0 -30
  76. package/src/app/utils/EasyLayout.d.ts +0 -49
  77. package/src/app/utils/EasyLayout.js +0 -122
  78. package/src/app/utils/Route.d.ts +0 -28
  79. package/src/app/utils/Route.js +0 -102
  80. package/src/app/utils/Service.d.ts +0 -12
  81. package/src/app/utils/Service.js +0 -34
  82. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  83. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  84. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  85. package/src/app/utils/TypeInfoORMClient.js +0 -69
  86. package/src/app/utils/index.d.ts +0 -8
  87. package/src/app/utils/index.js +0 -24
  88. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  89. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  90. package/src/common/HelperTypes.d.ts +0 -3
  91. package/src/common/HelperTypes.js +0 -2
  92. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  93. package/src/common/IdGeneration/getSimpleId.js +0 -16
  94. package/src/common/IdGeneration/index.d.ts +0 -1
  95. package/src/common/IdGeneration/index.js +0 -17
  96. package/src/common/ItemRelationshipInfoTypes.d.ts +0 -46
  97. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  98. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  99. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  100. package/src/common/ItemRelationships/index.d.ts +0 -1
  101. package/src/common/ItemRelationships/index.js +0 -17
  102. package/src/common/Logging/Utils.d.ts +0 -10
  103. package/src/common/Logging/Utils.js +0 -33
  104. package/src/common/Logging/index.d.ts +0 -1
  105. package/src/common/Logging/index.js +0 -17
  106. package/src/common/Routing.d.ts +0 -25
  107. package/src/common/Routing.js +0 -102
  108. package/src/common/SearchTypes.d.ts +0 -98
  109. package/src/common/SearchTypes.js +0 -39
  110. package/src/common/SearchUtils.d.ts +0 -22
  111. package/src/common/SearchUtils.js +0 -134
  112. package/src/common/SearchValidation.d.ts +0 -17
  113. package/src/common/SearchValidation.js +0 -90
  114. package/src/common/Storyboarding/Types.d.ts +0 -25
  115. package/src/common/Storyboarding/Types.js +0 -2
  116. package/src/common/StringTransformers.d.ts +0 -17
  117. package/src/common/StringTransformers.js +0 -36
  118. package/src/common/Testing/CLI.d.ts +0 -2
  119. package/src/common/Testing/CLI.js +0 -56
  120. package/src/common/Testing/Types.d.ts +0 -117
  121. package/src/common/Testing/Types.js +0 -19
  122. package/src/common/Testing/Utils.d.ts +0 -48
  123. package/src/common/Testing/Utils.js +0 -334
  124. package/src/common/Testing/index.d.ts +0 -2
  125. package/src/common/Testing/index.js +0 -18
  126. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  127. package/src/common/TypeInfoDataItemUtils.js +0 -55
  128. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  129. package/src/common/TypeInfoORM/Types.js +0 -55
  130. package/src/common/TypeInfoORM/index.d.ts +0 -1
  131. package/src/common/TypeInfoORM/index.js +0 -17
  132. package/src/common/TypeParsing/Constants.d.ts +0 -1
  133. package/src/common/TypeParsing/Constants.js +0 -4
  134. package/src/common/TypeParsing/ParsingUtils/Constants.d.ts +0 -5
  135. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  136. package/src/common/TypeParsing/ParsingUtils/checkType.d.ts +0 -8
  137. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  138. package/src/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +0 -6
  139. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  140. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  141. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  142. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  143. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  144. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  145. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  146. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  147. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  148. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  149. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  150. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +0 -3
  151. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  152. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  153. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  154. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  155. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  156. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  157. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  158. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  159. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  160. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  161. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  162. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  163. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  164. package/src/common/TypeParsing/TypeInfo.d.ts +0 -142
  165. package/src/common/TypeParsing/TypeInfo.js +0 -13
  166. package/src/common/TypeParsing/TypeMapping.d.ts +0 -9
  167. package/src/common/TypeParsing/TypeMapping.js +0 -32
  168. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  169. package/src/common/TypeParsing/TypeParsing.js +0 -39
  170. package/src/common/TypeParsing/Utils.d.ts +0 -21
  171. package/src/common/TypeParsing/Utils.js +0 -94
  172. package/src/common/TypeParsing/Validation.d.ts +0 -92
  173. package/src/common/TypeParsing/Validation.js +0 -340
  174. package/src/common/TypeParsing/index.d.ts +0 -5
  175. package/src/common/TypeParsing/index.js +0 -44
  176. package/src/common/index.d.ts +0 -11
  177. package/src/common/index.js +0 -47
  178. package/src/iac/SimpleCFT.d.ts +0 -48
  179. package/src/iac/SimpleCFT.js +0 -82
  180. package/src/iac/index.d.ts +0 -9
  181. package/src/iac/index.js +0 -48
  182. package/src/iac/packs/auth/user-management.d.ts +0 -14
  183. package/src/iac/packs/auth/user-management.js +0 -302
  184. package/src/iac/packs/auth.d.ts +0 -19
  185. package/src/iac/packs/auth.js +0 -47
  186. package/src/iac/packs/build/utils.d.ts +0 -100
  187. package/src/iac/packs/build/utils.js +0 -23
  188. package/src/iac/packs/build.d.ts +0 -29
  189. package/src/iac/packs/build.js +0 -217
  190. package/src/iac/packs/cdn.d.ts +0 -12
  191. package/src/iac/packs/cdn.js +0 -126
  192. package/src/iac/packs/cloud-function.d.ts +0 -17
  193. package/src/iac/packs/cloud-function.js +0 -69
  194. package/src/iac/packs/database.d.ts +0 -29
  195. package/src/iac/packs/database.js +0 -27
  196. package/src/iac/packs/dns.d.ts +0 -13
  197. package/src/iac/packs/dns.js +0 -26
  198. package/src/iac/packs/file-storage.d.ts +0 -14
  199. package/src/iac/packs/file-storage.js +0 -71
  200. package/src/iac/packs/gateway.d.ts +0 -27
  201. package/src/iac/packs/gateway.js +0 -342
  202. package/src/iac/packs/index.d.ts +0 -11
  203. package/src/iac/packs/index.js +0 -27
  204. package/src/iac/packs/repo.d.ts +0 -10
  205. package/src/iac/packs/repo.js +0 -34
  206. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  207. package/src/iac/packs/ssl-certificate.js +0 -36
  208. package/src/iac/types/CloudFormationResourceSpecification.d.ts +0 -2
  209. package/src/iac/types/Constants.d.ts +0 -9
  210. package/src/iac/types/Constants.js +0 -20
  211. package/src/iac/types/IaCTypes.js +0 -14
  212. package/src/iac/types/Renderers.d.ts +0 -12
  213. package/src/iac/types/Renderers.js +0 -112
  214. package/src/iac/types/Types.d.ts +0 -37
  215. package/src/iac/types/Types.js +0 -2
  216. package/src/iac/types/Utils.d.ts +0 -2
  217. package/src/iac/types/Utils.js +0 -60
  218. package/src/iac/types/generate.d.ts +0 -1
  219. package/src/iac/types/generate.js +0 -31
  220. package/src/iac/utils/index.d.ts +0 -36
  221. package/src/iac/utils/index.js +0 -105
  222. package/src/iac/utils/patch-utils.d.ts +0 -15
  223. package/src/iac/utils/patch-utils.js +0 -62
  224. package/src/index.d.ts +0 -178
  225. package/src/index.js +0 -214
@@ -1,342 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addGateway = exports.DEFAULT_AUTH_TYPE = void 0;
4
- const utils_1 = require("../utils");
5
- const SimpleCFT_1 = require("../SimpleCFT");
6
- exports.DEFAULT_AUTH_TYPE = "COGNITO_USER_POOLS";
7
- /**
8
- * Add a load-balanced API gateway for your serverless cloud function.
9
- * Includes authorization config that connects your user management system to your cloud function.
10
- * Also includes a DNS record for your API/back-end.
11
- * */
12
- exports.addGateway = (0, utils_1.createResourcePack)(({ id, hostedZoneId, domainName, certificateArn, cloudFunction: { id: cloudFunctionId, region: cloudFunctionRegion = "${AWS::Region}", }, stageName = "production", authorizer, deploymentSuffix = "", }) => {
13
- const cloudFunctionUri = {
14
- "Fn::Sub": `arn:aws:apigateway:${cloudFunctionRegion}:lambda:path/2015-03-31/functions/\${${cloudFunctionId}.Arn}/invocations`,
15
- };
16
- const { scopes: authScopes = ["phone", "email", "openid", "profile"], type: authType = "COGNITO_USER_POOLS", providerARNs, identitySource = "method.request.header.authorization", } = !!authorizer &&
17
- typeof authorizer === "object"
18
- ? authorizer
19
- : {};
20
- const authorizerId = `${id}CustomAuthorizer`;
21
- const authProps = !!authorizer
22
- ? {
23
- AuthorizationScopes: authScopes,
24
- AuthorizationType: authType === exports.DEFAULT_AUTH_TYPE ? exports.DEFAULT_AUTH_TYPE : "CUSTOM",
25
- AuthorizerId: {
26
- Ref: authorizerId,
27
- },
28
- }
29
- : {
30
- AuthorizationType: "NONE",
31
- };
32
- const fullDeploymentId = `${id}GatewayRESTAPIDeployment${deploymentSuffix}`;
33
- return new SimpleCFT_1.SimpleCFT()
34
- .patch({
35
- Resources: {
36
- // REST API
37
- [id]: {
38
- Type: "AWS::ApiGateway::RestApi",
39
- Properties: {
40
- Name: {
41
- "Fn::Sub": `\${AWS::StackName}-${id}GatewayRESTAPI`,
42
- },
43
- EndpointConfiguration: {
44
- Types: ["EDGE"],
45
- },
46
- },
47
- },
48
- [`${id}GatewayRESTAPIResource`]: {
49
- Type: "AWS::ApiGateway::Resource",
50
- DependsOn: id,
51
- Properties: {
52
- ParentId: {
53
- "Fn::GetAtt": [id, "RootResourceId"],
54
- },
55
- PathPart: "{proxy+}",
56
- RestApiId: {
57
- Ref: id,
58
- },
59
- },
60
- },
61
- [`${id}GatewayRESTAPIMethod`]: {
62
- Type: "AWS::ApiGateway::Method",
63
- DependsOn: `${id}GatewayRESTAPIResource`,
64
- Properties: {
65
- ...authProps,
66
- HttpMethod: "ANY",
67
- ResourceId: {
68
- Ref: `${id}GatewayRESTAPIResource`,
69
- },
70
- RestApiId: {
71
- Ref: id,
72
- },
73
- Integration: {
74
- Type: "AWS_PROXY",
75
- IntegrationHttpMethod: "POST",
76
- Uri: cloudFunctionUri,
77
- },
78
- },
79
- },
80
- [`${id}GatewayRESTAPIRootMethod`]: {
81
- Type: "AWS::ApiGateway::Method",
82
- DependsOn: `${id}GatewayRESTAPIResource`,
83
- Properties: {
84
- ...authProps,
85
- HttpMethod: "ANY",
86
- ResourceId: {
87
- "Fn::GetAtt": [id, "RootResourceId"],
88
- },
89
- RestApiId: {
90
- Ref: id,
91
- },
92
- Integration: {
93
- Type: "AWS_PROXY",
94
- IntegrationHttpMethod: "POST",
95
- Uri: cloudFunctionUri,
96
- },
97
- },
98
- },
99
- },
100
- })
101
- .patch({
102
- Resources: {
103
- // CORS
104
- [`${id}GatewayRESTAPIOPTIONSMethod`]: {
105
- Type: "AWS::ApiGateway::Method",
106
- DependsOn: `${id}GatewayRESTAPIResource`,
107
- Properties: {
108
- AuthorizationType: "NONE",
109
- HttpMethod: "OPTIONS",
110
- ResourceId: {
111
- Ref: `${id}GatewayRESTAPIResource`,
112
- },
113
- RestApiId: {
114
- Ref: id,
115
- },
116
- Integration: {
117
- Type: "AWS_PROXY",
118
- IntegrationHttpMethod: "POST",
119
- Uri: cloudFunctionUri,
120
- },
121
- },
122
- },
123
- [`${id}GatewayRESTAPIRootOPTIONSMethod`]: {
124
- Type: "AWS::ApiGateway::Method",
125
- DependsOn: `${id}GatewayRESTAPIResource`,
126
- Properties: {
127
- AuthorizationType: "NONE",
128
- HttpMethod: "OPTIONS",
129
- ResourceId: {
130
- "Fn::GetAtt": [id, "RootResourceId"],
131
- },
132
- RestApiId: {
133
- Ref: id,
134
- },
135
- Integration: {
136
- Type: "AWS_PROXY",
137
- IntegrationHttpMethod: "POST",
138
- Uri: cloudFunctionUri,
139
- },
140
- },
141
- },
142
- [`${id}GatewayResponseDefault4XX`]: {
143
- Type: "AWS::ApiGateway::GatewayResponse",
144
- Properties: {
145
- ResponseParameters: {
146
- // Not authorized, so just allow the current origin by mapping it into the header.
147
- "gatewayresponse.header.Access-Control-Allow-Origin": "method.request.header.origin",
148
- "gatewayresponse.header.Access-Control-Allow-Credentials": "'true'",
149
- "gatewayresponse.header.Access-Control-Allow-Headers": "'*'",
150
- },
151
- ResponseType: "DEFAULT_4XX",
152
- RestApiId: {
153
- Ref: id,
154
- },
155
- },
156
- },
157
- },
158
- })
159
- .patch({
160
- Resources: {
161
- // SUPPORTING RESOURCES
162
- [fullDeploymentId]: {
163
- Type: "AWS::ApiGateway::Deployment",
164
- DependsOn: [
165
- `${id}GatewayRESTAPIResource`,
166
- `${id}GatewayRESTAPIMethod`,
167
- `${id}GatewayRESTAPIRootMethod`,
168
- id,
169
- cloudFunctionId,
170
- ],
171
- Properties: {
172
- RestApiId: {
173
- Ref: id,
174
- },
175
- },
176
- },
177
- [`${id}CloudWatch`]: {
178
- Type: "AWS::Logs::LogGroup",
179
- Properties: {
180
- LogGroupName: {
181
- "Fn::Sub": `\${AWS::StackName}-${id}GatewayLogs`,
182
- },
183
- },
184
- },
185
- [`${id}CloudWatchRole`]: {
186
- Type: "AWS::IAM::Role",
187
- Properties: {
188
- AssumeRolePolicyDocument: {
189
- Version: "2012-10-17",
190
- Statement: [
191
- {
192
- Effect: "Allow",
193
- Principal: {
194
- Service: ["apigateway.amazonaws.com"],
195
- },
196
- Action: "sts:AssumeRole",
197
- },
198
- ],
199
- },
200
- Path: "/",
201
- ManagedPolicyArns: [
202
- "arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs",
203
- ],
204
- },
205
- },
206
- [`${id}CloudWatchAccount`]: {
207
- Type: "AWS::ApiGateway::Account",
208
- Properties: {
209
- CloudWatchRoleArn: {
210
- "Fn::GetAtt": [`${id}CloudWatchRole`, "Arn"],
211
- },
212
- },
213
- },
214
- [`${id}GatewayRESTAPIEnvironment`]: {
215
- Type: "AWS::ApiGateway::Stage",
216
- DependsOn: [`${id}CloudWatchAccount`, fullDeploymentId],
217
- Properties: {
218
- AccessLogSetting: {
219
- DestinationArn: {
220
- "Fn::GetAtt": [`${id}CloudWatch`, "Arn"],
221
- },
222
- Format: '{"requestId":"$context.requestId","ip":"$context.identity.sourceIp","caller":"$context.identity.caller","user":"$context.identity.user","requestTime":"$context.requestTime","httpMethod":"$context.httpMethod","resourcePath":"$context.resourcePath","status":"$context.status","protocol":"$context.protocol","responseLength":"$context.responseLength","apiGatewayErrorMessage":"$context.error.message"}',
223
- },
224
- DeploymentId: {
225
- Ref: fullDeploymentId,
226
- },
227
- RestApiId: {
228
- Ref: id,
229
- },
230
- StageName: stageName,
231
- },
232
- },
233
- },
234
- })
235
- .patch({
236
- Resources: {
237
- // DNS
238
- [`${id}DomainName`]: {
239
- Type: "AWS::ApiGateway::DomainName",
240
- Properties: {
241
- CertificateArn: certificateArn,
242
- DomainName: domainName,
243
- EndpointConfiguration: {
244
- Types: ["EDGE"],
245
- },
246
- },
247
- },
248
- [`${id}DomainNameBasePathMapping`]: {
249
- Type: "AWS::ApiGateway::BasePathMapping",
250
- DependsOn: [
251
- id,
252
- `${id}GatewayRESTAPIEnvironment`,
253
- `${id}DomainName`,
254
- ],
255
- Properties: {
256
- DomainName: domainName,
257
- RestApiId: {
258
- Ref: id,
259
- },
260
- Stage: stageName,
261
- },
262
- },
263
- [`${id}Route53Record`]: {
264
- Type: "AWS::Route53::RecordSet",
265
- DependsOn: `${id}DomainName`,
266
- Properties: {
267
- HostedZoneId: hostedZoneId,
268
- Type: "A",
269
- Name: {
270
- "Fn::Sub": [
271
- "${DomainName}.",
272
- {
273
- DomainName: domainName,
274
- },
275
- ],
276
- },
277
- AliasTarget: {
278
- HostedZoneId: "Z2FDTNDATAQYW2",
279
- DNSName: {
280
- "Fn::Sub": [
281
- "${DomainName}.",
282
- {
283
- DomainName: {
284
- "Fn::GetAtt": [
285
- `${id}DomainName`,
286
- "DistributionDomainName",
287
- ],
288
- },
289
- },
290
- ],
291
- },
292
- },
293
- },
294
- },
295
- },
296
- })
297
- .patch({
298
- Resources: {
299
- // PERMISSIONS
300
- [`${id}CloudFunctionANYResourcePermission`]: {
301
- Type: "AWS::Lambda::Permission",
302
- Properties: {
303
- Action: "lambda:InvokeFunction",
304
- Principal: "apigateway.amazonaws.com",
305
- FunctionName: {
306
- "Fn::GetAtt": [cloudFunctionId, "Arn"],
307
- },
308
- SourceArn: {
309
- "Fn::Sub": [
310
- "arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${__ApiId__}/${__Stage__}/*/*",
311
- {
312
- __Stage__: stageName,
313
- __ApiId__: {
314
- Ref: id,
315
- },
316
- },
317
- ],
318
- },
319
- },
320
- },
321
- },
322
- })
323
- .patch(!!authorizer
324
- ? {
325
- Resources: {
326
- // AUTHORIZER
327
- [`${id}CustomAuthorizer`]: {
328
- Type: "AWS::ApiGateway::Authorizer",
329
- Properties: {
330
- IdentitySource: identitySource,
331
- Name: `${id}CustomAuthorizer`,
332
- ProviderARNs: providerARNs,
333
- RestApiId: {
334
- Ref: id,
335
- },
336
- Type: "COGNITO_USER_POOLS",
337
- },
338
- },
339
- },
340
- }
341
- : {}).template;
342
- });
@@ -1,11 +0,0 @@
1
- export * from "./auth";
2
- export * from "./build";
3
- export * from "./build/utils";
4
- export * from "./cdn";
5
- export * from "./cloud-function";
6
- export * from "./database";
7
- export * from "./dns";
8
- export * from "./file-storage";
9
- export * from "./gateway";
10
- export * from "./repo";
11
- export * from "./ssl-certificate";
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./auth"), exports);
18
- __exportStar(require("./build"), exports);
19
- __exportStar(require("./build/utils"), exports);
20
- __exportStar(require("./cdn"), exports);
21
- __exportStar(require("./cloud-function"), exports);
22
- __exportStar(require("./database"), exports);
23
- __exportStar(require("./dns"), exports);
24
- __exportStar(require("./file-storage"), exports);
25
- __exportStar(require("./gateway"), exports);
26
- __exportStar(require("./repo"), exports);
27
- __exportStar(require("./ssl-certificate"), exports);
@@ -1,10 +0,0 @@
1
- export type AddRepoConfig = {
2
- repoOwnerParameterName: string;
3
- repoNameParameterName: string;
4
- repoBranchParameterName: string;
5
- repoTokenParameterName: string;
6
- };
7
- /**
8
- * Add repository related parameters for reference in other resources like a build pipeline (CI/CD).
9
- * */
10
- export declare const addRepo: import("../utils").ResourcePackApplier<AddRepoConfig>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addRepo = void 0;
4
- const utils_1 = require("../utils");
5
- const SimpleCFT_1 = require("../SimpleCFT");
6
- /**
7
- * Add repository related parameters for reference in other resources like a build pipeline (CI/CD).
8
- * */
9
- exports.addRepo = (0, utils_1.createResourcePack)(({ repoOwnerParameterName, repoNameParameterName, repoBranchParameterName, repoTokenParameterName, }) => new SimpleCFT_1.SimpleCFT().addParameterGroup({
10
- Label: "Repository",
11
- Parameters: {
12
- [repoOwnerParameterName]: {
13
- Label: "RepoOwner",
14
- Type: "String",
15
- Description: "The owner of the repository",
16
- },
17
- [repoNameParameterName]: {
18
- Label: "RepoName",
19
- Type: "String",
20
- Description: "The name of the repository",
21
- },
22
- [repoBranchParameterName]: {
23
- Label: "RepoBranch",
24
- Type: "String",
25
- Description: "The branch of the repository",
26
- },
27
- [repoTokenParameterName]: {
28
- Label: "RepoToken",
29
- Type: "String",
30
- Description: "The token of the repository",
31
- NoEcho: true,
32
- },
33
- },
34
- }).template);
@@ -1,10 +0,0 @@
1
- export type AddSSLCertificateConfig = {
2
- id: string;
3
- domainName: any;
4
- hostedZoneId: any;
5
- includeWildCard?: boolean;
6
- };
7
- /**
8
- * Add an automatic SSL Certificate for a domain and all of it's subdomains.
9
- * */
10
- export declare const addSSLCertificate: import("../utils").ResourcePackApplier<AddSSLCertificateConfig>;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addSSLCertificate = void 0;
4
- const utils_1 = require("../utils");
5
- /**
6
- * Add an automatic SSL Certificate for a domain and all of it's subdomains.
7
- * */
8
- exports.addSSLCertificate = (0, utils_1.createResourcePack)(({ id, domainName, hostedZoneId, includeWildCard = true, }) => ({
9
- Resources: {
10
- [id]: {
11
- Type: "AWS::CertificateManager::Certificate",
12
- Properties: {
13
- DomainName: domainName,
14
- ValidationMethod: "DNS",
15
- DomainValidationOptions: [
16
- {
17
- DomainName: domainName,
18
- HostedZoneId: hostedZoneId,
19
- },
20
- ],
21
- SubjectAlternativeNames: includeWildCard
22
- ? [
23
- {
24
- "Fn::Sub": [
25
- "*.${BaseDomainName}",
26
- {
27
- BaseDomainName: domainName,
28
- },
29
- ],
30
- },
31
- ]
32
- : undefined,
33
- },
34
- },
35
- },
36
- }));
@@ -1,2 +0,0 @@
1
- import { CloudFormationResourceSpecification } from "./Types";
2
- export declare const CloudFormationResourceSpecificationData: CloudFormationResourceSpecification;
@@ -1,9 +0,0 @@
1
- export declare const NEVER_TYPE = "never";
2
- export declare const NAMESPACE_DELIMITERS: {
3
- INPUT_REGEX: RegExp;
4
- INPUT: string;
5
- OUTPUT: string;
6
- };
7
- export declare const TAG_TYPE = "Tag";
8
- export declare const CONTAINER_TYPES: string[];
9
- export declare const PRIMITIVE_TYPE_MAP: Record<string, string>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PRIMITIVE_TYPE_MAP = exports.CONTAINER_TYPES = exports.TAG_TYPE = exports.NAMESPACE_DELIMITERS = exports.NEVER_TYPE = void 0;
4
- exports.NEVER_TYPE = 'never';
5
- exports.NAMESPACE_DELIMITERS = {
6
- INPUT_REGEX: /::/gim,
7
- INPUT: '::',
8
- OUTPUT: '.',
9
- };
10
- exports.TAG_TYPE = 'Tag';
11
- exports.CONTAINER_TYPES = ['List', 'Map'];
12
- exports.PRIMITIVE_TYPE_MAP = {
13
- String: 'string',
14
- Integer: 'number',
15
- Boolean: 'boolean',
16
- Double: 'number',
17
- Json: 'Json',
18
- Timestamp: 'Timestamp',
19
- Long: 'number',
20
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CloudFormationPseudoParameters = void 0;
4
- var CloudFormationPseudoParameters;
5
- (function (CloudFormationPseudoParameters) {
6
- CloudFormationPseudoParameters["AWS::AccountId"] = "AWS::AccountId";
7
- CloudFormationPseudoParameters["AWS::NotificationARNs"] = "AWS::NotificationARNs";
8
- CloudFormationPseudoParameters["AWS::NoValue"] = "AWS::NoValue";
9
- CloudFormationPseudoParameters["AWS::Partition"] = "AWS::Partition";
10
- CloudFormationPseudoParameters["AWS::Region"] = "AWS::Region";
11
- CloudFormationPseudoParameters["AWS::StackId"] = "AWS::StackId";
12
- CloudFormationPseudoParameters["AWS::StackName"] = "AWS::StackName";
13
- CloudFormationPseudoParameters["AWS::URLSuffix"] = "AWS::URLSuffix";
14
- })(CloudFormationPseudoParameters || (exports.CloudFormationPseudoParameters = CloudFormationPseudoParameters = {}));
@@ -1,12 +0,0 @@
1
- import { AttributeType, IDocumentable, NamespaceStructure, PropertyDescriptor, PropertyType, ResourceType } from './Types';
2
- export declare const renderPrimitiveType: (primitiveType: string) => string;
3
- export declare const renderPropertyType: (path: string[], { PrimitiveType, Type, PrimitiveItemType, ItemType }: AttributeType) => string;
4
- export declare const renderPropertyName: (propertyName: string, descriptor: PropertyDescriptor | AttributeType) => string;
5
- export declare const renderCommentBlock: ({ UpdateType, DuplicatesAllowed, Documentation }: IDocumentable) => string;
6
- export declare const renderProperty: (path: string[], propertyName: string, propertyDescriptor: PropertyDescriptor | AttributeType) => string;
7
- export declare const renderTypeWithFullBody: (commentBlock: string, typeName: string, fullBody: string) => string;
8
- export declare const renderTypePropertiesBody: (path: string[], properties: Record<string, PropertyDescriptor | AttributeType>) => string;
9
- export declare const renderTypeWithProperties: (path: string[], typeName: string, properties: Record<string, AttributeType>, commentBlock?: string) => string;
10
- export declare const renderTypeFromPropertyType: (path: string[], typeName: string, propertyType: PropertyType) => string;
11
- export declare const renderTypeFromResourceType: (path: string[], typeName: string, resourceType: ResourceType) => string;
12
- export declare const renderNamespaceStructure: ({ path, includes, propertyTypes, resourceTypes, namespaces }: NamespaceStructure, namespaceName?: string) => string;
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderNamespaceStructure = exports.renderTypeFromResourceType = exports.renderTypeFromPropertyType = exports.renderTypeWithProperties = exports.renderTypePropertiesBody = exports.renderTypeWithFullBody = exports.renderProperty = exports.renderCommentBlock = exports.renderPropertyName = exports.renderPropertyType = exports.renderPrimitiveType = void 0;
4
- const Constants_1 = require("./Constants");
5
- const renderPrimitiveType = (primitiveType) => primitiveType in Constants_1.PRIMITIVE_TYPE_MAP ? `CloudFormationPrimitiveValue<${Constants_1.PRIMITIVE_TYPE_MAP[primitiveType]}>` : primitiveType;
6
- exports.renderPrimitiveType = renderPrimitiveType;
7
- const renderPropertyType = (path, { PrimitiveType, Type, PrimitiveItemType, ItemType }) => {
8
- if (PrimitiveType) {
9
- return (0, exports.renderPrimitiveType)(PrimitiveType);
10
- }
11
- else if (Type && Constants_1.CONTAINER_TYPES.indexOf(Type) !== -1) {
12
- const resolvedItemType = PrimitiveItemType
13
- ? (0, exports.renderPrimitiveType)(PrimitiveItemType)
14
- : ItemType === Constants_1.TAG_TYPE
15
- ? Constants_1.TAG_TYPE
16
- : [...path, ItemType].join(Constants_1.NAMESPACE_DELIMITERS.OUTPUT);
17
- return Type === 'List' ? `${resolvedItemType}[]` : `Record<string, ${resolvedItemType}>`;
18
- }
19
- else if (Type === Constants_1.TAG_TYPE) {
20
- return Constants_1.TAG_TYPE;
21
- }
22
- else if (Type) {
23
- return [...path, Type].join(Constants_1.NAMESPACE_DELIMITERS.OUTPUT);
24
- }
25
- else {
26
- return Constants_1.NEVER_TYPE;
27
- }
28
- };
29
- exports.renderPropertyType = renderPropertyType;
30
- const renderPropertyName = (propertyName, descriptor) => {
31
- const cleanPropertyName = propertyName && propertyName.indexOf('.') !== -1 ? `'${propertyName}'` : propertyName;
32
- if ('Required' in descriptor) {
33
- const { Required } = descriptor;
34
- return `${cleanPropertyName}${Required ? '' : '?'}`;
35
- }
36
- else {
37
- return cleanPropertyName;
38
- }
39
- };
40
- exports.renderPropertyName = renderPropertyName;
41
- const renderCommentBlock = ({ UpdateType, DuplicatesAllowed = false, Documentation }) => UpdateType || DuplicatesAllowed || Documentation
42
- ? `/**${UpdateType
43
- ? `
44
- * Update Type: ${UpdateType}`
45
- : ''}${DuplicatesAllowed
46
- ? `
47
- * Duplicates Allowed: Yes`
48
- : ''}${Documentation
49
- ? `
50
- * @see ${Documentation}`
51
- : ''}
52
- * */
53
- `
54
- : '';
55
- exports.renderCommentBlock = renderCommentBlock;
56
- const renderProperty = (path, propertyName, propertyDescriptor) => `${(0, exports.renderCommentBlock)(propertyDescriptor)}${(0, exports.renderPropertyName)(propertyName, propertyDescriptor)}: ${(0, exports.renderPropertyType)(path, propertyDescriptor)};`;
57
- exports.renderProperty = renderProperty;
58
- const renderTypeWithFullBody = (commentBlock, typeName, fullBody) => `${commentBlock}export type ${typeName} = ${fullBody};`;
59
- exports.renderTypeWithFullBody = renderTypeWithFullBody;
60
- const renderTypePropertiesBody = (path, properties) => {
61
- const propertyKeys = Object.keys(properties);
62
- return `{
63
- ${propertyKeys.map((pK) => (0, exports.renderProperty)(path, pK, properties[pK])).join('\n')}
64
- }`;
65
- };
66
- exports.renderTypePropertiesBody = renderTypePropertiesBody;
67
- const renderTypeWithProperties = (path, typeName, properties, commentBlock = '') => {
68
- return (0, exports.renderTypeWithFullBody)(commentBlock, typeName, (0, exports.renderTypePropertiesBody)(path, properties));
69
- };
70
- exports.renderTypeWithProperties = renderTypeWithProperties;
71
- const renderTypeFromPropertyType = (path, typeName, propertyType) => {
72
- const { Properties } = propertyType;
73
- const commentBlock = (0, exports.renderCommentBlock)(propertyType);
74
- if (Properties) {
75
- return (0, exports.renderTypeWithProperties)(path, typeName, Properties, commentBlock);
76
- }
77
- else {
78
- return `${commentBlock}export type ${typeName} = ${(0, exports.renderPropertyType)(path, propertyType)}`;
79
- }
80
- };
81
- exports.renderTypeFromPropertyType = renderTypeFromPropertyType;
82
- const renderTypeFromResourceType = (path, typeName, resourceType) => {
83
- const { Type, Properties, Attributes } = resourceType;
84
- const commentBlock = (0, exports.renderCommentBlock)(resourceType);
85
- const subPath = [...path, typeName];
86
- return (0, exports.renderTypeWithFullBody)(commentBlock, typeName, `CloudFormationResource<'${Type}', ${Attributes ? (0, exports.renderTypePropertiesBody)(subPath, Attributes) : Constants_1.NEVER_TYPE}, ${Properties ? (0, exports.renderTypePropertiesBody)(subPath, Properties) : Constants_1.NEVER_TYPE}>`);
87
- };
88
- exports.renderTypeFromResourceType = renderTypeFromResourceType;
89
- const renderNamespaceStructure = ({ path = [], includes = [], propertyTypes = {}, resourceTypes = {}, namespaces = {} }, namespaceName) => {
90
- const namespaceBody = `${includes?.join('\n')}
91
-
92
- ${Object.keys(propertyTypes)
93
- .map((pT) => (0, exports.renderTypeFromPropertyType)(path, pT, propertyTypes[pT]))
94
- .join('\n')}
95
-
96
- ${Object.keys(resourceTypes)
97
- .map((rT) => (0, exports.renderTypeFromResourceType)(path, rT, resourceTypes[rT]))
98
- .join('\n')}
99
-
100
- ${Object.keys(namespaces)
101
- .map((ns) => (0, exports.renderNamespaceStructure)(namespaces[ns], ns))
102
- .join('\n')}`;
103
- if (namespaceName) {
104
- return `export namespace ${namespaceName} {
105
- ${namespaceBody}
106
- }`;
107
- }
108
- else {
109
- return namespaceBody;
110
- }
111
- };
112
- exports.renderNamespaceStructure = renderNamespaceStructure;