@fintalk.ai/lambda-handlers 1.0.1 → 1.0.2

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 (94) hide show
  1. package/lib/constants.d.ts +6 -0
  2. package/lib/constants.js +10 -0
  3. package/lib/constants.js.map +1 -0
  4. package/lib/errors/bad-request-error.d.ts +4 -0
  5. package/lib/errors/bad-request-error.js +34 -0
  6. package/lib/errors/bad-request-error.js.map +1 -0
  7. package/lib/errors/conflict-error.d.ts +4 -0
  8. package/lib/errors/conflict-error.js +33 -0
  9. package/lib/errors/conflict-error.js.map +1 -0
  10. package/lib/errors/fintalk-error.d.ts +36 -0
  11. package/lib/errors/fintalk-error.js +54 -0
  12. package/lib/errors/fintalk-error.js.map +1 -0
  13. package/lib/errors/forbidden-error.d.ts +4 -0
  14. package/lib/errors/forbidden-error.js +33 -0
  15. package/lib/errors/forbidden-error.js.map +1 -0
  16. package/lib/errors/gone-error.d.ts +4 -0
  17. package/lib/errors/gone-error.js +33 -0
  18. package/lib/errors/gone-error.js.map +1 -0
  19. package/lib/errors/internal-server-error.d.ts +4 -0
  20. package/lib/errors/internal-server-error.js +33 -0
  21. package/lib/errors/internal-server-error.js.map +1 -0
  22. package/lib/errors/not-acceptable-error.d.ts +4 -0
  23. package/lib/errors/not-acceptable-error.js +33 -0
  24. package/lib/errors/not-acceptable-error.js.map +1 -0
  25. package/lib/errors/not-found-error.d.ts +4 -0
  26. package/lib/errors/not-found-error.js +33 -0
  27. package/lib/errors/not-found-error.js.map +1 -0
  28. package/lib/errors/payment-required-error.d.ts +4 -0
  29. package/lib/errors/payment-required-error.js +33 -0
  30. package/lib/errors/payment-required-error.js.map +1 -0
  31. package/lib/errors/precondition-failed-error.d.ts +4 -0
  32. package/lib/errors/precondition-failed-error.js +33 -0
  33. package/lib/errors/precondition-failed-error.js.map +1 -0
  34. package/lib/errors/service-unavailable-error.d.ts +4 -0
  35. package/lib/errors/service-unavailable-error.js +33 -0
  36. package/lib/errors/service-unavailable-error.js.map +1 -0
  37. package/lib/errors/teapot-error.d.ts +4 -0
  38. package/lib/errors/teapot-error.js +33 -0
  39. package/lib/errors/teapot-error.js.map +1 -0
  40. package/lib/errors/too-many-requests-error.d.ts +4 -0
  41. package/lib/errors/too-many-requests-error.js +33 -0
  42. package/lib/errors/too-many-requests-error.js.map +1 -0
  43. package/lib/errors/unauthorized-error.d.ts +4 -0
  44. package/lib/errors/unauthorized-error.js +33 -0
  45. package/lib/errors/unauthorized-error.js.map +1 -0
  46. package/lib/errors/unprocessable-entity-error.d.ts +4 -0
  47. package/lib/errors/unprocessable-entity-error.js +34 -0
  48. package/lib/errors/unprocessable-entity-error.js.map +1 -0
  49. package/lib/handlers/api-proxy.d.ts +13 -0
  50. package/lib/handlers/api-proxy.js +163 -0
  51. package/lib/handlers/api-proxy.js.map +1 -0
  52. package/lib/handlers/api.d.ts +7 -0
  53. package/lib/handlers/api.js +106 -0
  54. package/lib/handlers/api.js.map +1 -0
  55. package/lib/handlers/invoke.d.ts +7 -0
  56. package/lib/handlers/invoke.js +83 -0
  57. package/lib/handlers/invoke.js.map +1 -0
  58. package/lib/handlers/sqs-v2.d.ts +21 -0
  59. package/lib/handlers/sqs-v2.js +140 -0
  60. package/lib/handlers/sqs-v2.js.map +1 -0
  61. package/lib/handlers/sqs.d.ts +7 -0
  62. package/lib/handlers/sqs.js +77 -0
  63. package/lib/handlers/sqs.js.map +1 -0
  64. package/lib/index.d.ts +22 -0
  65. package/lib/index.js +64 -0
  66. package/lib/index.js.map +1 -0
  67. package/lib/models.d.ts +72 -0
  68. package/lib/models.js +3 -0
  69. package/lib/models.js.map +1 -0
  70. package/lib/utils/compare-ignore-case.d.ts +2 -0
  71. package/lib/utils/compare-ignore-case.js +10 -0
  72. package/lib/utils/compare-ignore-case.js.map +1 -0
  73. package/lib/utils/extract-ip.d.ts +3 -0
  74. package/lib/utils/extract-ip.js +12 -0
  75. package/lib/utils/extract-ip.js.map +1 -0
  76. package/lib/utils/extract-user.d.ts +4 -0
  77. package/lib/utils/extract-user.js +57 -0
  78. package/lib/utils/extract-user.js.map +1 -0
  79. package/lib/utils/get-user-id.d.ts +3 -0
  80. package/lib/utils/get-user-id.js +18 -0
  81. package/lib/utils/get-user-id.js.map +1 -0
  82. package/lib/utils/json-parse.d.ts +2 -0
  83. package/lib/utils/json-parse.js +27 -0
  84. package/lib/utils/json-parse.js.map +1 -0
  85. package/lib/utils/lower-case-headers.d.ts +3 -0
  86. package/lib/utils/lower-case-headers.js +22 -0
  87. package/lib/utils/lower-case-headers.js.map +1 -0
  88. package/lib/utils/parse-body.d.ts +2 -0
  89. package/lib/utils/parse-body.js +19 -0
  90. package/lib/utils/parse-body.js.map +1 -0
  91. package/lib/utils/parse-request.d.ts +5 -0
  92. package/lib/utils/parse-request.js +44 -0
  93. package/lib/utils/parse-request.js.map +1 -0
  94. package/package.json +3 -6
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var qs_1 = __importDefault(require("qs"));
7
+ var json_parse_1 = __importDefault(require("./json-parse"));
8
+ var parse = qs_1.default.parse;
9
+ var parseBody = function (contentType, body) {
10
+ if (!body) {
11
+ return undefined;
12
+ }
13
+ if (contentType === 'application/x-www-form-urlencoded') {
14
+ return parse(body);
15
+ }
16
+ return (0, json_parse_1.default)(body);
17
+ };
18
+ exports.default = parseBody;
19
+ //# sourceMappingURL=parse-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-body.js","sourceRoot":"","sources":["../../src/utils/parse-body.ts"],"names":[],"mappings":";;;;;AAAA,0CAAmB;AAEnB,4DAAoC;AAE5B,IAAA,KAAK,GAAK,YAAE,MAAP,CAAO;AAEpB,IAAM,SAAS,GAAG,UAAC,WAAoB,EAAE,IAAoB;IAC3D,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,WAAW,KAAK,mCAAmC,EAAE;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;KACnB;IACD,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,kBAAe,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { APIGatewayProxyEvent, Context } from 'aws-lambda';
2
+ import { Request } from '../models';
3
+ export declare const parsePathParams: (path?: string, url?: string) => Record<string, string>;
4
+ declare const parseRequest: (event: APIGatewayProxyEvent, context: Context, path?: string) => Request;
5
+ export default parseRequest;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parsePathParams = void 0;
7
+ var node_match_path_1 = require("node-match-path");
8
+ var extract_ip_1 = __importDefault(require("./extract-ip"));
9
+ var extract_user_1 = __importDefault(require("./extract-user"));
10
+ var lower_case_headers_1 = __importDefault(require("./lower-case-headers"));
11
+ var parse_body_1 = __importDefault(require("./parse-body"));
12
+ var parsePathParams = function (path, url) {
13
+ if (!path || !url) {
14
+ return {};
15
+ }
16
+ var params = (0, node_match_path_1.match)(path, url).params;
17
+ return params !== null && params !== void 0 ? params : {};
18
+ };
19
+ exports.parsePathParams = parsePathParams;
20
+ var parseRequest = function (event, context, path) {
21
+ var _a, _b, _c, _d, _e;
22
+ var headers = (0, lower_case_headers_1.default)(event.headers);
23
+ var params = (0, exports.parsePathParams)(path, event.path);
24
+ return {
25
+ id: event.requestContext.requestId,
26
+ body: (0, parse_body_1.default)(headers['content-type'], event.body),
27
+ headers: headers,
28
+ ip: (0, extract_ip_1.default)(headers, event.requestContext.identity.sourceIp),
29
+ method: event.httpMethod.toUpperCase(),
30
+ multiValueQuery: (_a = event.multiValueQueryStringParameters) !== null && _a !== void 0 ? _a : {},
31
+ params: params,
32
+ path: event.path,
33
+ pathParameters: (_b = event.pathParameters) !== null && _b !== void 0 ? _b : {},
34
+ query: (_c = event.queryStringParameters) !== null && _c !== void 0 ? _c : {},
35
+ rawBody: (_d = event.body) !== null && _d !== void 0 ? _d : undefined,
36
+ requestContext: event.requestContext,
37
+ context: context,
38
+ stageVariables: (_e = event.stageVariables) !== null && _e !== void 0 ? _e : {},
39
+ userAgent: headers['user-agent'],
40
+ user: (0, extract_user_1.default)(headers),
41
+ };
42
+ };
43
+ exports.default = parseRequest;
44
+ //# sourceMappingURL=parse-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-request.js","sourceRoot":"","sources":["../../src/utils/parse-request.ts"],"names":[],"mappings":";;;;;;AAIA,mDAAuC;AAIvC,4DAAoC;AACpC,gEAAwC;AACxC,4EAAmD;AACnD,4DAAoC;AAE7B,IAAM,eAAe,GAAG,UAAC,IAAa,EAAE,GAAY;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QACjB,OAAO,EAAE,CAAA;KACV;IAEO,IAAA,MAAM,GAAK,IAAA,uBAAK,EAAC,IAAI,EAAE,GAAG,CAAC,OAArB,CAAqB;IAEnC,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;AACrB,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B;AAED,IAAM,YAAY,GAAG,UACnB,KAA2B,EAC3B,OAAgB,EAChB,IAAa;;IAEb,IAAM,OAAO,GAAG,IAAA,4BAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAEhD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;QAClC,IAAI,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;QACpD,OAAO,SAAA;QACP,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9D,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;QACtC,eAAe,EAAE,MAAA,KAAK,CAAC,+BAA+B,mCAAI,EAAE;QAC5D,MAAM,QAAA;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;QAC1C,KAAK,EAAE,MAAA,KAAK,CAAC,qBAAqB,mCAAI,EAAE;QACxC,OAAO,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,SAAS;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,SAAA;QACP,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;QAC1C,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC;QAChC,IAAI,EAAE,IAAA,sBAAW,EAAC,OAAO,CAAC;KAC3B,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fintalk.ai/lambda-handlers",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Lambda Handlers w/ Typescript Support",
5
5
  "author": "Fintalk.AI",
6
6
  "homepage": "https://github.com/fintalk-ai/lambda-handlers#readme",
@@ -51,9 +51,9 @@
51
51
  "jest-mock": "^28.1.0",
52
52
  "jest-mock-extended": "^2.0.6",
53
53
  "node-match-path": "^0.6.3",
54
- "npm-run-all": "^4.1.5",
55
54
  "qs": "^6.10.3",
56
- "rimraf": "^3.0.2"
55
+ "rimraf": "^3.0.2",
56
+ "npm-run-all": "^4.1.5"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@types/aws-lambda": ">=8.10.92",
@@ -61,8 +61,5 @@
61
61
  "fintalk-logger": "~1.1.3",
62
62
  "node-match-path": ">=0.6.3",
63
63
  "qs": ">=6.10.3"
64
- },
65
- "dependencies": {
66
- "typescript": "^5.1.3"
67
64
  }
68
65
  }