@pristine-ts/aws-api-gateway 0.0.176

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 (78) hide show
  1. package/LICENSE +201 -0
  2. package/dist/lib/cjs/aws-api-gateway.module.js +48 -0
  3. package/dist/lib/cjs/aws-api-gateway.module.js.map +1 -0
  4. package/dist/lib/cjs/aws-api-gateway.module.keyname.js +5 -0
  5. package/dist/lib/cjs/aws-api-gateway.module.keyname.js.map +1 -0
  6. package/dist/lib/cjs/enums/api-gateway-event-type.enum.js +9 -0
  7. package/dist/lib/cjs/enums/api-gateway-event-type.enum.js.map +1 -0
  8. package/dist/lib/cjs/enums/api-gateway-events-handling-strategy.enum.js +9 -0
  9. package/dist/lib/cjs/enums/api-gateway-events-handling-strategy.enum.js.map +1 -0
  10. package/dist/lib/cjs/enums/enums.js +15 -0
  11. package/dist/lib/cjs/enums/enums.js.map +1 -0
  12. package/dist/lib/cjs/event-payloads/event-payloads.js +15 -0
  13. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -0
  14. package/dist/lib/cjs/event-payloads/http-api.event-payload.js +15 -0
  15. package/dist/lib/cjs/event-payloads/http-api.event-payload.js.map +1 -0
  16. package/dist/lib/cjs/event-payloads/rest-api.event-payload.js +15 -0
  17. package/dist/lib/cjs/event-payloads/rest-api.event-payload.js.map +1 -0
  18. package/dist/lib/cjs/event-response-payloads/event-response-payloads.js +15 -0
  19. package/dist/lib/cjs/event-response-payloads/event-response-payloads.js.map +1 -0
  20. package/dist/lib/cjs/event-response-payloads/http-api.event-response-payload.js +14 -0
  21. package/dist/lib/cjs/event-response-payloads/http-api.event-response-payload.js.map +1 -0
  22. package/dist/lib/cjs/event-response-payloads/rest-api.event-response-payload.js +14 -0
  23. package/dist/lib/cjs/event-response-payloads/rest-api.event-response-payload.js.map +1 -0
  24. package/dist/lib/cjs/mappers/base-api-event.mapper.js +27 -0
  25. package/dist/lib/cjs/mappers/base-api-event.mapper.js.map +1 -0
  26. package/dist/lib/cjs/mappers/http-api-event.mapper.js +113 -0
  27. package/dist/lib/cjs/mappers/http-api-event.mapper.js.map +1 -0
  28. package/dist/lib/cjs/mappers/mappers.js +15 -0
  29. package/dist/lib/cjs/mappers/mappers.js.map +1 -0
  30. package/dist/lib/cjs/mappers/rest-api-event.mapper.js +129 -0
  31. package/dist/lib/cjs/mappers/rest-api-event.mapper.js.map +1 -0
  32. package/dist/lib/esm/aws-api-gateway.module.js +35 -0
  33. package/dist/lib/esm/aws-api-gateway.module.js.map +1 -0
  34. package/dist/lib/esm/aws-api-gateway.module.keyname.js +2 -0
  35. package/dist/lib/esm/aws-api-gateway.module.keyname.js.map +1 -0
  36. package/dist/lib/esm/enums/api-gateway-event-type.enum.js +6 -0
  37. package/dist/lib/esm/enums/api-gateway-event-type.enum.js.map +1 -0
  38. package/dist/lib/esm/enums/api-gateway-events-handling-strategy.enum.js +6 -0
  39. package/dist/lib/esm/enums/api-gateway-events-handling-strategy.enum.js.map +1 -0
  40. package/dist/lib/esm/enums/enums.js +3 -0
  41. package/dist/lib/esm/enums/enums.js.map +1 -0
  42. package/dist/lib/esm/event-payloads/event-payloads.js +3 -0
  43. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -0
  44. package/dist/lib/esm/event-payloads/http-api.event-payload.js +11 -0
  45. package/dist/lib/esm/event-payloads/http-api.event-payload.js.map +1 -0
  46. package/dist/lib/esm/event-payloads/rest-api.event-payload.js +11 -0
  47. package/dist/lib/esm/event-payloads/rest-api.event-payload.js.map +1 -0
  48. package/dist/lib/esm/event-response-payloads/event-response-payloads.js +3 -0
  49. package/dist/lib/esm/event-response-payloads/event-response-payloads.js.map +1 -0
  50. package/dist/lib/esm/event-response-payloads/http-api.event-response-payload.js +10 -0
  51. package/dist/lib/esm/event-response-payloads/http-api.event-response-payload.js.map +1 -0
  52. package/dist/lib/esm/event-response-payloads/rest-api.event-response-payload.js +10 -0
  53. package/dist/lib/esm/event-response-payloads/rest-api.event-response-payload.js.map +1 -0
  54. package/dist/lib/esm/mappers/base-api-event.mapper.js +23 -0
  55. package/dist/lib/esm/mappers/base-api-event.mapper.js.map +1 -0
  56. package/dist/lib/esm/mappers/http-api-event.mapper.js +110 -0
  57. package/dist/lib/esm/mappers/http-api-event.mapper.js.map +1 -0
  58. package/dist/lib/esm/mappers/mappers.js +3 -0
  59. package/dist/lib/esm/mappers/mappers.js.map +1 -0
  60. package/dist/lib/esm/mappers/rest-api-event.mapper.js +126 -0
  61. package/dist/lib/esm/mappers/rest-api-event.mapper.js.map +1 -0
  62. package/dist/types/aws-api-gateway.module.d.ts +6 -0
  63. package/dist/types/aws-api-gateway.module.keyname.d.ts +1 -0
  64. package/dist/types/enums/api-gateway-event-type.enum.d.ts +4 -0
  65. package/dist/types/enums/api-gateway-events-handling-strategy.enum.d.ts +4 -0
  66. package/dist/types/enums/enums.d.ts +2 -0
  67. package/dist/types/event-payloads/event-payloads.d.ts +2 -0
  68. package/dist/types/event-payloads/http-api.event-payload.d.ts +42 -0
  69. package/dist/types/event-payloads/rest-api.event-payload.d.ts +59 -0
  70. package/dist/types/event-response-payloads/event-response-payloads.d.ts +2 -0
  71. package/dist/types/event-response-payloads/http-api.event-response-payload.d.ts +12 -0
  72. package/dist/types/event-response-payloads/rest-api.event-response-payload.d.ts +12 -0
  73. package/dist/types/mappers/base-api-event.mapper.d.ts +4 -0
  74. package/dist/types/mappers/http-api-event.mapper.d.ts +14 -0
  75. package/dist/types/mappers/mappers.d.ts +2 -0
  76. package/dist/types/mappers/rest-api-event.mapper.d.ts +14 -0
  77. package/package.json +66 -0
  78. package/readme.md +2 -0
