@pristine-ts/aws-api-gateway 0.0.211 → 0.0.214

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 (50) hide show
  1. package/dist/lib/cjs/aws-api-gateway.module.js +6 -0
  2. package/dist/lib/cjs/aws-api-gateway.module.js.map +1 -1
  3. package/dist/lib/cjs/enums/api-gateway-event-type.enum.js +9 -0
  4. package/dist/lib/cjs/enums/api-gateway-event-type.enum.js.map +1 -1
  5. package/dist/lib/cjs/enums/api-gateway-events-handling-strategy.enum.js +9 -0
  6. package/dist/lib/cjs/enums/api-gateway-events-handling-strategy.enum.js.map +1 -1
  7. package/dist/lib/cjs/event-payloads/http-api.event-payload.js +3 -0
  8. package/dist/lib/cjs/event-payloads/http-api.event-payload.js.map +1 -1
  9. package/dist/lib/cjs/event-payloads/rest-api.event-payload.js +3 -0
  10. package/dist/lib/cjs/event-payloads/rest-api.event-payload.js.map +1 -1
  11. package/dist/lib/cjs/event-response-payloads/http-api.event-response-payload.js +17 -0
  12. package/dist/lib/cjs/event-response-payloads/http-api.event-response-payload.js.map +1 -1
  13. package/dist/lib/cjs/event-response-payloads/rest-api.event-response-payload.js +17 -0
  14. package/dist/lib/cjs/event-response-payloads/rest-api.event-response-payload.js.map +1 -1
  15. package/dist/lib/cjs/mappers/base-api-event.mapper.js +8 -0
  16. package/dist/lib/cjs/mappers/base-api-event.mapper.js.map +1 -1
  17. package/dist/lib/cjs/mappers/http-api-event.mapper.js +43 -2
  18. package/dist/lib/cjs/mappers/http-api-event.mapper.js.map +1 -1
  19. package/dist/lib/cjs/mappers/rest-api-event.mapper.js +23 -0
  20. package/dist/lib/cjs/mappers/rest-api-event.mapper.js.map +1 -1
  21. package/dist/lib/esm/aws-api-gateway.module.js +6 -0
  22. package/dist/lib/esm/aws-api-gateway.module.js.map +1 -1
  23. package/dist/lib/esm/enums/api-gateway-event-type.enum.js +9 -0
  24. package/dist/lib/esm/enums/api-gateway-event-type.enum.js.map +1 -1
  25. package/dist/lib/esm/enums/api-gateway-events-handling-strategy.enum.js +9 -0
  26. package/dist/lib/esm/enums/api-gateway-events-handling-strategy.enum.js.map +1 -1
  27. package/dist/lib/esm/event-payloads/http-api.event-payload.js +3 -0
  28. package/dist/lib/esm/event-payloads/http-api.event-payload.js.map +1 -1
  29. package/dist/lib/esm/event-payloads/rest-api.event-payload.js +3 -0
  30. package/dist/lib/esm/event-payloads/rest-api.event-payload.js.map +1 -1
  31. package/dist/lib/esm/event-response-payloads/http-api.event-response-payload.js +17 -0
  32. package/dist/lib/esm/event-response-payloads/http-api.event-response-payload.js.map +1 -1
  33. package/dist/lib/esm/event-response-payloads/rest-api.event-response-payload.js +17 -0
  34. package/dist/lib/esm/event-response-payloads/rest-api.event-response-payload.js.map +1 -1
  35. package/dist/lib/esm/mappers/base-api-event.mapper.js +8 -0
  36. package/dist/lib/esm/mappers/base-api-event.mapper.js.map +1 -1
  37. package/dist/lib/esm/mappers/http-api-event.mapper.js +43 -2
  38. package/dist/lib/esm/mappers/http-api-event.mapper.js.map +1 -1
  39. package/dist/lib/esm/mappers/rest-api-event.mapper.js +23 -0
  40. package/dist/lib/esm/mappers/rest-api-event.mapper.js.map +1 -1
  41. package/dist/types/enums/api-gateway-event-type.enum.d.ts +9 -0
  42. package/dist/types/enums/api-gateway-events-handling-strategy.enum.d.ts +9 -0
  43. package/dist/types/event-payloads/http-api.event-payload.d.ts +3 -0
  44. package/dist/types/event-payloads/rest-api.event-payload.d.ts +3 -0
  45. package/dist/types/event-response-payloads/http-api.event-response-payload.d.ts +20 -0
  46. package/dist/types/event-response-payloads/rest-api.event-response-payload.d.ts +20 -0
  47. package/dist/types/mappers/base-api-event.mapper.d.ts +8 -0
  48. package/dist/types/mappers/http-api-event.mapper.d.ts +36 -1
  49. package/dist/types/mappers/rest-api-event.mapper.d.ts +23 -0
  50. package/package.json +4 -4
