@digitraffic/common 2022.11.11-1 → 2022.11.23-1

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.
@@ -1,7 +1,7 @@
1
1
  import { IntegrationResponse, LambdaIntegration } from "aws-cdk-lib/aws-apigateway";
2
2
  import { IFunction } from "aws-cdk-lib/aws-lambda";
3
3
  import { MediaType } from "../../types/mediatypes";
4
- declare type ParameterType = 'path' | 'querystring';
4
+ declare type ParameterType = "path" | "querystring";
5
5
  interface ApiParameter {
6
6
  type: ParameterType;
7
7
  name: string;
@@ -11,11 +11,11 @@ class DigitrafficIntegration {
11
11
  this.mediaType = mediaType;
12
12
  }
13
13
  addPathParameter(...names) {
14
- names.forEach(name => this.parameters.push({ type: 'path', name }));
14
+ names.forEach((name) => this.parameters.push({ type: "path", name }));
15
15
  return this;
16
16
  }
17
17
  addQueryParameter(...names) {
18
- names.forEach(name => this.parameters.push({ type: 'querystring', name }));
18
+ names.forEach((name) => this.parameters.push({ type: "querystring", name }));
19
19
  return this;
20
20
  }
21
21
  build() {
@@ -23,8 +23,12 @@ class DigitrafficIntegration {
23
23
  return new aws_apigateway_1.LambdaIntegration(this.lambda, {
24
24
  proxy: false,
25
25
  integrationResponses,
26
- requestParameters: this.parameters.length == 0 ? undefined : this.createRequestParameters(),
27
- requestTemplates: this.parameters.length == 0 ? undefined : this.createRequestTemplates(),
26
+ requestParameters: this.parameters.length == 0
27
+ ? undefined
28
+ : this.createRequestParameters(),
29
+ requestTemplates: this.parameters.length == 0
30
+ ? undefined
31
+ : this.createRequestTemplates(),
28
32
  passthroughBehavior: aws_apigateway_1.PassthroughBehavior.WHEN_NO_MATCH,
29
33
  });
30
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/integration.ts"],"names":[],"mappings":";;;AAAA,+DAAuG;AAEvG,uDAAiD;AACjD,qGAA8F;AAS9F,MAAa,sBAAsB;IAM/B,YAAY,MAAiB,EAAE,SAAS,GAAG,sBAAS,CAAC,UAAU;QAFtD,eAAU,GAAmB,EAAE,CAAC;QAGrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,GAAG,KAAe;QAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,GAAG,KAAe;QAChC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpD,OAAO,IAAI,kCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;YACtC,KAAK,EAAE,KAAK;YACZ,oBAAoB;YACpB,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC3F,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACzF,mBAAmB,EAAE,oCAAmB,CAAC,aAAa;SACzD,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB;QACnB,MAAM,iBAAiB,GAA2B,EAAE,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAuB,EAAE,EAAE;YAChD,iBAAiB,CAAC,uBAAuB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,kBAAkB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACxI,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED,sBAAsB;QAClB,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAuB,EAAE,EAAE;YAChD,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,yCAAyC,SAAS,CAAC,IAAI,KAAK,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,CAAC,sBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAC5D,CAAC;IACN,CAAC;IAED,eAAe;QACX,OAAO,CAAC,iEAA8B,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ;AA5DD,wDA4DC"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/integration.ts"],"names":[],"mappings":";;;AAAA,+DAIoC;AAEpC,uDAAmD;AACnD,qGAAgG;AAShG,MAAa,sBAAsB;IAM/B,YAAY,MAAiB,EAAE,SAAS,GAAG,sBAAS,CAAC,UAAU;QAFtD,eAAU,GAAmB,EAAE,CAAC;QAGrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,GAAG,KAAe;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,GAAG,KAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CACtD,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpD,OAAO,IAAI,kCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;YACtC,KAAK,EAAE,KAAK;YACZ,oBAAoB;YACpB,iBAAiB,EACb,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,gBAAgB,EACZ,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACvC,mBAAmB,EAAE,oCAAmB,CAAC,aAAa;SACzD,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB;QACnB,MAAM,iBAAiB,GAA2B,EAAE,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAuB,EAAE,EAAE;YAChD,iBAAiB,CACb,uBAAuB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAC5D,GAAG,kBAAkB,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED,sBAAsB;QAClB,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAuB,EAAE,EAAE;YAChD,WAAW,CACP,SAAS,CAAC,IAAI,CACjB,GAAG,yCAAyC,SAAS,CAAC,IAAI,KAAK,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,OAAO;YACH,CAAC,sBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAC5D,CAAC;IACN,CAAC;IAED,eAAe;QACX,OAAO,CAAC,iEAA8B,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;CACJ;AAxED,wDAwEC"}
@@ -1,5 +1,7 @@
1
- import apigateway = require('aws-cdk-lib/aws-apigateway');
1
+ import apigateway = require("aws-cdk-lib/aws-apigateway");
2
2
  import { MediaType } from "../../types/mediatypes";
3
+ import { MethodResponse } from "aws-cdk-lib/aws-apigateway";
4
+ import { IModel } from "aws-cdk-lib/aws-apigateway/lib/model";
3
5
  /**
4
6
  * This is velocity-script, that assumes the response to be LambdaResponse(status and body).
5
7
  * It will always return the body and status, but if status in something else than 200 OK the content-type
@@ -20,3 +22,8 @@ export declare const XmlResponseTemplate: Record<string, string>;
20
22
  export declare const SvgResponseTemplate: Record<string, string>;
21
23
  export declare const InternalServerErrorResponseTemplate: Record<string, string>;
22
24
  export declare function createResponses<T>(key: MediaType, value: T): Record<string, T>;
25
+ export declare class DigitrafficMethodResponse {
26
+ static response(statusCode: string, model: IModel, mediaType: MediaType, disableCors?: boolean): MethodResponse;
27
+ static response200(model: IModel, mediaType?: MediaType): apigateway.MethodResponse;
28
+ static response500(model?: apigateway.IModel, mediaType?: MediaType): apigateway.MethodResponse;
29
+ }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createResponses = exports.InternalServerErrorResponseTemplate = exports.SvgResponseTemplate = exports.XmlResponseTemplate = exports.NotFoundResponseTemplate = exports.BadRequestResponseTemplate = exports.NotFoundResponse = exports.MessageModel = exports.RESPONSE_DEFAULT_LAMBDA = void 0;
3
+ exports.DigitrafficMethodResponse = exports.createResponses = exports.InternalServerErrorResponseTemplate = exports.SvgResponseTemplate = exports.XmlResponseTemplate = exports.NotFoundResponseTemplate = exports.BadRequestResponseTemplate = exports.NotFoundResponse = exports.MessageModel = exports.RESPONSE_DEFAULT_LAMBDA = void 0;
4
4
  const apigateway = require("aws-cdk-lib/aws-apigateway");
5
5
  const mediatypes_1 = require("../../types/mediatypes");
6
+ const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
6
7
  /**
7
8
  * This is velocity-script, that assumes the response to be LambdaResponse(status and body).
8
9
  * It will always return the body and status, but if status in something else than 200 OK the content-type
@@ -27,25 +28,27 @@ const BODY_FROM_INPUT_PATH = "$input.path('$').body";
27
28
  const messageSchema = {
28
29
  schema: apigateway.JsonSchemaVersion.DRAFT4,
29
30
  type: apigateway.JsonSchemaType.OBJECT,
30
- description: 'Response with message',
31
+ description: "Response with message",
31
32
  properties: {
32
33
  message: {
33
34
  type: apigateway.JsonSchemaType.STRING,
34
- description: 'Response message',
35
+ description: "Response message",
35
36
  },
36
37
  },
37
38
  };
38
39
  // DEPRECATED
39
40
  exports.MessageModel = {
40
41
  contentType: mediatypes_1.MediaType.APPLICATION_JSON,
41
- modelName: 'MessageResponseModel',
42
+ modelName: "MessageResponseModel",
42
43
  schema: messageSchema,
43
44
  };
44
- const NotFoundMessage = 'Not found';
45
+ const NotFoundMessage = "Not found";
45
46
  exports.NotFoundResponse = JSON.stringify({ message: NotFoundMessage });
46
- const InternalServerErrorMessage = 'Error';
47
- const InternalServerErrorResponse = JSON.stringify({ message: InternalServerErrorMessage });
48
- const BadRequestMessage = 'Bad request';
47
+ const InternalServerErrorMessage = "Error";
48
+ const InternalServerErrorResponse = JSON.stringify({
49
+ message: InternalServerErrorMessage,
50
+ });
51
+ const BadRequestMessage = "Bad request";
49
52
  const BadRequestResponse = JSON.stringify({ message: BadRequestMessage });
50
53
  exports.BadRequestResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, BadRequestResponse);
51
54
  exports.NotFoundResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, exports.NotFoundResponse);
@@ -53,9 +56,31 @@ exports.XmlResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION
53
56
  exports.SvgResponseTemplate = createResponses(mediatypes_1.MediaType.IMAGE_SVG, BODY_FROM_INPUT_PATH);
54
57
  exports.InternalServerErrorResponseTemplate = createResponses(mediatypes_1.MediaType.APPLICATION_JSON, InternalServerErrorResponse);
55
58
  function createResponses(key, value) {
56
- const map = {};
57
- map[key] = value;
58
- return map;
59
+ return {
60
+ [key]: value,
61
+ };
59
62
  }
60
63
  exports.createResponses = createResponses;
64
+ class DigitrafficMethodResponse {
65
+ static response(statusCode, model, mediaType, disableCors = false) {
66
+ return {
67
+ statusCode,
68
+ responseModels: {
69
+ [mediaType]: model,
70
+ },
71
+ responseParameters: disableCors
72
+ ? {}
73
+ : {
74
+ "method.response.header.Access-Control-Allow-Origin": true,
75
+ },
76
+ };
77
+ }
78
+ static response200(model, mediaType = mediatypes_1.MediaType.APPLICATION_JSON) {
79
+ return DigitrafficMethodResponse.response("200", model, mediaType, false);
80
+ }
81
+ static response500(model = aws_apigateway_1.Model.EMPTY_MODEL, mediaType = mediatypes_1.MediaType.APPLICATION_JSON) {
82
+ return DigitrafficMethodResponse.response("500", model, mediaType, false);
83
+ }
84
+ }
85
+ exports.DigitrafficMethodResponse = DigitrafficMethodResponse;
61
86
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/response.ts"],"names":[],"mappings":";;;AAAA,yDAA0D;AAC1D,uDAAiD;AAEjD;;;;;;GAMG;AACU,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AAEF,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD,aAAa;AACb,MAAM,aAAa,GAA0B;IACzC,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM;IAC3C,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;IACtC,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE;QACR,OAAO,EAAE;YACL,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;YACtC,WAAW,EAAE,kBAAkB;SAClC;KACJ;CACJ,CAAC;AAEF,aAAa;AACA,QAAA,YAAY,GAAG;IACxB,WAAW,EAAE,sBAAS,CAAC,gBAAgB;IACvC,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE,aAAa;CACxB,CAAC;AAEF,MAAM,eAAe,GAAG,WAAW,CAAC;AACvB,QAAA,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;AAE3E,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAC3C,MAAM,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,0BAA0B,EAAC,CAAC,CAAC;AAE1F,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAC,CAAC,CAAC;AAE3D,QAAA,0BAA0B,GAAG,eAAe,CAAC,sBAAS,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AAC7F,QAAA,wBAAwB,GAAG,eAAe,CAAC,sBAAS,CAAC,gBAAgB,EAAE,wBAAgB,CAAC,CAAC;AACzF,QAAA,mBAAmB,GAAG,eAAe,CAAC,sBAAS,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;AACvF,QAAA,mBAAmB,GAAG,eAAe,CAAC,sBAAS,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACjF,QAAA,mCAAmC,GAAG,eAAe,CAAC,sBAAS,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;AAE5H,SAAgB,eAAe,CAAI,GAAc,EAAE,KAAQ;IACvD,MAAM,GAAG,GAAsB,EAAE,CAAC;IAElC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAEjB,OAAO,GAAG,CAAC;AACf,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/response.ts"],"names":[],"mappings":";;;AAAA,yDAA0D;AAC1D,uDAAmD;AACnD,+DAAmE;AAGnE;;;;;;GAMG;AACU,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AAEF,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD,aAAa;AACb,MAAM,aAAa,GAA0B;IACzC,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM;IAC3C,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;IACtC,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE;QACR,OAAO,EAAE;YACL,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;YACtC,WAAW,EAAE,kBAAkB;SAClC;KACJ;CACJ,CAAC;AAEF,aAAa;AACA,QAAA,YAAY,GAAG;IACxB,WAAW,EAAE,sBAAS,CAAC,gBAAgB;IACvC,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE,aAAa;CACxB,CAAC;AAEF,MAAM,eAAe,GAAG,WAAW,CAAC;AACvB,QAAA,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAE7E,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAC3C,MAAM,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/C,OAAO,EAAE,0BAA0B;CACtC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,aAAa,CAAC;AACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAE7D,QAAA,0BAA0B,GAAG,eAAe,CACrD,sBAAS,CAAC,gBAAgB,EAC1B,kBAAkB,CACrB,CAAC;AACW,QAAA,wBAAwB,GAAG,eAAe,CACnD,sBAAS,CAAC,gBAAgB,EAC1B,wBAAgB,CACnB,CAAC;AACW,QAAA,mBAAmB,GAAG,eAAe,CAC9C,sBAAS,CAAC,eAAe,EACzB,oBAAoB,CACvB,CAAC;AACW,QAAA,mBAAmB,GAAG,eAAe,CAC9C,sBAAS,CAAC,SAAS,EACnB,oBAAoB,CACvB,CAAC;AACW,QAAA,mCAAmC,GAAG,eAAe,CAC9D,sBAAS,CAAC,gBAAgB,EAC1B,2BAA2B,CAC9B,CAAC;AAEF,SAAgB,eAAe,CAC3B,GAAc,EACd,KAAQ;IAER,OAAO;QACH,CAAC,GAAG,CAAC,EAAE,KAAK;KACf,CAAC;AACN,CAAC;AAPD,0CAOC;AAED,MAAa,yBAAyB;IAClC,MAAM,CAAC,QAAQ,CACX,UAAkB,EAClB,KAAa,EACb,SAAoB,EACpB,WAAW,GAAG,KAAK;QAEnB,OAAO;YACH,UAAU;YACV,cAAc,EAAE;gBACZ,CAAC,SAAS,CAAC,EAAE,KAAK;aACrB;YACD,kBAAkB,EAAE,WAAW;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACI,oDAAoD,EAChD,IAAI;iBACX;SACV,CAAC;IACN,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,SAAS,GAAG,sBAAS,CAAC,gBAAgB;QACpE,OAAO,yBAAyB,CAAC,QAAQ,CACrC,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;IAED,MAAM,CAAC,WAAW,CACd,KAAK,GAAG,sBAAK,CAAC,WAAW,EACzB,SAAS,GAAG,sBAAS,CAAC,gBAAgB;QAEtC,OAAO,yBAAyB,CAAC,QAAQ,CACrC,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;CACJ;AAzCD,8DAyCC"}
@@ -15,7 +15,13 @@ export declare const RESPONSE_404_NOT_FOUND: {
15
15
  selectionPattern: string;
16
16
  responseTemplates: Record<string, string>;
17
17
  };
18
+ /**
19
+ * @Deprecated Use DigitrafficMethodResponse
20
+ */
18
21
  export declare function methodResponse(status: string, contentType: MediaType, model: IModel, parameters?: Record<string, boolean>): MethodResponse;
22
+ /**
23
+ * @Deprecated Use DigitrafficMethodResponse
24
+ */
19
25
  export declare function corsMethod(response: MethodResponse): MethodResponse;
20
26
  interface IntegrationOptions {
21
27
  requestParameters?: {
@@ -33,6 +39,8 @@ interface IntegrationOptions {
33
39
  * Creates a default Lambda integration for a REST API resource _root_
34
40
  * @param lambdaFunction The Lambda function
35
41
  * @param options Options
42
+ *
43
+ * @deprecated Use DigitrafficIntegration
36
44
  */
37
45
  export declare function defaultIntegration(lambdaFunction: AWSFunction, options?: IntegrationOptions): LambdaIntegration;
38
46
  export declare function getResponse(response: IntegrationResponse, options?: IntegrationOptions): IntegrationResponse;
@@ -30,6 +30,9 @@ exports.RESPONSE_404_NOT_FOUND = {
30
30
  selectionPattern: errors_1.NOT_FOUND_MESSAGE,
31
31
  responseTemplates: response_1.NotFoundResponseTemplate,
32
32
  };
33
+ /**
34
+ * @Deprecated Use DigitrafficMethodResponse
35
+ */
33
36
  function methodResponse(status, contentType, model, parameters) {
34
37
  return {
35
38
  statusCode: status,
@@ -38,6 +41,9 @@ function methodResponse(status, contentType, model, parameters) {
38
41
  };
39
42
  }
40
43
  exports.methodResponse = methodResponse;
44
+ /**
45
+ * @Deprecated Use DigitrafficMethodResponse
46
+ */
41
47
  function corsMethod(response) {
42
48
  return {
43
49
  ...response,
@@ -53,6 +59,8 @@ exports.corsMethod = corsMethod;
53
59
  * Creates a default Lambda integration for a REST API resource _root_
54
60
  * @param lambdaFunction The Lambda function
55
61
  * @param options Options
62
+ *
63
+ * @deprecated Use DigitrafficIntegration
56
64
  */
57
65
  function defaultIntegration(lambdaFunction, options) {
58
66
  return new aws_apigateway_1.LambdaIntegration(lambdaFunction, {
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/responses.ts"],"names":[],"mappings":";;;AAAA,yCAMoB;AACpB,+DAKoC;AAGpC,+CAI4B;AAGf,QAAA,eAAe,GAAwB;IAChD,UAAU,EAAE,KAAK;CACpB,CAAC;AAEW,QAAA,wBAAwB,GAAwB;IACzD,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,4BAAmB;IACrC,iBAAiB,EAAE,qCAA0B;CAChD,CAAC;AAEW,QAAA,yBAAyB,GAAwB;IAC1D,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,sBAAa;IAC/B,iBAAiB,EAAE,8CAAmC;CACzD,CAAC;AAEF,MAAM,YAAY,GAAG;IACjB,iBAAiB,EAAE,8BAAmB;CACzC,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACrC,kBAAkB,EAAE;QAChB,oDAAoD,EAAE,KAAK;KAC9D;CACJ,CAAC;AAEW,QAAA,sBAAsB,GAAG;IAClC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,0BAAiB;IACnC,iBAAiB,EAAE,mCAAwB;CAC9C,CAAC;AAEF,SAAgB,cAAc,CAC1B,MAAc,EACd,WAAsB,EACtB,KAAa,EACb,UAAoC;IAEpC,OAAO;QACH,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,IAAA,0BAAe,EAAC,WAAW,EAAE,KAAK,CAAC;QACnD,kBAAkB,EAAE,UAAU,IAAI,EAAE;KACvC,CAAC;AACN,CAAC;AAXD,wCAWC;AAED,SAAgB,UAAU,CAAC,QAAwB;IAC/C,OAAO;QACH,GAAG,QAAQ;QACX,GAAG;YACC,kBAAkB,EAAE;gBAChB,oDAAoD,EAAE,IAAI;aAC7D;SACJ;KACJ,CAAC;AACN,CAAC;AATD,gCASC;AAWD;;;;GAIG;AACH,SAAgB,kBAAkB,CAC9B,cAA2B,EAC3B,OAA4B;IAE5B,OAAO,IAAI,kCAAiB,CAAC,cAAc,EAAE;QACzC,KAAK,EAAE,KAAK;QACZ,oBAAoB,EAAE,OAAO,EAAE,SAAS,IAAI;YACxC,WAAW,CAAC,uBAAe,EAAE,OAAO,CAAC;YACrC,WAAW,CAAC,gCAAwB,EAAE,OAAO,CAAC;YAC9C,WAAW,CAAC,8BAAsB,EAAE,OAAO,CAAC;YAC5C,WAAW,CAAC,iCAAyB,EAAE,OAAO,CAAC;SAClD;QACD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,EAAE;QACnD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE;QACjD,mBAAmB,EACf,OAAO,EAAE,mBAAmB,IAAI,oCAAmB,CAAC,aAAa;KACxE,CAAC,CAAC;AACP,CAAC;AAjBD,gDAiBC;AAED,SAAgB,WAAW,CACvB,QAA6B,EAC7B,OAA4B;IAE5B,IAAI,OAAO,EAAE,GAAG,EAAE;QACd,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;KAC/C;IACD,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;QACvB,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,iCAAyB,EAAE,CAAC;KAC5D;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAZD,kCAYC"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../../src/aws/infra/api/responses.ts"],"names":[],"mappings":";;;AAAA,yCAMoB;AACpB,+DAKoC;AAGpC,+CAI4B;AAGf,QAAA,eAAe,GAAwB;IAChD,UAAU,EAAE,KAAK;CACpB,CAAC;AAEW,QAAA,wBAAwB,GAAwB;IACzD,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,4BAAmB;IACrC,iBAAiB,EAAE,qCAA0B;CAChD,CAAC;AAEW,QAAA,yBAAyB,GAAwB;IAC1D,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,sBAAa;IAC/B,iBAAiB,EAAE,8CAAmC;CACzD,CAAC;AAEF,MAAM,YAAY,GAAG;IACjB,iBAAiB,EAAE,8BAAmB;CACzC,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACrC,kBAAkB,EAAE;QAChB,oDAAoD,EAAE,KAAK;KAC9D;CACJ,CAAC;AAEW,QAAA,sBAAsB,GAAG;IAClC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,0BAAiB;IACnC,iBAAiB,EAAE,mCAAwB;CAC9C,CAAC;AAEF;;GAEG;AACH,SAAgB,cAAc,CAC1B,MAAc,EACd,WAAsB,EACtB,KAAa,EACb,UAAoC;IAEpC,OAAO;QACH,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE,IAAA,0BAAe,EAAC,WAAW,EAAE,KAAK,CAAC;QACnD,kBAAkB,EAAE,UAAU,IAAI,EAAE;KACvC,CAAC;AACN,CAAC;AAXD,wCAWC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,QAAwB;IAC/C,OAAO;QACH,GAAG,QAAQ;QACX,GAAG;YACC,kBAAkB,EAAE;gBAChB,oDAAoD,EAAE,IAAI;aAC7D;SACJ;KACJ,CAAC;AACN,CAAC;AATD,gCASC;AAWD;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAC9B,cAA2B,EAC3B,OAA4B;IAE5B,OAAO,IAAI,kCAAiB,CAAC,cAAc,EAAE;QACzC,KAAK,EAAE,KAAK;QACZ,oBAAoB,EAAE,OAAO,EAAE,SAAS,IAAI;YACxC,WAAW,CAAC,uBAAe,EAAE,OAAO,CAAC;YACrC,WAAW,CAAC,gCAAwB,EAAE,OAAO,CAAC;YAC9C,WAAW,CAAC,8BAAsB,EAAE,OAAO,CAAC;YAC5C,WAAW,CAAC,iCAAyB,EAAE,OAAO,CAAC;SAClD;QACD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,EAAE;QACnD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE;QACjD,mBAAmB,EACf,OAAO,EAAE,mBAAmB,IAAI,oCAAmB,CAAC,aAAa;KACxE,CAAC,CAAC;AACP,CAAC;AAjBD,gDAiBC;AAED,SAAgB,WAAW,CACvB,QAA6B,EAC7B,OAA4B;IAE5B,IAAI,OAAO,EAAE,GAAG,EAAE;QACd,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;KAC/C;IACD,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;QACvB,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,iCAAyB,EAAE,CAAC;KAC5D;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAZD,kCAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":";;;AACA,8DAA0E;AAC1E,0CAAoE;AACpE,4DAAsD;AAEtD,8DAA8D;AAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;AAEpC,oDAAoD;AACpD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;IACrE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;IACvE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;IACxE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAMH;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAC5B,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,GAAW,EACX,OAAgB;IAEhB,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,IAAI,QAAQ,IAAI,GAAG,qBAAqB,eAAe,EAAE,CAAC;IAEnG,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAVD,4CAUC;AAED,SAAgB,aAAa,CACzB,EAAqC;IAErC,OAAO,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAJD,sCAIC;AAED,SAAgB,UAAU,CAAI,EAAkC;IAC5D,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAFD,gCAEC;AAED,SAAgB,kBAAkB,CAC9B,EAAkC;IAElC,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAJD,gDAIC;AAED,KAAK,UAAU,YAAY,CACvB,QAAiB,EACjB,EAAkC;IAElC,MAAM,cAAc,GAAG,IAAA,sBAAQ,EAC3B,kCAAuB,CAAC,cAAc,EACtC,yBAAyB,CAC5B,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,EAAE,GAAG,gBAAgB,CACvB,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,cAAc,EACd,MAAM,CACT,CAAC;IACF,IAAI;QACA,qEAAqE;QACrE,kFAAkF;QAClF,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC;KACX;YAAS;QACN,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;KAClB;AACL,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":";;;AACA,8DAA0E;AAC1E,0CAAgD;AAChD,4DAAsD;AAEtD,8DAA8D;AAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;AAEpC,oDAAoD;AACpD,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;IACrE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;IACvE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;IACxE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAMH;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAC5B,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,GAAW,EACX,OAAgB;IAEhB,MAAM,QAAQ,GAAG,gBAAgB,QAAQ,IAAI,QAAQ,IAAI,GAAG,qBAAqB,eAAe,EAAE,CAAC;IAEnG,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAVD,4CAUC;AAED,SAAgB,aAAa,CACzB,EAAqC;IAErC,OAAO,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAJD,sCAIC;AAED,SAAgB,UAAU,CAAI,EAAkC;IAC5D,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAFD,gCAEC;AAED,SAAgB,kBAAkB,CAC9B,EAAkC;IAElC,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAJD,gDAIC;AAED,KAAK,UAAU,YAAY,CACvB,QAAiB,EACjB,EAAkC;IAElC,MAAM,cAAc,GAAG,IAAA,sBAAQ,EAC3B,kCAAuB,CAAC,cAAc,EACtC,yBAAyB,CAC5B,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,IAAA,sBAAQ,EAAC,kCAAuB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,EAAE,GAAG,gBAAgB,CACvB,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,IAAA,sBAAc,EAAC,kCAAuB,CAAC,OAAO,CAAC,EAC/C,cAAc,EACd,MAAM,CACT,CAAC;IACF,IAAI;QACA,qEAAqE;QACrE,kFAAkF;QAClF,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,CAAC;KACX;YAAS;QACN,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;KAClB;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitraffic/common",
3
- "version": "2022.11.11-1",
3
+ "version": "2022.11.23-1",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@aws-cdk/aws-synthetics-alpha": "2.50.0-alpha.0",
30
30
  "@types/geojson": "^7946.0.10",
31
- "aws-cdk-lib": "2.50.0",
31
+ "aws-cdk-lib": "2.51.1",
32
32
  "aws-sdk": "2.1241.0",
33
33
  "axios": "^0.21.1",
34
34
  "change-case": "4.1.2",
@@ -49,6 +49,7 @@
49
49
  "@typescript-eslint/parser": "^5.39.0",
50
50
  "eslint": "^8.24.0",
51
51
  "eslint-config-prettier": "^8.5.0",
52
+ "eslint-plugin-deprecation": "1.3.3",
52
53
  "husky": ">=6",
53
54
  "jest": "^29.1.1",
54
55
  "jest-junit": "^14.0.1",
@@ -57,7 +58,7 @@
57
58
  "ramda": "^0.28.0",
58
59
  "rimraf": "^3.0.2",
59
60
  "sinon": "^14.0.0",
60
- "ts-jest": "^29.0.2",
61
+ "ts-jest": "^29.0.3",
61
62
  "typescript": "^4.8.4"
62
63
  },
63
64
  "externals": [
@@ -1,13 +1,17 @@
1
- import {IntegrationResponse, LambdaIntegration, PassthroughBehavior} from "aws-cdk-lib/aws-apigateway";
2
- import {IFunction} from "aws-cdk-lib/aws-lambda";
3
- import {MediaType} from "../../types/mediatypes";
4
- import {DigitrafficIntegrationResponse} from "../../runtime/digitraffic-integration-response";
1
+ import {
2
+ IntegrationResponse,
3
+ LambdaIntegration,
4
+ PassthroughBehavior,
5
+ } from "aws-cdk-lib/aws-apigateway";
6
+ import { IFunction } from "aws-cdk-lib/aws-lambda";
7
+ import { MediaType } from "../../types/mediatypes";
8
+ import { DigitrafficIntegrationResponse } from "../../runtime/digitraffic-integration-response";
5
9
 
6
- type ParameterType = 'path' | 'querystring';
10
+ type ParameterType = "path" | "querystring";
7
11
 
8
12
  interface ApiParameter {
9
- type: ParameterType
10
- name: string
13
+ type: ParameterType;
14
+ name: string;
11
15
  }
12
16
 
13
17
  export class DigitrafficIntegration {
@@ -22,13 +26,15 @@ export class DigitrafficIntegration {
22
26
  }
23
27
 
24
28
  addPathParameter(...names: string[]): DigitrafficIntegration {
25
- names.forEach(name => this.parameters.push({type: 'path', name}));
29
+ names.forEach((name) => this.parameters.push({ type: "path", name }));
26
30
 
27
31
  return this;
28
32
  }
29
33
 
30
34
  addQueryParameter(...names: string[]): DigitrafficIntegration {
31
- names.forEach(name => this.parameters.push({type: 'querystring', name}));
35
+ names.forEach((name) =>
36
+ this.parameters.push({ type: "querystring", name })
37
+ );
32
38
 
33
39
  return this;
34
40
  }
@@ -39,8 +45,14 @@ export class DigitrafficIntegration {
39
45
  return new LambdaIntegration(this.lambda, {
40
46
  proxy: false,
41
47
  integrationResponses,
42
- requestParameters: this.parameters.length == 0 ? undefined : this.createRequestParameters(),
43
- requestTemplates: this.parameters.length == 0 ? undefined : this.createRequestTemplates(),
48
+ requestParameters:
49
+ this.parameters.length == 0
50
+ ? undefined
51
+ : this.createRequestParameters(),
52
+ requestTemplates:
53
+ this.parameters.length == 0
54
+ ? undefined
55
+ : this.createRequestTemplates(),
44
56
  passthroughBehavior: PassthroughBehavior.WHEN_NO_MATCH,
45
57
  });
46
58
  }
@@ -49,7 +61,9 @@ export class DigitrafficIntegration {
49
61
  const requestParameters: Record<string, string> = {};
50
62
 
51
63
  this.parameters.forEach((parameter: ApiParameter) => {
52
- requestParameters[`integration.request.${parameter.type}.${parameter.name}`] = `method.request.${parameter.type}.${parameter.name}`;
64
+ requestParameters[
65
+ `integration.request.${parameter.type}.${parameter.name}`
66
+ ] = `method.request.${parameter.type}.${parameter.name}`;
53
67
  });
54
68
 
55
69
  return requestParameters;
@@ -59,7 +73,9 @@ export class DigitrafficIntegration {
59
73
  const requestJson: Record<string, string> = {};
60
74
 
61
75
  this.parameters.forEach((parameter: ApiParameter) => {
62
- requestJson[parameter.name] = `$util.escapeJavaScript($input.params('${parameter.name}'))`;
76
+ requestJson[
77
+ parameter.name
78
+ ] = `$util.escapeJavaScript($input.params('${parameter.name}'))`;
63
79
  });
64
80
 
65
81
  return {
@@ -70,4 +86,4 @@ export class DigitrafficIntegration {
70
86
  createResponses(): IntegrationResponse[] {
71
87
  return [DigitrafficIntegrationResponse.ok(this.mediaType)];
72
88
  }
73
- }
89
+ }
@@ -1,5 +1,7 @@
1
- import apigateway = require('aws-cdk-lib/aws-apigateway');
2
- import {MediaType} from "../../types/mediatypes";
1
+ import apigateway = require("aws-cdk-lib/aws-apigateway");
2
+ import { MediaType } from "../../types/mediatypes";
3
+ import { MethodResponse, Model } from "aws-cdk-lib/aws-apigateway";
4
+ import { IModel } from "aws-cdk-lib/aws-apigateway/lib/model";
3
5
 
4
6
  /**
5
7
  * This is velocity-script, that assumes the response to be LambdaResponse(status and body).
@@ -27,11 +29,11 @@ const BODY_FROM_INPUT_PATH = "$input.path('$').body";
27
29
  const messageSchema: apigateway.JsonSchema = {
28
30
  schema: apigateway.JsonSchemaVersion.DRAFT4,
29
31
  type: apigateway.JsonSchemaType.OBJECT,
30
- description: 'Response with message',
32
+ description: "Response with message",
31
33
  properties: {
32
34
  message: {
33
35
  type: apigateway.JsonSchemaType.STRING,
34
- description: 'Response message',
36
+ description: "Response message",
35
37
  },
36
38
  },
37
39
  };
@@ -39,29 +41,90 @@ const messageSchema: apigateway.JsonSchema = {
39
41
  // DEPRECATED
40
42
  export const MessageModel = {
41
43
  contentType: MediaType.APPLICATION_JSON,
42
- modelName: 'MessageResponseModel',
44
+ modelName: "MessageResponseModel",
43
45
  schema: messageSchema,
44
46
  };
45
47
 
46
- const NotFoundMessage = 'Not found';
47
- export const NotFoundResponse = JSON.stringify({message: NotFoundMessage});
48
+ const NotFoundMessage = "Not found";
49
+ export const NotFoundResponse = JSON.stringify({ message: NotFoundMessage });
48
50
 
49
- const InternalServerErrorMessage = 'Error';
50
- const InternalServerErrorResponse = JSON.stringify({message: InternalServerErrorMessage});
51
+ const InternalServerErrorMessage = "Error";
52
+ const InternalServerErrorResponse = JSON.stringify({
53
+ message: InternalServerErrorMessage,
54
+ });
51
55
 
52
- const BadRequestMessage = 'Bad request';
53
- const BadRequestResponse = JSON.stringify({message: BadRequestMessage});
56
+ const BadRequestMessage = "Bad request";
57
+ const BadRequestResponse = JSON.stringify({ message: BadRequestMessage });
54
58
 
55
- export const BadRequestResponseTemplate = createResponses(MediaType.APPLICATION_JSON, BadRequestResponse);
56
- export const NotFoundResponseTemplate = createResponses(MediaType.APPLICATION_JSON, NotFoundResponse);
57
- export const XmlResponseTemplate = createResponses(MediaType.APPLICATION_XML, BODY_FROM_INPUT_PATH);
58
- export const SvgResponseTemplate = createResponses(MediaType.IMAGE_SVG, BODY_FROM_INPUT_PATH);
59
- export const InternalServerErrorResponseTemplate = createResponses(MediaType.APPLICATION_JSON, InternalServerErrorResponse);
59
+ export const BadRequestResponseTemplate = createResponses(
60
+ MediaType.APPLICATION_JSON,
61
+ BadRequestResponse
62
+ );
63
+ export const NotFoundResponseTemplate = createResponses(
64
+ MediaType.APPLICATION_JSON,
65
+ NotFoundResponse
66
+ );
67
+ export const XmlResponseTemplate = createResponses(
68
+ MediaType.APPLICATION_XML,
69
+ BODY_FROM_INPUT_PATH
70
+ );
71
+ export const SvgResponseTemplate = createResponses(
72
+ MediaType.IMAGE_SVG,
73
+ BODY_FROM_INPUT_PATH
74
+ );
75
+ export const InternalServerErrorResponseTemplate = createResponses(
76
+ MediaType.APPLICATION_JSON,
77
+ InternalServerErrorResponse
78
+ );
60
79
 
61
- export function createResponses<T>(key: MediaType, value: T): Record<string, T> {
62
- const map: Record<string, T> = {};
80
+ export function createResponses<T>(
81
+ key: MediaType,
82
+ value: T
83
+ ): Record<string, T> {
84
+ return {
85
+ [key]: value,
86
+ };
87
+ }
88
+
89
+ export class DigitrafficMethodResponse {
90
+ static response(
91
+ statusCode: string,
92
+ model: IModel,
93
+ mediaType: MediaType,
94
+ disableCors = false
95
+ ): MethodResponse {
96
+ return {
97
+ statusCode,
98
+ responseModels: {
99
+ [mediaType]: model,
100
+ },
101
+ responseParameters: disableCors
102
+ ? {}
103
+ : {
104
+ "method.response.header.Access-Control-Allow-Origin":
105
+ true,
106
+ },
107
+ };
108
+ }
63
109
 
64
- map[key] = value;
110
+ static response200(model: IModel, mediaType = MediaType.APPLICATION_JSON) {
111
+ return DigitrafficMethodResponse.response(
112
+ "200",
113
+ model,
114
+ mediaType,
115
+ false
116
+ );
117
+ }
65
118
 
66
- return map;
119
+ static response500(
120
+ model = Model.EMPTY_MODEL,
121
+ mediaType = MediaType.APPLICATION_JSON
122
+ ) {
123
+ return DigitrafficMethodResponse.response(
124
+ "500",
125
+ model,
126
+ mediaType,
127
+ false
128
+ );
129
+ }
67
130
  }
@@ -52,6 +52,9 @@ export const RESPONSE_404_NOT_FOUND = {
52
52
  responseTemplates: NotFoundResponseTemplate,
53
53
  };
54
54
 
55
+ /**
56
+ * @Deprecated Use DigitrafficMethodResponse
57
+ */
55
58
  export function methodResponse(
56
59
  status: string,
57
60
  contentType: MediaType,
@@ -65,6 +68,9 @@ export function methodResponse(
65
68
  };
66
69
  }
67
70
 
71
+ /**
72
+ * @Deprecated Use DigitrafficMethodResponse
73
+ */
68
74
  export function corsMethod(response: MethodResponse): MethodResponse {
69
75
  return {
70
76
  ...response,
@@ -89,6 +95,8 @@ interface IntegrationOptions {
89
95
  * Creates a default Lambda integration for a REST API resource _root_
90
96
  * @param lambdaFunction The Lambda function
91
97
  * @param options Options
98
+ *
99
+ * @deprecated Use DigitrafficIntegration
92
100
  */
93
101
  export function defaultIntegration(
94
102
  lambdaFunction: AWSFunction,
@@ -1,6 +1,6 @@
1
1
  import { IDatabase, ITask } from "pg-promise";
2
2
  import { DatabaseEnvironmentKeys } from "../aws/runtime/secrets/dbsecret";
3
- import { getEnvVariable, getEnvVariableSafe } from "../utils/utils";
3
+ import { getEnvVariable } from "../utils/utils";
4
4
  import { envValue } from "../aws/runtime/environment";
5
5
 
6
6
  // eslint-disable-next-line @typescript-eslint/no-var-requires