@@ -0,0 +1,4 @@
1
+ export declare enum ApiGatewayEventTypeEnum {
2
+ RestApiEvent = "REST_API_EVENT",
3
+ HttpApiEvent = "HTTP_API_EVENT"
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ApiGatewayEventsHandlingStrategyEnum {
2
+ Event = "EVENT",
3
+ Request = "REQUEST"
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./api-gateway-event-type.enum";
2
+ export * from "./api-gateway-events-handling-strategy.enum";
@@ -0,0 +1,2 @@
1
+ export * from "./http-api.event-payload";
2
+ export * from "./rest-api.event-payload";
@@ -0,0 +1,42 @@
1
+ export declare class HttpApiEventPayload {
2
+ version: string;
3
+ routeKey: string;
4
+ rawPath: string;
5
+ rawQueryString?: string;
6
+ cookies: string[];
7
+ headers: {
8
+ [key: string]: string;
9
+ };
10
+ queryStringParameters: {
11
+ [key: string]: string;
12
+ };
13
+ requestContext?: {
14
+ accountId: string;
15
+ apiId: string;
16
+ domainName: string;
17
+ domainPrefix: string;
18
+ http: {
19
+ method: string;
20
+ path: string;
21
+ protocol: string;
22
+ sourceIp: string;
23
+ userAgent: string;
24
+ };
25
+ requestId: string;
26
+ routeKey: string;
27
+ stage: string;
28
+ time: string;
29
+ timeEpoch: number;
30
+ authentication: any;
31
+ authorizer: any;
32
+ };
33
+ isBase64Encoded?: boolean;
34
+ body?: string;
35
+ pathParameters?: {
36
+ [key: string]: string;
37
+ };
38
+ stageVariables?: {
39
+ [key: string]: string;
40
+ };
41
+ constructor(version: string, routeKey: string, rawPath: string);
42
+ }
@@ -0,0 +1,59 @@
1
+ export declare class RestApiEventPayload {
2
+ version: string;
3
+ resource: string;
4
+ path: string;
5
+ httpMethod: string;
6
+ requestContext?: {
7
+ resourceId?: string;
8
+ resourcePath: string;
9
+ httpMethod: string;
10
+ extendedRequestId: string;
11
+ requestTime: string;
12
+ path: string;
13
+ accountId: string;
14
+ protocol: string;
15
+ stage: string;
16
+ domainPrefix: string;
17
+ requestTimeEpoch: number;
18
+ requestId: string;
19
+ identity: {
20
+ cognitoIdentityPoolId?: string;
21
+ accountId?: string;
22
+ cognitoIdentityId?: string;
23
+ caller?: string;
24
+ sourceIp?: string;
25
+ principalOrgId?: string;
26
+ accessKey?: string;
27
+ cognitoAuthenticationType?: string;
28
+ cognitoAuthenticationProvider?: string;
29
+ userArn?: string;
30
+ userAgent?: string;
31
+ user?: string;
32
+ clientCert: any;
33
+ };
34
+ domainName: string;
35
+ apiId: string;
36
+ authorizer: any;
37
+ };
38
+ headers: {
39
+ [key: string]: string;
40
+ };
41
+ multiValueHeaders: {
42
+ [key: string]: string[];
43
+ };
44
+ queryStringParameters?: {
45
+ [key: string]: string;
46
+ };
47
+ multiValueQueryStringParameters?: {
48
+ [key: string]: string[];
49
+ };
50
+ pathParameters?: {
51
+ [key: string]: string;
52
+ };
53
+ stageVariables?: {
54
+ [key: string]: string;
55
+ };
56
+ body?: string;
57
+ isBase64Encoded?: boolean;
58
+ constructor(version: string, resource: string, path: string, httpMethod: string);
59
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./http-api.event-response-payload";
2
+ export * from "./rest-api.event-response-payload";
@@ -0,0 +1,12 @@
1
+ export declare class HttpApiEventResponsePayload {
2
+ readonly statusCode: number;
3
+ headers: {
4
+ [key: string]: string;
5
+ };
6
+ isBase64Encoded: boolean;
7
+ multiValueHeaders: {
8
+ [key: string]: string[];
9
+ };
10
+ body?: string;
11
+ constructor(statusCode: number, body?: string);
12
+ }
@@ -0,0 +1,12 @@
1
+ export declare class RestApiEventResponsePayload {
2
+ readonly statusCode: number;
3
+ headers: {
4
+ [key: string]: string;
5
+ };
6
+ isBase64Encoded: boolean;
7
+ multiValueHeaders: {
8
+ [key: string]: string[];
9
+ };
10
+ body?: string;
11
+ constructor(statusCode: number, body?: string);
12
+ }
@@ -0,0 +1,4 @@
1
+ import { HttpMethod } from "@pristine-ts/common";
2
+ export declare class BaseApiEventMapper {
3
+ protected mapHttpMethod(method: string): HttpMethod;
4
+ }
@@ -0,0 +1,14 @@
1
+ import { ApiGatewayEventsHandlingStrategyEnum } from "../enums/api-gateway-events-handling-strategy.enum";
2
+ import { EventMapperInterface, EventResponse, EventsExecutionOptionsInterface, ExecutionContextInterface } from "@pristine-ts/core";
3
+ import { Request, Response } from "@pristine-ts/common";
4
+ import { HttpApiEventPayload } from "../event-payloads/http-api.event-payload";
5
+ import { HttpApiEventResponsePayload } from "../event-response-payloads/http-api.event-response-payload";
6
+ import { BaseApiEventMapper } from "./base-api-event.mapper";
7
+ export declare class HttpApiEventMapper extends BaseApiEventMapper implements EventMapperInterface<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response> {
8
+ private readonly httpRequestsHandlingStrategy;
9
+ constructor(httpRequestsHandlingStrategy: ApiGatewayEventsHandlingStrategyEnum);
10
+ supportsMapping(rawEvent: any, executionContext: ExecutionContextInterface<any>): boolean;
11
+ map(rawEvent: any, executionContext: ExecutionContextInterface<any>): EventsExecutionOptionsInterface<HttpApiEventPayload | Request>;
12
+ supportsReverseMapping(eventResponse: EventResponse<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): boolean;
13
+ reverseMap(eventResponse: EventResponse<HttpApiEventPayload | Request, HttpApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): any;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./http-api-event.mapper";
2
+ export * from "./rest-api-event.mapper";
@@ -0,0 +1,14 @@
1
+ import { Request, Response } from "@pristine-ts/common";
2
+ import { EventMapperInterface, EventResponse, EventsExecutionOptionsInterface, ExecutionContextInterface } from "@pristine-ts/core";
3
+ import { RestApiEventResponsePayload } from "../event-response-payloads/rest-api.event-response-payload";
4
+ import { RestApiEventPayload } from "../event-payloads/rest-api.event-payload";
5
+ import { ApiGatewayEventsHandlingStrategyEnum } from "../enums/api-gateway-events-handling-strategy.enum";
6
+ import { BaseApiEventMapper } from "./base-api-event.mapper";
7
+ export declare class RestApiEventMapper extends BaseApiEventMapper implements EventMapperInterface<RestApiEventPayload | Request, RestApiEventResponsePayload | Response> {
8
+ private readonly restApiEventsHandlingStrategy;
9
+ constructor(restApiEventsHandlingStrategy: ApiGatewayEventsHandlingStrategyEnum);
10
+ supportsMapping(rawEvent: any, executionContext: ExecutionContextInterface<any>): boolean;
11
+ map(rawEvent: any, executionContext: ExecutionContextInterface<any>): EventsExecutionOptionsInterface<RestApiEventPayload | Request>;
12
+ supportsReverseMapping(eventResponse: EventResponse<RestApiEventPayload | Request, RestApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): boolean;
13
+ reverseMap(eventResponse: EventResponse<RestApiEventPayload | Request, RestApiEventResponsePayload | Response>, response: any, executionContext: ExecutionContextInterface<any>): any;
14
+ }
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@pristine-ts/aws-api-gateway",
3
+ "version": "0.0.176",
4
+ "description": "",
5
+ "module": "dist/lib/esm/aws-api-gateway.module.js",
6
+ "main": "dist/lib/cjs/aws-api-gateway.module.js",
7
+ "types": "dist/types/aws-api-gateway.module.d.ts",
8
+ "scripts": {
9
+ "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json",
10
+ "prepublish": "npm run build",
11
+ "test": "jest"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "author": "",
17
+ "license": "ISC",
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "devDependencies": {
22
+ "@types/jwk-to-pem": "^2.0.0"
23
+ },
24
+ "dependencies": {
25
+ "@pristine-ts/aws": "file:../common",
26
+ "@pristine-ts/core": "^0.0.176",
27
+ "@pristine-ts/networking": "^0.0.176",
28
+ "jsonwebtoken": "^8.5.1",
29
+ "jwk-to-pem": "^2.0.5"
30
+ },
31
+ "jest": {
32
+ "transform": {
33
+ ".(ts|tsx)": "ts-jest"
34
+ },
35
+ "globals": {
36
+ "ts-jest": {
37
+ "tsconfig": {
38
+ "strictNullChecks": false
39
+ }
40
+ }
41
+ },
42
+ "testEnvironment": "node",
43
+ "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
44
+ "moduleFileExtensions": [
45
+ "ts",
46
+ "tsx",
47
+ "js"
48
+ ],
49
+ "coveragePathIgnorePatterns": [
50
+ "/node_modules/",
51
+ "/test/"
52
+ ],
53
+ "coverageThreshold": {
54
+ "global": {
55
+ "branches": 90,
56
+ "functions": 95,
57
+ "lines": 95,
58
+ "statements": 95
59
+ }
60
+ },
61
+ "collectCoverageFrom": [
62
+ "src/*.{js,ts}"
63
+ ]
64
+ },
65
+ "gitHead": "546be5013265d8a70d6a68d61f19b96fd3c1c423"
66
+ }
package/readme.md ADDED
@@ -0,0 +1,2 @@
1
+ # AWS Api Gateway Module
2
+