@@ -27,6 +27,9 @@ __exportStar(require("./mappers/mappers"), exports);
27
27
  exports.AwsApiGatewayModule = {
28
28
  keyname: aws_api_gateway_module_keyname_1.AwsApiGatewayModuleKeyname,
29
29
  configurationDefinitions: [
30
+ /**
31
+ * The handling strategy to handle rest api events from api gateway.
32
+ */
30
33
  {
31
34
  parameterName: aws_api_gateway_module_keyname_1.AwsApiGatewayModuleKeyname + ".restApiEvents.handlingStrategy",
32
35
  isRequired: false,
@@ -35,6 +38,9 @@ exports.AwsApiGatewayModule = {
35
38
  new configuration_1.EnumResolver(new configuration_1.EnvironmentVariableResolver("PRISTINE_AWS_API_GATEWAY_REST_API_EVENTS_HANDLING_STRATEGY"), api_gateway_events_handling_strategy_enum_1.ApiGatewayEventsHandlingStrategyEnum),
36
39
  ],
37
40
  },
41
+ /**
42
+ * The handling strategy to handle http api events from api gateway.
43
+ */
38
44
  {
39
45
  parameterName: aws_api_gateway_module_keyname_1.AwsApiGatewayModuleKeyname + ".httpApiEvents.handlingStrategy",
40
46
  isRequired: false,
@@ -1 +1 @@
1
- {"version":3,"file":"aws-api-gateway.module.js","sourceRoot":"","sources":["../../../src/aws-api-gateway.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,qFAA4E;AAE5E,8DAAqF;AACrF,iHAAuG;AACvG,4CAA6C;AAC7C,wDAAyD;AAEzD,gDAA8B;AAC9B,kEAAgD;AAChD,oFAAkE;AAClE,oDAAkC;AAErB,QAAA,mBAAmB,GAAoB;IAChD,OAAO,EAAE,2DAA0B;IACnC,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,2DAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,gFAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,4BAAY,CAAC,IAAI,2CAA2B,CAAC,4DAA4D,CAAC,EAAE,gFAAoC,CAAC;aACxJ;SACJ;QACD;YACI,aAAa,EAAE,2DAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,gFAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,4BAAY,CAAC,IAAI,2CAA2B,CAAC,4DAA4D,CAAC,EAAE,gFAAoC,CAAC;aACxJ;SACJ;KACJ;IACD,aAAa,EAAE;QACX,iBAAU;QACV,6BAAgB;KACnB;CACJ,CAAA"}
1
+ {"version":3,"file":"aws-api-gateway.module.js","sourceRoot":"","sources":["../../../src/aws-api-gateway.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,qFAA4E;AAC5E,8DAAqF;AACrF,iHAAuG;AACvG,4CAA6C;AAC7C,wDAAyD;AAEzD,gDAA8B;AAC9B,kEAAgD;AAChD,oFAAkE;AAClE,oDAAkC;AAErB,QAAA,mBAAmB,GAAoB;IAChD,OAAO,EAAE,2DAA0B;IACnC,wBAAwB,EAAE;QACtB;;WAEG;QACH;YACI,aAAa,EAAE,2DAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,gFAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,4BAAY,CAAC,IAAI,2CAA2B,CAAC,4DAA4D,CAAC,EAAE,gFAAoC,CAAC;aACxJ;SACJ;QAED;;WAEG;QACH;YACI,aAAa,EAAE,2DAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,gFAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,4BAAY,CAAC,IAAI,2CAA2B,CAAC,4DAA4D,CAAC,EAAE,gFAAoC,CAAC;aACxJ;SACJ;KACJ;IACD,aAAa,EAAE;QACX,iBAAU;QACV,6BAAgB;KACnB;CACJ,CAAA"}
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiGatewayEventTypeEnum = void 0;
4
+ /**
5
+ * Event types for Api gateway events
6
+ */
4
7
  var ApiGatewayEventTypeEnum;
5
8
  (function (ApiGatewayEventTypeEnum) {
9
+ /**
10
+ * The rest api event corresponding to Api Gateway 1.0
11
+ */
6
12
  ApiGatewayEventTypeEnum["RestApiEvent"] = "REST_API_EVENT";
13
+ /**
14
+ * The http api event corresponding to Api Gateway 2.0
15
+ */
7
16
  ApiGatewayEventTypeEnum["HttpApiEvent"] = "HTTP_API_EVENT";
8
17
  })(ApiGatewayEventTypeEnum = exports.ApiGatewayEventTypeEnum || (exports.ApiGatewayEventTypeEnum = {}));
9
18
  //# sourceMappingURL=api-gateway-event-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-gateway-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-event-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,0DAA+B,CAAA;IAC/B,0DAA+B,CAAA;AACnC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC"}
1
+ {"version":3,"file":"api-gateway-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-event-type.enum.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,uBAUX;AAVD,WAAY,uBAAuB;IAC/B;;OAEG;IACH,0DAA+B,CAAA;IAE/B;;OAEG;IACH,0DAA+B,CAAA;AACnC,CAAC,EAVW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAUlC"}
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiGatewayEventsHandlingStrategyEnum = void 0;
4
+ /**
5
+ * Handling strategies for Api gateway events
6
+ */
4
7
  var ApiGatewayEventsHandlingStrategyEnum;
5
8
  (function (ApiGatewayEventsHandlingStrategyEnum) {
9
+ /**
10
+ * Handle Api gateway as an Event.
11
+ */
6
12
  ApiGatewayEventsHandlingStrategyEnum["Event"] = "EVENT";
13
+ /**
14
+ * Handle Api gateway event as a request.
15
+ */
7
16
  ApiGatewayEventsHandlingStrategyEnum["Request"] = "REQUEST";
8
17
  })(ApiGatewayEventsHandlingStrategyEnum = exports.ApiGatewayEventsHandlingStrategyEnum || (exports.ApiGatewayEventsHandlingStrategyEnum = {}));
9
18
  //# sourceMappingURL=api-gateway-events-handling-strategy.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-gateway-events-handling-strategy.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-events-handling-strategy.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC5C,uDAAc,CAAA;IACd,2DAAmB,CAAA;AACvB,CAAC,EAHW,oCAAoC,GAApC,4CAAoC,KAApC,4CAAoC,QAG/C"}
1
+ {"version":3,"file":"api-gateway-events-handling-strategy.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-events-handling-strategy.enum.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,oCAUX;AAVD,WAAY,oCAAoC;IAC5C;;OAEG;IACH,uDAAc,CAAA;IAEd;;OAEG;IACH,2DAAmB,CAAA;AACvB,CAAC,EAVW,oCAAoC,GAApC,4CAAoC,KAApC,4CAAoC,QAU/C"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpApiEventPayload = void 0;
4
+ /**
5
+ * The event payload that we expect to receive when Api gateway is set to version 2.0.
6
+ */
4
7
  class HttpApiEventPayload {
5
8
  constructor(version, routeKey, rawPath) {
6
9
  this.cookies = [];
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/http-api.event-payload.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IAiC5B,YAAY,OAAe,EAAE,QAAgB,EAAE,OAAe;QA5B9D,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAA4B,EAAE,CAAC;QACtC,0BAAqB,GAA4B,EAAE,CAAC;QA2BhD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAtCD,kDAsCC"}
1
+ {"version":3,"file":"http-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/http-api.event-payload.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,mBAAmB;IAiC5B,YAAY,OAAe,EAAE,QAAgB,EAAE,OAAe;QA5B9D,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAA4B,EAAE,CAAC;QACtC,0BAAqB,GAA4B,EAAE,CAAC;QA2BhD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAtCD,kDAsCC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestApiEventPayload = void 0;
4
+ /**
5
+ * The event payload that we expect to receive when Api gateway is set to version 1.0.
6
+ */
4
7
  class RestApiEventPayload {
5
8
  constructor(version, resource, path, httpMethod) {
6
9
  this.headers = {};
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/rest-api.event-payload.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IA8C5B,YAAY,OAAe,EAAE,QAAgB,EAAE,IAAY,EAAE,UAAkB;QAT/E,YAAO,GAA4B,EAAE,CAAC;QACtC,sBAAiB,GAA8B,EAAE,CAAC;QAS9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ;AApDD,kDAoDC"}
1
+ {"version":3,"file":"rest-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/rest-api.event-payload.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,mBAAmB;IA8C5B,YAAY,OAAe,EAAE,QAAgB,EAAE,IAAY,EAAE,UAAkB;QAT/E,YAAO,GAA4B,EAAE,CAAC;QACtC,sBAAiB,GAA8B,EAAE,CAAC;QAS9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ;AApDD,kDAoDC"}
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpApiEventResponsePayload = void 0;
4
+ /**
5
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
6
+ */
4
7
  class HttpApiEventResponsePayload {
8
+ /**
9
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
10
+ * @param statusCode The status code of the response to return.
11
+ * @param body The body of the response to return.
12
+ */
5
13
  constructor(statusCode, body) {
6
14
  this.statusCode = statusCode;
15
+ /**
16
+ * The response headers.
17
+ */
7
18
  this.headers = {};
19
+ /**
20
+ * Whether or not the response is Base64 encoded
21
+ */
8
22
  this.isBase64Encoded = false;
23
+ /**
24
+ * The response headers that have multivalues (arrays)
25
+ */
9
26
  this.multiValueHeaders = {};
10
27
  this.body = body;
11
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/http-api.event-response-payload.ts"],"names":[],"mappings":";;;AAAA,MAAa,2BAA2B;IAMpC,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QALrD,YAAO,GAA4B,EAAE,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAA8B,EAAE,CAAC;QAI9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AATD,kEASC"}
1
+ {"version":3,"file":"http-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/http-api.event-response-payload.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,2BAA2B;IAqBpC;;;;OAIG;IACH,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QAzBrD;;WAEG;QACH,YAAO,GAA4B,EAAE,CAAC;QAEtC;;WAEG;QACH,oBAAe,GAAY,KAAK,CAAC;QAEjC;;WAEG;QACH,sBAAiB,GAA8B,EAAE,CAAC;QAa9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AA7BD,kEA6BC"}
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestApiEventResponsePayload = void 0;
4
+ /**
5
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
6
+ */
4
7
  class RestApiEventResponsePayload {
8
+ /**
9
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
10
+ * @param statusCode The status code of the response to return.
11
+ * @param body The body of the response to return.
12
+ */
5
13
  constructor(statusCode, body) {
6
14
  this.statusCode = statusCode;
15
+ /**
16
+ * The response headers.
17
+ */
7
18
  this.headers = {};
19
+ /**
20
+ * Whether or not the response is Base64 encoded
21
+ */
8
22
  this.isBase64Encoded = false;
23
+ /**
24
+ * The response headers that have multivalues (arrays)
25
+ */
9
26
  this.multiValueHeaders = {};
10
27
  this.body = body;
11
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/rest-api.event-response-payload.ts"],"names":[],"mappings":";;;AAAA,MAAa,2BAA2B;IAMpC,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QALrD,YAAO,GAA4B,EAAE,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAA8B,EAAE,CAAC;QAI9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AATD,kEASC"}
1
+ {"version":3,"file":"rest-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/rest-api.event-response-payload.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,2BAA2B;IAqBpC;;;;OAIG;IACH,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QAzBrD;;WAEG;QACH,YAAO,GAA4B,EAAE,CAAC;QAEtC;;WAEG;QACH,oBAAe,GAAY,KAAK,CAAC;QAEjC;;WAEG;QACH,sBAAiB,GAA8B,EAAE,CAAC;QAa9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AA7BD,kEA6BC"}
@@ -2,7 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseApiEventMapper = void 0;
4
4
  const common_1 = require("@pristine-ts/common");
5
+ /**
6
+ * The base api event mapper from which more specific mapper will extend.
7
+ */
5
8
  class BaseApiEventMapper {
9
+ /**
10
+ * Maps the http method to the corresponding enum value.
11
+ * @param method The http method of the request.
12
+ * @protected
13
+ */
6
14
  mapHttpMethod(method) {
7
15
  method = method.toLowerCase();
8
16
  switch (method) {
@@ -1 +1 @@
1
- {"version":3,"file":"base-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/base-api-event.mapper.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C,MAAa,kBAAkB;IAEjB,aAAa,CAAC,MAAc;QAClC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,QAAQ,MAAM,EAAE;YACZ,KAAK,KAAK;gBACN,OAAO,mBAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,MAAM;gBACP,OAAO,mBAAU,CAAC,IAAI,CAAC;YAC3B,KAAK,KAAK;gBACN,OAAO,mBAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,OAAO;gBACR,OAAO,mBAAU,CAAC,KAAK,CAAC;YAC5B,KAAK,QAAQ;gBACT,OAAO,mBAAU,CAAC,MAAM,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,mBAAU,CAAC,OAAO,CAAC;YAC9B;gBACI,OAAO,mBAAU,CAAC,GAAG,CAAC;SAC7B;IACL,CAAC;CACJ;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"base-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/base-api-event.mapper.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C;;GAEG;AACH,MAAa,kBAAkB;IAE3B;;;;OAIG;IACO,aAAa,CAAC,MAAc;QAClC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,QAAQ,MAAM,EAAE;YACZ,KAAK,KAAK;gBACN,OAAO,mBAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,MAAM;gBACP,OAAO,mBAAU,CAAC,IAAI,CAAC;YAC3B,KAAK,KAAK;gBACN,OAAO,mBAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,OAAO;gBACR,OAAO,mBAAU,CAAC,KAAK,CAAC;YAC5B,KAAK,QAAQ;gBACT,OAAO,mBAAU,CAAC,MAAM,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,mBAAU,CAAC,OAAO,CAAC;YAC9B;gBACI,OAAO,mBAAU,CAAC,GAAG,CAAC;SAC7B;IACL,CAAC;CACJ;AA3BD,gDA2BC"}
@@ -22,21 +22,46 @@ const http_api_event_response_payload_1 = require("../event-response-payloads/ht
22
22
  const aws_api_gateway_module_keyname_1 = require("../aws-api-gateway.module.keyname");
23
23
  const api_gateway_event_type_enum_1 = require("../enums/api-gateway-event-type.enum");
24
24
  const base_api_event_mapper_1 = require("./base-api-event.mapper");
25
+ /**
26
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
27
+ * depending on the handling strategy defined in the environment configs.
28
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
29
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
30
+ */
25
31
  let HttpApiEventMapper = class HttpApiEventMapper extends base_api_event_mapper_1.BaseApiEventMapper {
32
+ /**
33
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
34
+ * depending on the handling strategy defined in the environment configs.
35
+ * @param logHandler The log handler to output logs.
36
+ * @param httpRequestsHandlingStrategy The handling strategy to use when handling http api events.
37
+ */
26
38
  constructor(logHandler, httpRequestsHandlingStrategy) {
27
39
  super();
28
40
  this.logHandler = logHandler;
29
41
  this.httpRequestsHandlingStrategy = httpRequestsHandlingStrategy;
30
42
  }
43
+ /**
44
+ * Whether or not this mapper supports the raw event.
45
+ * @param rawEvent The raw event that needs to be mapped.
46
+ * @param executionContext The execution context in which the event is happening.
47
+ */
31
48
  supportsMapping(rawEvent, executionContext) {
32
49
  return rawEvent.hasOwnProperty("version") &&
33
50
  rawEvent.version === "2.0" &&
34
51
  rawEvent.hasOwnProperty("headers") &&
35
52
  rawEvent.hasOwnProperty("requestContext");
36
53
  }
54
+ /**
55
+ * Maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
56
+ * depending on the handling strategy defined in the environment configs.
57
+ * @param rawEvent The raw event that needs to be mapped.
58
+ * @param executionContext The execution context in which the event is happening.
59
+ */
37
60
  map(rawEvent, executionContext) {
38
61
  switch (this.httpRequestsHandlingStrategy) {
39
- case api_gateway_events_handling_strategy_enum_1.ApiGatewayEventsHandlingStrategyEnum.Request:
62
+ // If the handling strategy is request, we create an event with a request object from the raw event,
63
+ // and set the execution order to sequential.
64
+ case api_gateway_events_handling_strategy_enum_1.ApiGatewayEventsHandlingStrategyEnum.Request: {
40
65
  const request = new common_1.Request(this.mapHttpMethod(rawEvent.requestContext.http.method), rawEvent.requestContext.http.path + (rawEvent.rawQueryString ? "?" + rawEvent.rawQueryString : ""));
41
66
  request.setHeaders(rawEvent.headers);
42
67
  request.body = rawEvent.body;
@@ -45,7 +70,10 @@ let HttpApiEventMapper = class HttpApiEventMapper extends base_api_event_mapper_
45
70
  executionOrder: "sequential",
46
71
  events: [new core_1.Event(api_gateway_event_type_enum_1.ApiGatewayEventTypeEnum.HttpApiEvent, request)],
47
72
  };
48
- case api_gateway_events_handling_strategy_enum_1.ApiGatewayEventsHandlingStrategyEnum.Event:
73
+ }
74
+ // If the handling strategy is Event, we create an event with a HttpApiEventPayload from the raw event,
75
+ // and set the execution order to sequential.
76
+ case api_gateway_events_handling_strategy_enum_1.ApiGatewayEventsHandlingStrategyEnum.Event: {
49
77
  const httpRequestEventPayload = new http_api_event_payload_1.HttpApiEventPayload(rawEvent.version, rawEvent.routeKey, rawEvent.rawPath);
50
78
  httpRequestEventPayload.rawQueryString = rawEvent.rawQueryString;
51
79
  httpRequestEventPayload.cookies = rawEvent.cookies;
@@ -81,11 +109,24 @@ let HttpApiEventMapper = class HttpApiEventMapper extends base_api_event_mapper_
81
109
  executionOrder: "sequential",
82
110
  events: [new core_1.Event(api_gateway_event_type_enum_1.ApiGatewayEventTypeEnum.HttpApiEvent, httpRequestEventPayload)],
83
111
  };
112
+ }
84
113
  }
85
114
  }
115
+ /**
116
+ * Whether or not this mapper supports reverse mapping an event response to a
117
+ * @param eventResponse The pristine event response to be reverse mapped.
118
+ * @param response The final response being built from all the mappers that support this type of event response.
119
+ * @param executionContext The execution context in which the event was handled.
120
+ */
86
121
  supportsReverseMapping(eventResponse, response, executionContext) {
87
122
  return eventResponse.event.type === api_gateway_event_type_enum_1.ApiGatewayEventTypeEnum.HttpApiEvent;
88
123
  }
124
+ /**
125
+ * Reverse maps a Pristine event response into an HttpApiEventResponsePayload to be returned to Api Gateway.
126
+ * @param eventResponse The pristine event response to be reverse mapped.
127
+ * @param response The final response being built from all the mappers that support this type of event response. It's possible to add on to a response from another mapper.
128
+ * @param executionContext The execution context in which the event was handled.
129
+ */
89
130
  reverseMap(eventResponse, response, executionContext) {
90
131
  if (eventResponse.response instanceof http_api_event_response_payload_1.HttpApiEventResponsePayload) {
91
132
  return eventResponse.response;
@@ -1 +1 @@
1
- {"version":3,"file":"http-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/http-api-event.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/http-api-event.mapper.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,29 @@ const api_gateway_event_type_enum_1 = require("../enums/api-gateway-event-type.e
22
22
  const api_gateway_events_handling_strategy_enum_1 = require("../enums/api-gateway-events-handling-strategy.enum");
23
23
  const aws_api_gateway_module_keyname_1 = require("../aws-api-gateway.module.keyname");
24
24
  const base_api_event_mapper_1 = require("./base-api-event.mapper");
25
+ /**
26
+ * The Rest api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
27
+ * depending on the handling strategy defined in the environment configs.
28
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
29
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
30
+ */
25
31
  let RestApiEventMapper = class RestApiEventMapper extends base_api_event_mapper_1.BaseApiEventMapper {
32
+ /**
33
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
34
+ * depending on the handling strategy defined in the environment configs.
35
+ * @param logHandler The log handler to output logs.
36
+ * @param restApiEventsHandlingStrategy The handling strategy to use when handling rest api events.
37
+ */
26
38
  constructor(logHandler, restApiEventsHandlingStrategy) {
27
39
  super();
28
40
  this.logHandler = logHandler;
29
41
  this.restApiEventsHandlingStrategy = restApiEventsHandlingStrategy;
30
42
  }
43
+ /**
44
+ * Whether or not this mapper supports the raw event.
45
+ * @param rawEvent The raw event that needs to be mapped.
46
+ * @param executionContext The execution context in which the event is happening.
47
+ */
31
48
  supportsMapping(rawEvent, executionContext) {
32
49
  return executionContext.keyname === core_1.ExecutionContextKeynameEnum.AwsLambda &&
33
50
  rawEvent.hasOwnProperty("version") &&
@@ -37,6 +54,12 @@ let RestApiEventMapper = class RestApiEventMapper extends base_api_event_mapper_
37
54
  rawEvent.hasOwnProperty("httpMethod") &&
38
55
  rawEvent.hasOwnProperty("headers");
39
56
  }
57
+ /**
58
+ * Maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventPayload or a Request
59
+ * depending on the handling strategy defined in the environment configs.
60
+ * @param rawEvent The raw event that needs to be mapped.
61
+ * @param executionContext The execution context in which the event is happening.
62
+ */
40
63
  map(rawEvent, executionContext) {
41
64
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
42
65
  switch (this.restApiEventsHandlingStrategy) {
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/rest-api-event.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/rest-api-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAmG;AACnG,uCAA4C;AAC5C,4CAO2B;AAC3B,gHAAuG;AACvG,qFAA6E;AAC7E,sFAA6E;AAC7E,kHAAwG;AACxG,sFAA6E;AAC7E,mEAA2D;AAG3D;;;;;GAKG;AAIH,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,0CAAkB;IAEtD;;;;;OAKG;IACH,YAA4D,UAA+B,EACiB,6BAAmE;QAC3K,KAAK,EAAE,CAAC;QAFgD,eAAU,GAAV,UAAU,CAAqB;QACiB,kCAA6B,GAA7B,6BAA6B,CAAsC;IAE/K,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC3E,OAAO,gBAAgB,CAAC,OAAO,KAAK,kCAA2B,CAAC,SAAS;YACrE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;YAClC,QAAQ,CAAC,OAAO,KAAK,KAAK;YAC1B,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;YACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/B,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;YACrC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QAC/D,QAAQ,IAAI,CAAC,6BAA6B,EAAE;YACxC,KAAK,gFAAoC,CAAC,OAAO;gBAC7C,MAAM,OAAO,GAAG,IAAI,gBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpF,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEhC,OAAO;oBACH,cAAc,EAAE,YAAY;oBAC5B,MAAM,EAAE,CAAC,IAAI,YAAK,CAAU,qDAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;iBAC9E,CAAC;YAEN,KAAK,gFAAoC,CAAC,KAAK;gBAC3C,MAAM,mBAAmB,GAAG,IAAI,4CAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7H,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAE/C,mBAAmB,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBACnE,mBAAmB,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gBAC3E,mBAAmB,CAAC,+BAA+B,GAAG,QAAQ,CAAC,+BAA+B,CAAC;gBAC/F,mBAAmB,CAAC,cAAc,GAAG,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;gBACnE,mBAAmB,CAAC,cAAc,GAAG,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;gBACnE,mBAAmB,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzC,mBAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC/D,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAC3C,mBAAmB,CAAC,cAAc,GAAG;wBACjC,UAAU,EAAE,MAAA,QAAQ,CAAC,cAAc,CAAC,UAAU,mCAAI,SAAS;wBAC3D,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY;wBAClD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB;wBAC5D,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW;wBAChD,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI;wBAClC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS;wBAC5C,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ;wBAC1C,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK;wBACpC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY;wBAClD,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB;wBAC1D,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS;wBAC5C,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK;wBACpC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,QAAQ,EAAE;4BACN,qBAAqB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,qBAAqB,mCAAI,SAAS;4BAC3F,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,iBAAiB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,iBAAiB,mCAAI,SAAS;4BACnF,MAAM,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,MAAM,mCAAI,SAAS;4BAC7D,QAAQ,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,QAAQ,mCAAI,SAAS;4BACjE,cAAc,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,cAAc,mCAAI,SAAS;4BAC7E,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,yBAAyB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,yBAAyB,mCAAI,SAAS;4BACnG,6BAA6B,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,6BAA6B,mCAAI,SAAS;4BAC3G,OAAO,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,OAAO,mCAAI,SAAS;4BAC/D,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,IAAI,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,IAAI,mCAAI,SAAS;4BACzD,UAAU,EAAE,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,mCAAI,SAAS;yBACvE;qBACJ,CAAA;iBACJ;gBAED,OAAO;oBACH,cAAc,EAAE,YAAY;oBAC5B,MAAM,EAAE,CAAC,IAAI,YAAK,CAAsB,qDAAuB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;iBACtG,CAAC;SACT;IAEL,CAAC;IAED,sBAAsB,CAAC,aAAmG,EAAE,QAAa,EAAE,gBAAgD;QACvL,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,qDAAuB,CAAC,YAAY,CAAC;IAC7E,CAAC;IAED,UAAU,CAAC,aAAmG,EAAE,QAAa,EAAE,gBAAgD;QAC3K,IAAG,aAAa,CAAC,QAAQ,YAAY,6DAA2B,EAAE;YAC9D,OAAO,aAAa,CAAC,QAAQ,CAAC;SACjC;aAAM,IAAG,aAAa,CAAC,QAAQ,YAAY,iBAAQ,EAAE;YAClD,IAAI,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEvC,IAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1C,IAAI;oBACA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,EAAE;oBACN,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gFAAgF,EAAE,EAEvG,EAAE,2DAA0B,CAAC,CAAA;iBACjC;aACJ;YAED,MAAM,2BAA2B,GAAG,IAAI,6DAA2B,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzG,IAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC/B,2BAA2B,CAAC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;aACxE;YACD,2BAA2B,CAAC,eAAe,GAAG,KAAK,CAAC;YAEpD,OAAO,2BAA2B,CAAC;SACtC;aAAM;YACH,OAAO,IAAI,6DAA2B,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;SACvE;IACL,CAAC;CACJ,CAAA;AArIY,kBAAkB;IAH9B,IAAA,qBAAY,EAAC,2DAA0B,CAAC;IACxC,IAAA,YAAG,EAAC,iCAAwB,CAAC,WAAW,CAAC;IACzC,IAAA,qBAAU,GAAE;IASI,WAAA,IAAA,iBAAM,EAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,GAAG,GAAG,2DAA0B,GAAG,kCAAkC,CAAC,CAAA;;GATjF,kBAAkB,CAqI9B;AArIY,gDAAkB"}
@@ -10,6 +10,9 @@ export * from "./mappers/mappers";
10
10
  export const AwsApiGatewayModule = {
11
11
  keyname: AwsApiGatewayModuleKeyname,
12
12
  configurationDefinitions: [
13
+ /**
14
+ * The handling strategy to handle rest api events from api gateway.
15
+ */
13
16
  {
14
17
  parameterName: AwsApiGatewayModuleKeyname + ".restApiEvents.handlingStrategy",
15
18
  isRequired: false,
@@ -18,6 +21,9 @@ export const AwsApiGatewayModule = {
18
21
  new EnumResolver(new EnvironmentVariableResolver("PRISTINE_AWS_API_GATEWAY_REST_API_EVENTS_HANDLING_STRATEGY"), ApiGatewayEventsHandlingStrategyEnum),
19
22
  ],
20
23
  },
24
+ /**
25
+ * The handling strategy to handle http api events from api gateway.
26
+ */
21
27
  {
22
28
  parameterName: AwsApiGatewayModuleKeyname + ".httpApiEvents.handlingStrategy",
23
29
  isRequired: false,
@@ -1 +1 @@
1
- {"version":3,"file":"aws-api-gateway.module.js","sourceRoot":"","sources":["../../../src/aws-api-gateway.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,YAAY,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAC,oCAAoC,EAAC,MAAM,mDAAmD,CAAC;AACvG,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAEzD,cAAc,eAAe,CAAC;AAC9B,cAAc,iCAAiC,CAAC;AAChD,cAAc,mDAAmD,CAAC;AAClE,cAAc,mBAAmB,CAAC;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,OAAO,EAAE,0BAA0B;IACnC,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,0BAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,oCAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,YAAY,CAAC,IAAI,2BAA2B,CAAC,4DAA4D,CAAC,EAAE,oCAAoC,CAAC;aACxJ;SACJ;QACD;YACI,aAAa,EAAE,0BAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,oCAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,YAAY,CAAC,IAAI,2BAA2B,CAAC,4DAA4D,CAAC,EAAE,oCAAoC,CAAC;aACxJ;SACJ;KACJ;IACD,aAAa,EAAE;QACX,UAAU;QACV,gBAAgB;KACnB;CACJ,CAAA"}
1
+ {"version":3,"file":"aws-api-gateway.module.js","sourceRoot":"","sources":["../../../src/aws-api-gateway.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,YAAY,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAC,oCAAoC,EAAC,MAAM,mDAAmD,CAAC;AACvG,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAEzD,cAAc,eAAe,CAAC;AAC9B,cAAc,iCAAiC,CAAC;AAChD,cAAc,mDAAmD,CAAC;AAClE,cAAc,mBAAmB,CAAC;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,OAAO,EAAE,0BAA0B;IACnC,wBAAwB,EAAE;QACtB;;WAEG;QACH;YACI,aAAa,EAAE,0BAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,oCAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,YAAY,CAAC,IAAI,2BAA2B,CAAC,4DAA4D,CAAC,EAAE,oCAAoC,CAAC;aACxJ;SACJ;QAED;;WAEG;QACH;YACI,aAAa,EAAE,0BAA0B,GAAG,iCAAiC;YAC7E,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,oCAAoC,CAAC,OAAO;YAC1D,gBAAgB,EAAE;gBACd,IAAI,YAAY,CAAC,IAAI,2BAA2B,CAAC,4DAA4D,CAAC,EAAE,oCAAoC,CAAC;aACxJ;SACJ;KACJ;IACD,aAAa,EAAE;QACX,UAAU;QACV,gBAAgB;KACnB;CACJ,CAAA"}
@@ -1,6 +1,15 @@
1
+ /**
2
+ * Event types for Api gateway events
3
+ */
1
4
  export var ApiGatewayEventTypeEnum;
2
5
  (function (ApiGatewayEventTypeEnum) {
6
+ /**
7
+ * The rest api event corresponding to Api Gateway 1.0
8
+ */
3
9
  ApiGatewayEventTypeEnum["RestApiEvent"] = "REST_API_EVENT";
10
+ /**
11
+ * The http api event corresponding to Api Gateway 2.0
12
+ */
4
13
  ApiGatewayEventTypeEnum["HttpApiEvent"] = "HTTP_API_EVENT";
5
14
  })(ApiGatewayEventTypeEnum || (ApiGatewayEventTypeEnum = {}));
6
15
  //# sourceMappingURL=api-gateway-event-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-gateway-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-event-type.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,0DAA+B,CAAA;IAC/B,0DAA+B,CAAA;AACnC,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC"}
1
+ {"version":3,"file":"api-gateway-event-type.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-event-type.enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,uBAUX;AAVD,WAAY,uBAAuB;IAC/B;;OAEG;IACH,0DAA+B,CAAA;IAE/B;;OAEG;IACH,0DAA+B,CAAA;AACnC,CAAC,EAVW,uBAAuB,KAAvB,uBAAuB,QAUlC"}
@@ -1,6 +1,15 @@
1
+ /**
2
+ * Handling strategies for Api gateway events
3
+ */
1
4
  export var ApiGatewayEventsHandlingStrategyEnum;
2
5
  (function (ApiGatewayEventsHandlingStrategyEnum) {
6
+ /**
7
+ * Handle Api gateway as an Event.
8
+ */
3
9
  ApiGatewayEventsHandlingStrategyEnum["Event"] = "EVENT";
10
+ /**
11
+ * Handle Api gateway event as a request.
12
+ */
4
13
  ApiGatewayEventsHandlingStrategyEnum["Request"] = "REQUEST";
5
14
  })(ApiGatewayEventsHandlingStrategyEnum || (ApiGatewayEventsHandlingStrategyEnum = {}));
6
15
  //# sourceMappingURL=api-gateway-events-handling-strategy.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-gateway-events-handling-strategy.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-events-handling-strategy.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC5C,uDAAc,CAAA;IACd,2DAAmB,CAAA;AACvB,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C"}
1
+ {"version":3,"file":"api-gateway-events-handling-strategy.enum.js","sourceRoot":"","sources":["../../../../src/enums/api-gateway-events-handling-strategy.enum.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,oCAUX;AAVD,WAAY,oCAAoC;IAC5C;;OAEG;IACH,uDAAc,CAAA;IAEd;;OAEG;IACH,2DAAmB,CAAA;AACvB,CAAC,EAVW,oCAAoC,KAApC,oCAAoC,QAU/C"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * The event payload that we expect to receive when Api gateway is set to version 2.0.
3
+ */
1
4
  export class HttpApiEventPayload {
2
5
  constructor(version, routeKey, rawPath) {
3
6
  this.cookies = [];
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/http-api.event-payload.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAiC5B,YAAY,OAAe,EAAE,QAAgB,EAAE,OAAe;QA5B9D,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAA4B,EAAE,CAAC;QACtC,0BAAqB,GAA4B,EAAE,CAAC;QA2BhD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"http-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/http-api.event-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAiC5B,YAAY,OAAe,EAAE,QAAgB,EAAE,OAAe;QA5B9D,YAAO,GAAa,EAAE,CAAC;QACvB,YAAO,GAA4B,EAAE,CAAC;QACtC,0BAAqB,GAA4B,EAAE,CAAC;QA2BhD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * The event payload that we expect to receive when Api gateway is set to version 1.0.
3
+ */
1
4
  export class RestApiEventPayload {
2
5
  constructor(version, resource, path, httpMethod) {
3
6
  this.headers = {};
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/rest-api.event-payload.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IA8C5B,YAAY,OAAe,EAAE,QAAgB,EAAE,IAAY,EAAE,UAAkB;QAT/E,YAAO,GAA4B,EAAE,CAAC;QACtC,sBAAiB,GAA8B,EAAE,CAAC;QAS9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ"}
1
+ {"version":3,"file":"rest-api.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/rest-api.event-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,mBAAmB;IA8C5B,YAAY,OAAe,EAAE,QAAgB,EAAE,IAAY,EAAE,UAAkB;QAT/E,YAAO,GAA4B,EAAE,CAAC;QACtC,sBAAiB,GAA8B,EAAE,CAAC;QAS9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ"}
@@ -1,8 +1,25 @@
1
+ /**
2
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
3
+ */
1
4
  export class HttpApiEventResponsePayload {
5
+ /**
6
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
7
+ * @param statusCode The status code of the response to return.
8
+ * @param body The body of the response to return.
9
+ */
2
10
  constructor(statusCode, body) {
3
11
  this.statusCode = statusCode;
12
+ /**
13
+ * The response headers.
14
+ */
4
15
  this.headers = {};
16
+ /**
17
+ * Whether or not the response is Base64 encoded
18
+ */
5
19
  this.isBase64Encoded = false;
20
+ /**
21
+ * The response headers that have multivalues (arrays)
22
+ */
6
23
  this.multiValueHeaders = {};
7
24
  this.body = body;
8
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/http-api.event-response-payload.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA2B;IAMpC,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QALrD,YAAO,GAA4B,EAAE,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAA8B,EAAE,CAAC;QAI9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"http-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/http-api.event-response-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAqBpC;;;;OAIG;IACH,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QAzBrD;;WAEG;QACH,YAAO,GAA4B,EAAE,CAAC;QAEtC;;WAEG;QACH,oBAAe,GAAY,KAAK,CAAC;QAEjC;;WAEG;QACH,sBAAiB,GAA8B,EAAE,CAAC;QAa9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -1,8 +1,25 @@
1
+ /**
2
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
3
+ */
1
4
  export class RestApiEventResponsePayload {
5
+ /**
6
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
7
+ * @param statusCode The status code of the response to return.
8
+ * @param body The body of the response to return.
9
+ */
2
10
  constructor(statusCode, body) {
3
11
  this.statusCode = statusCode;
12
+ /**
13
+ * The response headers.
14
+ */
4
15
  this.headers = {};
16
+ /**
17
+ * Whether or not the response is Base64 encoded
18
+ */
5
19
  this.isBase64Encoded = false;
20
+ /**
21
+ * The response headers that have multivalues (arrays)
22
+ */
6
23
  this.multiValueHeaders = {};
7
24
  this.body = body;
8
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/rest-api.event-response-payload.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA2B;IAMpC,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QALrD,YAAO,GAA4B,EAAE,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QACjC,sBAAiB,GAA8B,EAAE,CAAC;QAI9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"rest-api.event-response-payload.js","sourceRoot":"","sources":["../../../../src/event-response-payloads/rest-api.event-response-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAqBpC;;;;OAIG;IACH,YAAmC,UAAkB,EAAE,IAAa;QAAjC,eAAU,GAAV,UAAU,CAAQ;QAzBrD;;WAEG;QACH,YAAO,GAA4B,EAAE,CAAC;QAEtC;;WAEG;QACH,oBAAe,GAAY,KAAK,CAAC;QAEjC;;WAEG;QACH,sBAAiB,GAA8B,EAAE,CAAC;QAa9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ"}
@@ -1,5 +1,13 @@
1
1
  import { HttpMethod } from "@pristine-ts/common";
2
+ /**
3
+ * The base api event mapper from which more specific mapper will extend.
4
+ */
2
5
  export class BaseApiEventMapper {
6
+ /**
7
+ * Maps the http method to the corresponding enum value.
8
+ * @param method The http method of the request.
9
+ * @protected
10
+ */
3
11
  mapHttpMethod(method) {
4
12
  method = method.toLowerCase();
5
13
  switch (method) {
@@ -1 +1 @@
1
- {"version":3,"file":"base-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/base-api-event.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE/C,MAAM,OAAO,kBAAkB;IAEjB,aAAa,CAAC,MAAc;QAClC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,QAAQ,MAAM,EAAE;YACZ,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,MAAM;gBACP,OAAO,UAAU,CAAC,IAAI,CAAC;YAC3B,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC,KAAK,CAAC;YAC5B,KAAK,QAAQ;gBACT,OAAO,UAAU,CAAC,MAAM,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,UAAU,CAAC,OAAO,CAAC;YAC9B;gBACI,OAAO,UAAU,CAAC,GAAG,CAAC;SAC7B;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"base-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/base-api-event.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAE3B;;;;OAIG;IACO,aAAa,CAAC,MAAc;QAClC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9B,QAAQ,MAAM,EAAE;YACZ,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,MAAM;gBACP,OAAO,UAAU,CAAC,IAAI,CAAC;YAC3B,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,GAAG,CAAC;YAC1B,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC,KAAK,CAAC;YAC5B,KAAK,QAAQ;gBACT,OAAO,UAAU,CAAC,MAAM,CAAC;YAC7B,KAAK,SAAS;gBACV,OAAO,UAAU,CAAC,OAAO,CAAC;YAC9B;gBACI,OAAO,UAAU,CAAC,GAAG,CAAC;SAC7B;IACL,CAAC;CACJ"}
@@ -19,21 +19,46 @@ import { HttpApiEventResponsePayload } from "../event-response-payloads/http-api
19
19
  import { AwsApiGatewayModuleKeyname } from "../aws-api-gateway.module.keyname";
20
20
  import { ApiGatewayEventTypeEnum } from "../enums/api-gateway-event-type.enum";
21
21
  import { BaseApiEventMapper } from "./base-api-event.mapper";
22
+ /**
23
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
24
+ * depending on the handling strategy defined in the environment configs.
25
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
26
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
27
+ */
22
28
  let HttpApiEventMapper = class HttpApiEventMapper extends BaseApiEventMapper {
29
+ /**
30
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
31
+ * depending on the handling strategy defined in the environment configs.
32
+ * @param logHandler The log handler to output logs.
33
+ * @param httpRequestsHandlingStrategy The handling strategy to use when handling http api events.
34
+ */
23
35
  constructor(logHandler, httpRequestsHandlingStrategy) {
24
36
  super();
25
37
  this.logHandler = logHandler;
26
38
  this.httpRequestsHandlingStrategy = httpRequestsHandlingStrategy;
27
39
  }
40
+ /**
41
+ * Whether or not this mapper supports the raw event.
42
+ * @param rawEvent The raw event that needs to be mapped.
43
+ * @param executionContext The execution context in which the event is happening.
44
+ */
28
45
  supportsMapping(rawEvent, executionContext) {
29
46
  return rawEvent.hasOwnProperty("version") &&
30
47
  rawEvent.version === "2.0" &&
31
48
  rawEvent.hasOwnProperty("headers") &&
32
49
  rawEvent.hasOwnProperty("requestContext");
33
50
  }
51
+ /**
52
+ * Maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
53
+ * depending on the handling strategy defined in the environment configs.
54
+ * @param rawEvent The raw event that needs to be mapped.
55
+ * @param executionContext The execution context in which the event is happening.
56
+ */
34
57
  map(rawEvent, executionContext) {
35
58
  switch (this.httpRequestsHandlingStrategy) {
36
- case ApiGatewayEventsHandlingStrategyEnum.Request:
59
+ // If the handling strategy is request, we create an event with a request object from the raw event,
60
+ // and set the execution order to sequential.
61
+ case ApiGatewayEventsHandlingStrategyEnum.Request: {
37
62
  const request = new Request(this.mapHttpMethod(rawEvent.requestContext.http.method), rawEvent.requestContext.http.path + (rawEvent.rawQueryString ? "?" + rawEvent.rawQueryString : ""));
38
63
  request.setHeaders(rawEvent.headers);
39
64
  request.body = rawEvent.body;
@@ -42,7 +67,10 @@ let HttpApiEventMapper = class HttpApiEventMapper extends BaseApiEventMapper {
42
67
  executionOrder: "sequential",
43
68
  events: [new Event(ApiGatewayEventTypeEnum.HttpApiEvent, request)],
44
69
  };
45
- case ApiGatewayEventsHandlingStrategyEnum.Event:
70
+ }
71
+ // If the handling strategy is Event, we create an event with a HttpApiEventPayload from the raw event,
72
+ // and set the execution order to sequential.
73
+ case ApiGatewayEventsHandlingStrategyEnum.Event: {
46
74
  const httpRequestEventPayload = new HttpApiEventPayload(rawEvent.version, rawEvent.routeKey, rawEvent.rawPath);
47
75
  httpRequestEventPayload.rawQueryString = rawEvent.rawQueryString;
48
76
  httpRequestEventPayload.cookies = rawEvent.cookies;
@@ -78,11 +106,24 @@ let HttpApiEventMapper = class HttpApiEventMapper extends BaseApiEventMapper {
78
106
  executionOrder: "sequential",
79
107
  events: [new Event(ApiGatewayEventTypeEnum.HttpApiEvent, httpRequestEventPayload)],
80
108
  };
109
+ }
81
110
  }
82
111
  }
112
+ /**
113
+ * Whether or not this mapper supports reverse mapping an event response to a
114
+ * @param eventResponse The pristine event response to be reverse mapped.
115
+ * @param response The final response being built from all the mappers that support this type of event response.
116
+ * @param executionContext The execution context in which the event was handled.
117
+ */
83
118
  supportsReverseMapping(eventResponse, response, executionContext) {
84
119
  return eventResponse.event.type === ApiGatewayEventTypeEnum.HttpApiEvent;
85
120
  }
121
+ /**
122
+ * Reverse maps a Pristine event response into an HttpApiEventResponsePayload to be returned to Api Gateway.
123
+ * @param eventResponse The pristine event response to be reverse mapped.
124
+ * @param response The final response being built from all the mappers that support this type of event response. It's possible to add on to a response from another mapper.
125
+ * @param executionContext The execution context in which the event was handled.
126
+ */
86
127
  reverseMap(eventResponse, response, executionContext) {
87
128
  if (eventResponse.response instanceof HttpApiEventResponsePayload) {
88
129
  return eventResponse.response;
@@ -1 +1 @@
1
- {"version":3,"file":"http-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/http-api-event.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/http-api-event.mapper.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,29 @@ import { ApiGatewayEventTypeEnum } from "../enums/api-gateway-event-type.enum";
19
19
  import { ApiGatewayEventsHandlingStrategyEnum } from "../enums/api-gateway-events-handling-strategy.enum";
20
20
  import { AwsApiGatewayModuleKeyname } from "../aws-api-gateway.module.keyname";
21
21
  import { BaseApiEventMapper } from "./base-api-event.mapper";
22
+ /**
23
+ * The Rest api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
24
+ * depending on the handling strategy defined in the environment configs.
25
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
26
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
27
+ */
22
28
  let RestApiEventMapper = class RestApiEventMapper extends BaseApiEventMapper {
29
+ /**
30
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
31
+ * depending on the handling strategy defined in the environment configs.
32
+ * @param logHandler The log handler to output logs.
33
+ * @param restApiEventsHandlingStrategy The handling strategy to use when handling rest api events.
34
+ */
23
35
  constructor(logHandler, restApiEventsHandlingStrategy) {
24
36
  super();
25
37
  this.logHandler = logHandler;
26
38
  this.restApiEventsHandlingStrategy = restApiEventsHandlingStrategy;
27
39
  }
40
+ /**
41
+ * Whether or not this mapper supports the raw event.
42
+ * @param rawEvent The raw event that needs to be mapped.
43
+ * @param executionContext The execution context in which the event is happening.
44
+ */
28
45
  supportsMapping(rawEvent, executionContext) {
29
46
  return executionContext.keyname === ExecutionContextKeynameEnum.AwsLambda &&
30
47
  rawEvent.hasOwnProperty("version") &&
@@ -34,6 +51,12 @@ let RestApiEventMapper = class RestApiEventMapper extends BaseApiEventMapper {
34
51
  rawEvent.hasOwnProperty("httpMethod") &&
35
52
  rawEvent.hasOwnProperty("headers");
36
53
  }
54
+ /**
55
+ * Maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventPayload or a Request
56
+ * depending on the handling strategy defined in the environment configs.
57
+ * @param rawEvent The raw event that needs to be mapped.
58
+ * @param executionContext The execution context in which the event is happening.
59
+ */
37
60
  map(rawEvent, executionContext) {
38
61
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
39
62
  switch (this.restApiEventsHandlingStrategy) {
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/rest-api-event.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest-api-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/rest-api-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EACH,KAAK,EAKL,2BAA2B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,2BAA2B,EAAC,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAC,mBAAmB,EAAC,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,oCAAoC,EAAC,MAAM,oDAAoD,CAAC;AACxG,OAAO,EAAC,0BAA0B,EAAC,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAG3D;;;;;GAKG;AAIH,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,kBAAkB;IAEtD;;;;;OAKG;IACH,YAA4D,UAA+B,EACiB,6BAAmE;QAC3K,KAAK,EAAE,CAAC;QAFgD,eAAU,GAAV,UAAU,CAAqB;QACiB,kCAA6B,GAA7B,6BAA6B,CAAsC;IAE/K,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC3E,OAAO,gBAAgB,CAAC,OAAO,KAAK,2BAA2B,CAAC,SAAS;YACrE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;YAClC,QAAQ,CAAC,OAAO,KAAK,KAAK;YAC1B,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;YACnC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/B,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;YACrC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QAC/D,QAAQ,IAAI,CAAC,6BAA6B,EAAE;YACxC,KAAK,oCAAoC,CAAC,OAAO;gBAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpF,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEhC,OAAO;oBACH,cAAc,EAAE,YAAY;oBAC5B,MAAM,EAAE,CAAC,IAAI,KAAK,CAAU,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;iBAC9E,CAAC;YAEN,KAAK,oCAAoC,CAAC,KAAK;gBAC3C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7H,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAE/C,mBAAmB,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBACnE,mBAAmB,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;gBAC3E,mBAAmB,CAAC,+BAA+B,GAAG,QAAQ,CAAC,+BAA+B,CAAC;gBAC/F,mBAAmB,CAAC,cAAc,GAAG,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;gBACnE,mBAAmB,CAAC,cAAc,GAAG,MAAA,QAAQ,CAAC,cAAc,mCAAI,EAAE,CAAC;gBACnE,mBAAmB,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzC,mBAAmB,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC/D,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAC3C,mBAAmB,CAAC,cAAc,GAAG;wBACjC,UAAU,EAAE,MAAA,QAAQ,CAAC,cAAc,CAAC,UAAU,mCAAI,SAAS;wBAC3D,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY;wBAClD,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB;wBAC5D,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW;wBAChD,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI;wBAClC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS;wBAC5C,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ;wBAC1C,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK;wBACpC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY;wBAClD,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB;wBAC1D,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS;wBAC5C,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK;wBACpC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU;wBAC9C,QAAQ,EAAE;4BACN,qBAAqB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,qBAAqB,mCAAI,SAAS;4BAC3F,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,iBAAiB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,iBAAiB,mCAAI,SAAS;4BACnF,MAAM,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,MAAM,mCAAI,SAAS;4BAC7D,QAAQ,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,QAAQ,mCAAI,SAAS;4BACjE,cAAc,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,cAAc,mCAAI,SAAS;4BAC7E,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,yBAAyB,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,yBAAyB,mCAAI,SAAS;4BACnG,6BAA6B,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,6BAA6B,mCAAI,SAAS;4BAC3G,OAAO,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,OAAO,mCAAI,SAAS;4BAC/D,SAAS,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,SAAS,mCAAI,SAAS;4BACnE,IAAI,EAAE,MAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,0CAAE,IAAI,mCAAI,SAAS;4BACzD,UAAU,EAAE,MAAA,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,mCAAI,SAAS;yBACvE;qBACJ,CAAA;iBACJ;gBAED,OAAO;oBACH,cAAc,EAAE,YAAY;oBAC5B,MAAM,EAAE,CAAC,IAAI,KAAK,CAAsB,uBAAuB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;iBACtG,CAAC;SACT;IAEL,CAAC;IAED,sBAAsB,CAAC,aAAmG,EAAE,QAAa,EAAE,gBAAgD;QACvL,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,YAAY,CAAC;IAC7E,CAAC;IAED,UAAU,CAAC,aAAmG,EAAE,QAAa,EAAE,gBAAgD;QAC3K,IAAG,aAAa,CAAC,QAAQ,YAAY,2BAA2B,EAAE;YAC9D,OAAO,aAAa,CAAC,QAAQ,CAAC;SACjC;aAAM,IAAG,aAAa,CAAC,QAAQ,YAAY,QAAQ,EAAE;YAClD,IAAI,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEvC,IAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC1C,IAAI;oBACA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,EAAE;oBACN,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gFAAgF,EAAE,EAEvG,EAAE,0BAA0B,CAAC,CAAA;iBACjC;aACJ;YAED,MAAM,2BAA2B,GAAG,IAAI,2BAA2B,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzG,IAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC/B,2BAA2B,CAAC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;aACxE;YACD,2BAA2B,CAAC,eAAe,GAAG,KAAK,CAAC;YAEpD,OAAO,2BAA2B,CAAC;SACtC;aAAM;YACH,OAAO,IAAI,2BAA2B,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;SACvE;IACL,CAAC;CACJ,CAAA;AArIY,kBAAkB;IAH9B,YAAY,CAAC,0BAA0B,CAAC;IACxC,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;IASI,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,GAAG,GAAG,0BAA0B,GAAG,kCAAkC,CAAC,CAAA;;GATjF,kBAAkB,CAqI9B;SArIY,kBAAkB"}
@@ -1,4 +1,13 @@
1
+ /**
2
+ * Event types for Api gateway events
3
+ */
1
4
  export declare enum ApiGatewayEventTypeEnum {
5
+ /**
6
+ * The rest api event corresponding to Api Gateway 1.0
7
+ */
2
8
  RestApiEvent = "REST_API_EVENT",
9
+ /**
10
+ * The http api event corresponding to Api Gateway 2.0
11
+ */
3
12
  HttpApiEvent = "HTTP_API_EVENT"
4
13
  }
@@ -1,4 +1,13 @@
1
+ /**
2
+ * Handling strategies for Api gateway events
3
+ */
1
4
  export declare enum ApiGatewayEventsHandlingStrategyEnum {
5
+ /**
6
+ * Handle Api gateway as an Event.
7
+ */
2
8
  Event = "EVENT",
9
+ /**
10
+ * Handle Api gateway event as a request.
11
+ */
3
12
  Request = "REQUEST"
4
13
  }
@@ -1,3 +1,6 @@
1
+ /**
2
+ * The event payload that we expect to receive when Api gateway is set to version 2.0.
3
+ */
1
4
  export declare class HttpApiEventPayload {
2
5
  version: string;
3
6
  routeKey: string;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * The event payload that we expect to receive when Api gateway is set to version 1.0.
3
+ */
1
4
  export declare class RestApiEventPayload {
2
5
  version: string;
3
6
  resource: string;
@@ -1,12 +1,32 @@
1
+ /**
2
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
3
+ */
1
4
  export declare class HttpApiEventResponsePayload {
2
5
  readonly statusCode: number;
6
+ /**
7
+ * The response headers.
8
+ */
3
9
  headers: {
4
10
  [key: string]: string;
5
11
  };
12
+ /**
13
+ * Whether or not the response is Base64 encoded
14
+ */
6
15
  isBase64Encoded: boolean;
16
+ /**
17
+ * The response headers that have multivalues (arrays)
18
+ */
7
19
  multiValueHeaders: {
8
20
  [key: string]: string[];
9
21
  };
22
+ /**
23
+ * The body of the response
24
+ */
10
25
  body?: string;
26
+ /**
27
+ * The response payload that we will return to Api gateway when Api gateway is set to version 2.0 (Http Api).
28
+ * @param statusCode The status code of the response to return.
29
+ * @param body The body of the response to return.
30
+ */
11
31
  constructor(statusCode: number, body?: string);
12
32
  }
@@ -1,12 +1,32 @@
1
+ /**
2
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
3
+ */
1
4
  export declare class RestApiEventResponsePayload {
2
5
  readonly statusCode: number;
6
+ /**
7
+ * The response headers.
8
+ */
3
9
  headers: {
4
10
  [key: string]: string;
5
11
  };
12
+ /**
13
+ * Whether or not the response is Base64 encoded
14
+ */
6
15
  isBase64Encoded: boolean;
16
+ /**
17
+ * The response headers that have multivalues (arrays)
18
+ */
7
19
  multiValueHeaders: {
8
20
  [key: string]: string[];
9
21
  };
22
+ /**
23
+ * The body of the response
24
+ */
10
25
  body?: string;
26
+ /**
27
+ * The response payload that we will return to Api gateway when Api gateway is set to version 1.0 (Rest Api).
28
+ * @param statusCode The status code of the response to return.
29
+ * @param body The body of the response to return.
30
+ */
11
31
  constructor(statusCode: number, body?: string);
12
32
  }
@@ -1,4 +1,12 @@
1
1
  import { HttpMethod } from "@pristine-ts/common";
2
+ /**
3
+ * The base api event mapper from which more specific mapper will extend.
4
+ */
2
5
  export declare class BaseApiEventMapper {
6
+ /**
7
+ * Maps the http method to the corresponding enum value.
8
+ * @param method The http method of the request.
9
+ * @protected
10
+ */
3
11
  protected mapHttpMethod(method: string): HttpMethod;
4
12
  }
@@ -5,12 +5,47 @@ import { HttpApiEventPayload } from "../event-payloads/http-api.event-payload";
5
5
  import { HttpApiEventResponsePayload } from "../event-response-payloads/http-api.event-response-payload";
6
6
  import { BaseApiEventMapper } from "./base-api-event.mapper";
7
7
  import { LogHandlerInterface } from "@pristine-ts/logging";
8
+ /**
9
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
10
+ * depending on the handling strategy defined in the environment configs.
11
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
12
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
13
+ */
8
14
  export declare class HttpApiEventMapper extends BaseApiEventMapper implements EventMapperInterface<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response> {
9
15
  private readonly logHandler;
10
16
  private readonly httpRequestsHandlingStrategy;
17
+ /**
18
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
19
+ * depending on the handling strategy defined in the environment configs.
20
+ * @param logHandler The log handler to output logs.
21
+ * @param httpRequestsHandlingStrategy The handling strategy to use when handling http api events.
22
+ */
11
23
  constructor(logHandler: LogHandlerInterface, httpRequestsHandlingStrategy: ApiGatewayEventsHandlingStrategyEnum);
24
+ /**
25
+ * Whether or not this mapper supports the raw event.
26
+ * @param rawEvent The raw event that needs to be mapped.
27
+ * @param executionContext The execution context in which the event is happening.
28
+ */
12
29
  supportsMapping(rawEvent: any, executionContext: ExecutionContextInterface<any>): boolean;
30
+ /**
31
+ * Maps a raw event to EventsExecutionOptionsInterface with either an HttpApiEventPayload or a Request
32
+ * depending on the handling strategy defined in the environment configs.
33
+ * @param rawEvent The raw event that needs to be mapped.
34
+ * @param executionContext The execution context in which the event is happening.
35
+ */
13
36
  map(rawEvent: any, executionContext: ExecutionContextInterface<any>): EventsExecutionOptionsInterface<HttpApiEventPayload | Request>;
37
+ /**
38
+ * Whether or not this mapper supports reverse mapping an event response to a
39
+ * @param eventResponse The pristine event response to be reverse mapped.
40
+ * @param response The final response being built from all the mappers that support this type of event response.
41
+ * @param executionContext The execution context in which the event was handled.
42
+ */
14
43
  supportsReverseMapping(eventResponse: EventResponse<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): boolean;
15
- reverseMap(eventResponse: EventResponse<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): any;
44
+ /**
45
+ * Reverse maps a Pristine event response into an HttpApiEventResponsePayload to be returned to Api Gateway.
46
+ * @param eventResponse The pristine event response to be reverse mapped.
47
+ * @param response The final response being built from all the mappers that support this type of event response. It's possible to add on to a response from another mapper.
48
+ * @param executionContext The execution context in which the event was handled.
49
+ */
50
+ reverseMap(eventResponse: EventResponse<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): HttpApiEventResponsePayload;
16
51
  }
@@ -5,11 +5,34 @@ import { RestApiEventPayload } from "../event-payloads/rest-api.event-payload";
5
5
  import { ApiGatewayEventsHandlingStrategyEnum } from "../enums/api-gateway-events-handling-strategy.enum";
6
6
  import { BaseApiEventMapper } from "./base-api-event.mapper";
7
7
  import { LogHandlerInterface } from "@pristine-ts/logging";
8
+ /**
9
+ * The Rest api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
10
+ * depending on the handling strategy defined in the environment configs.
11
+ * It is tagged as an ServiceDefinitionTagEnum.EventMapper so that it can be injected with all the other event mappers.
12
+ * It is module scoped so that it gets injected only if the AWS-Api-Gateway module is imported.
13
+ */
8
14
  export declare class RestApiEventMapper extends BaseApiEventMapper implements EventMapperInterface<RestApiEventPayload | Request, RestApiEventResponsePayload | Response> {
9
15
  private readonly logHandler;
10
16
  private readonly restApiEventsHandlingStrategy;
17
+ /**
18
+ * The Http api event mapper maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventResponsePayload or a Request
19
+ * depending on the handling strategy defined in the environment configs.
20
+ * @param logHandler The log handler to output logs.
21
+ * @param restApiEventsHandlingStrategy The handling strategy to use when handling rest api events.
22
+ */
11
23
  constructor(logHandler: LogHandlerInterface, restApiEventsHandlingStrategy: ApiGatewayEventsHandlingStrategyEnum);
24
+ /**
25
+ * Whether or not this mapper supports the raw event.
26
+ * @param rawEvent The raw event that needs to be mapped.
27
+ * @param executionContext The execution context in which the event is happening.
28
+ */
12
29
  supportsMapping(rawEvent: any, executionContext: ExecutionContextInterface<any>): boolean;
30
+ /**
31
+ * Maps a raw event to EventsExecutionOptionsInterface with either an RestApiEventPayload or a Request
32
+ * depending on the handling strategy defined in the environment configs.
33
+ * @param rawEvent The raw event that needs to be mapped.
34
+ * @param executionContext The execution context in which the event is happening.
35
+ */
13
36
  map(rawEvent: any, executionContext: ExecutionContextInterface<any>): EventsExecutionOptionsInterface<RestApiEventPayload | Request>;
14
37
  supportsReverseMapping(eventResponse: EventResponse<RestApiEventPayload | Request, RestApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): boolean;
15
38
  reverseMap(eventResponse: EventResponse<RestApiEventPayload | Request, RestApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/aws-api-gateway",
3
- "version": "0.0.211",
3
+ "version": "0.0.214",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/aws-api-gateway.module.js",
6
6
  "main": "dist/lib/cjs/aws-api-gateway.module.js",
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@pristine-ts/aws": "file:../common",
27
- "@pristine-ts/core": "^0.0.211",
28
- "@pristine-ts/networking": "^0.0.211",
27
+ "@pristine-ts/core": "^0.0.214",
28
+ "@pristine-ts/networking": "^0.0.214",
29
29
  "jsonwebtoken": "^8.5.1",
30
30
  "jwk-to-pem": "^2.0.5"
31
31
  },
@@ -63,5 +63,5 @@
63
63
  "src/*.{js,ts}"
64
64
  ]
65
65
  },
66
- "gitHead": "94c1ac74db0831033a4ee162bf3223bec5e99b1d"
66
+ "gitHead": "268df0aa2254b83119c6009c060eeeb0648ef137"
67
67
  }