@takumi-stack/core 1.0.6 → 1.0.7

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takumi-stack/core",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "author": "sinapsis.co",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -5,6 +5,7 @@ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../
5
5
  import { CognitoUserPoolPrefab } from '../../auth';
6
6
  import { CdnApiPrefab } from '../../cdn';
7
7
  import { ApiFunctionsPrefab, FunctionPrefab } from '../../compute';
8
+ import { DynamoTablePrefab } from '../../database';
8
9
  export type ApiRestPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
9
10
  name: string;
10
11
  basePath?: string;
@@ -36,6 +37,7 @@ export declare class ApiRestPrefab<CustomConfigs extends BaseCustomConfigs = Bas
36
37
  readonly api: awsApigateway.RestApi;
37
38
  readonly authorizer: awsApigateway.IAuthorizer | undefined;
38
39
  constructor(service: TakumiStack<CustomConfigs>, params: ApiRestPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
40
+ postDynamoIntegration(path: string, table: DynamoTablePrefab<CustomConfigs>, { schema }: Pick<awsApigateway.ModelOptions, 'schema'>, requestTemplate: string): void;
39
41
  addPath(params: {
40
42
  apiDefinition: ApiDefinition<ApiInterface>;
41
43
  apiFunctionsPrefab: ApiFunctionsPrefab<CustomConfigs>;
@@ -1 +1 @@
1
- {"version":3,"file":"api-rest.d.ts","sourceRoot":"","sources":["../../../../prefab/gateway/api-gateway/api-rest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE;QACjB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC7D,gBAAgB,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;KAClD,CAAC;IACF,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC;IAC3C,oBAAoB,CAAC,EAAE;QACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACjE,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;KAC3C,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,qBAAa,aAAa,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACpG,mBAAmB,CAAC,aAAa,CAAC,EAClC,aAAa,CACd;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzD,SAAgB,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;IAC3C,SAAgB,UAAU,EAAE,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;gBAGhE,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC1C,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;IAwE7C,OAAO,CAAC,MAAM,EAAE;QACrB,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,kBAAkB,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACtD,cAAc,EAAE,SAAS,CAAC;KAC3B,GAAG,IAAI;CAsBT"}
1
+ {"version":3,"file":"api-rest.d.ts","sourceRoot":"","sources":["../../../../prefab/gateway/api-gateway/api-rest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,mBAAmB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE;QACjB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC7D,gBAAgB,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;KAClD,CAAC;IACF,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC;IAC3C,oBAAoB,CAAC,EAAE;QACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,qBAAqB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACjE,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;KAC3C,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,qBAAa,aAAa,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACpG,mBAAmB,CAAC,aAAa,CAAC,EAClC,aAAa,CACd;IACC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzD,SAAgB,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;IAC3C,SAAgB,UAAU,EAAE,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;gBAGhE,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC1C,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;IAwE7C,qBAAqB,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,EACvC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,EACtD,eAAe,EAAE,MAAM;IA4ElB,OAAO,CAAC,MAAM,EAAE;QACrB,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,kBAAkB,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACtD,cAAc,EAAE,SAAS,CAAC;KAC3B,GAAG,IAAI;CAsBT"}
@@ -27,6 +27,7 @@ exports.ApiRestPrefab = void 0;
27
27
  const awsApigateway = __importStar(require("aws-cdk-lib/aws-apigateway"));
28
28
  const aws_cdk_lib_1 = require("aws-cdk-lib");
29
29
  const common_1 = require("../../../common");
30
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
30
31
  class ApiRestPrefab extends common_1.Prefab {
31
32
  apiUrl;
32
33
  basePath;
@@ -88,6 +89,74 @@ class ApiRestPrefab extends common_1.Prefab {
88
89
  params.cdnApiPrefab?.addApiGateway(this.basePath, this.apiUrl, { originPath: `/${this.api.deploymentStage.stageName}` });
89
90
  new aws_cdk_lib_1.CfnOutput(this, this.getId('RestApiUrl'), { value: this.apiUrl });
90
91
  }
92
+ postDynamoIntegration(path, table, { schema }, requestTemplate) {
93
+ const modeloItem = new awsApigateway.Model(this, this.getId('ModeloItem'), {
94
+ restApi: this.api,
95
+ contentType: 'application/json',
96
+ schema
97
+ });
98
+ const items = this.api.root.addResource(path);
99
+ const rol = new aws_iam_1.Role(this, this.getId('DynamoDBIntegrationRole'), {
100
+ assumedBy: new aws_iam_1.ServicePrincipal('apigateway.amazonaws.com'),
101
+ });
102
+ table.table.grantWriteData(rol);
103
+ const putIntegracion = new awsApigateway.AwsIntegration({
104
+ service: 'dynamodb',
105
+ action: 'PutItem',
106
+ options: {
107
+ credentialsRole: rol,
108
+ requestTemplates: {
109
+ 'application/json': requestTemplate
110
+ },
111
+ integrationResponses: [
112
+ {
113
+ statusCode: '200',
114
+ responseTemplates: {
115
+ 'application/json': `{
116
+ "status": "Success",
117
+ "message": "Item added sucesfully"
118
+ }`
119
+ }
120
+ },
121
+ {
122
+ selectionPattern: '4\\d{2}',
123
+ statusCode: '400',
124
+ responseTemplates: {
125
+ 'application/json': `{
126
+ "error": "Error in the request",
127
+ "message": "$util.escapeJavaScript($input.path('$.errorMessage'))"
128
+ }`
129
+ }
130
+ },
131
+ {
132
+ selectionPattern: '5\\d{2}',
133
+ statusCode: '500',
134
+ responseTemplates: {
135
+ 'application/json': `{
136
+ "error": "Server Error",
137
+ "message": "$util.escapeJavaScript($input.path('$.errorMessage'))"
138
+ }`
139
+ }
140
+ }
141
+ ]
142
+ }
143
+ });
144
+ // Add POST method with integration
145
+ items.addMethod('POST', putIntegracion, {
146
+ requestValidator: new awsApigateway.RequestValidator(this, this.getId('PostValidator'), {
147
+ restApi: this.api,
148
+ validateRequestBody: true,
149
+ }),
150
+ requestModels: {
151
+ 'application/json': modeloItem
152
+ },
153
+ methodResponses: [
154
+ { statusCode: '200' },
155
+ { statusCode: '400' },
156
+ { statusCode: '500' }
157
+ ],
158
+ });
159
+ }
91
160
  addPath(params) {
92
161
  const { apiDefinition, apiFunctionsPrefab, lambdaFunction } = params;
93
162
  if (!apiDefinition.isPublic && !this.authorizer) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-rest.js","sourceRoot":"","sources":["../../../../prefab/gateway/api-gateway/api-rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-rest.js","sourceRoot":"","sources":["../../../../prefab/gateway/api-gateway/api-rest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Utility file that exports all available options from apigateway.JsonSchemaType
3
+ * This makes it easier to reference these types throughout your application
4
+ */
5
+ import { JsonSchemaType } from 'aws-cdk-lib/aws-apigateway';
6
+ /**
7
+ * Complete list of all available JsonSchemaType options in API Gateway
8
+ */
9
+ export declare const SchemaTypes: {
10
+ STRING: JsonSchemaType;
11
+ NUMBER: JsonSchemaType;
12
+ INTEGER: JsonSchemaType;
13
+ BOOLEAN: JsonSchemaType;
14
+ OBJECT: JsonSchemaType;
15
+ ARRAY: JsonSchemaType;
16
+ NULL: JsonSchemaType;
17
+ };
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../prefab/gateway/api-gateway/util/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;CAQvB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SchemaTypes = void 0;
4
+ /**
5
+ * Utility file that exports all available options from apigateway.JsonSchemaType
6
+ * This makes it easier to reference these types throughout your application
7
+ */
8
+ const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
9
+ /**
10
+ * Complete list of all available JsonSchemaType options in API Gateway
11
+ */
12
+ exports.SchemaTypes = {
13
+ STRING: aws_apigateway_1.JsonSchemaType.STRING,
14
+ NUMBER: aws_apigateway_1.JsonSchemaType.NUMBER,
15
+ INTEGER: aws_apigateway_1.JsonSchemaType.INTEGER,
16
+ BOOLEAN: aws_apigateway_1.JsonSchemaType.BOOLEAN,
17
+ OBJECT: aws_apigateway_1.JsonSchemaType.OBJECT,
18
+ ARRAY: aws_apigateway_1.JsonSchemaType.ARRAY,
19
+ NULL: aws_apigateway_1.JsonSchemaType.NULL
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../prefab/gateway/api-gateway/util/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+DAA4D;AAE5D;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,+BAAc,CAAC,MAAM;IAC7B,MAAM,EAAE,+BAAc,CAAC,MAAM;IAC7B,OAAO,EAAE,+BAAc,CAAC,OAAO;IAC/B,OAAO,EAAE,+BAAc,CAAC,OAAO;IAC/B,MAAM,EAAE,+BAAc,CAAC,MAAM;IAC7B,KAAK,EAAE,+BAAc,CAAC,KAAK;IAC3B,IAAI,EAAE,+BAAc,CAAC,IAAI;CAC1B,CAAC"}