apitally 0.1.1 → 0.1.3

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 (183) hide show
  1. package/lib/cjs/common/client.js +395 -0
  2. package/lib/cjs/common/client.js.map +1 -0
  3. package/lib/cjs/common/index.js +13 -0
  4. package/lib/cjs/common/index.js.map +1 -0
  5. package/lib/cjs/common/keyRegistry.js +162 -0
  6. package/lib/cjs/common/keyRegistry.js.map +1 -0
  7. package/lib/cjs/common/logging.js +17 -0
  8. package/lib/cjs/common/logging.js.map +1 -0
  9. package/lib/cjs/common/requestLogger.js +69 -0
  10. package/lib/cjs/common/requestLogger.js.map +1 -0
  11. package/lib/cjs/common/types.js +6 -0
  12. package/lib/cjs/common/types.js.map +1 -0
  13. package/lib/cjs/common/utils.js +24 -0
  14. package/lib/cjs/common/utils.js.map +1 -0
  15. package/lib/cjs/common/validationErrorLogger.js +58 -0
  16. package/lib/cjs/common/validationErrorLogger.js.map +1 -0
  17. package/lib/cjs/express/auth.js +105 -0
  18. package/lib/cjs/express/auth.js.map +1 -0
  19. package/lib/cjs/express/index.js +27 -0
  20. package/lib/cjs/express/index.js.map +1 -0
  21. package/lib/cjs/express/listEndpoints.js +175 -0
  22. package/lib/cjs/express/listEndpoints.js.map +1 -0
  23. package/lib/cjs/express/middleware.js +167 -0
  24. package/lib/cjs/express/middleware.js.map +1 -0
  25. package/lib/cjs/fastify/auth.js +105 -0
  26. package/lib/cjs/fastify/auth.js.map +1 -0
  27. package/lib/cjs/fastify/index.js +28 -0
  28. package/lib/cjs/fastify/index.js.map +1 -0
  29. package/lib/cjs/fastify/plugin.js +147 -0
  30. package/lib/cjs/fastify/plugin.js.map +1 -0
  31. package/lib/cjs/index.js +6 -0
  32. package/lib/cjs/index.js.map +1 -0
  33. package/lib/cjs/koa/auth.js +113 -0
  34. package/lib/cjs/koa/auth.js.map +1 -0
  35. package/lib/cjs/koa/index.js +27 -0
  36. package/lib/cjs/koa/index.js.map +1 -0
  37. package/lib/cjs/koa/middleware.js +122 -0
  38. package/lib/cjs/koa/middleware.js.map +1 -0
  39. package/lib/cjs/nestjs/auth.js +132 -0
  40. package/lib/cjs/nestjs/auth.js.map +1 -0
  41. package/lib/cjs/nestjs/index.js +39 -0
  42. package/lib/cjs/nestjs/index.js.map +1 -0
  43. package/lib/esm/common/client.js +385 -0
  44. package/lib/esm/common/client.js.map +1 -0
  45. package/lib/esm/common/index.js +1 -0
  46. package/lib/esm/common/index.js.map +1 -0
  47. package/lib/esm/common/keyRegistry.js +155 -0
  48. package/lib/esm/common/keyRegistry.js.map +1 -0
  49. package/lib/esm/common/logging.js +11 -0
  50. package/lib/esm/common/logging.js.map +1 -0
  51. package/lib/esm/common/requestLogger.js +63 -0
  52. package/lib/esm/common/requestLogger.js.map +1 -0
  53. package/lib/esm/common/types.js +1 -0
  54. package/lib/esm/common/types.js.map +1 -0
  55. package/lib/esm/common/utils.js +16 -0
  56. package/lib/esm/common/utils.js.map +1 -0
  57. package/lib/esm/common/validationErrorLogger.js +52 -0
  58. package/lib/esm/common/validationErrorLogger.js.map +1 -0
  59. package/lib/esm/express/auth.js +98 -0
  60. package/lib/esm/express/auth.js.map +1 -0
  61. package/lib/esm/express/index.js +4 -0
  62. package/lib/esm/express/index.js.map +1 -0
  63. package/lib/esm/express/listEndpoints.js +168 -0
  64. package/lib/esm/express/listEndpoints.js.map +1 -0
  65. package/lib/esm/express/middleware.js +160 -0
  66. package/lib/esm/express/middleware.js.map +1 -0
  67. package/lib/esm/fastify/auth.js +98 -0
  68. package/lib/esm/fastify/auth.js.map +1 -0
  69. package/lib/esm/fastify/index.js +4 -0
  70. package/lib/esm/fastify/index.js.map +1 -0
  71. package/lib/esm/fastify/plugin.js +140 -0
  72. package/lib/esm/fastify/plugin.js.map +1 -0
  73. package/lib/esm/index.js +1 -0
  74. package/lib/esm/index.js.map +1 -0
  75. package/lib/esm/koa/auth.js +106 -0
  76. package/lib/esm/koa/auth.js.map +1 -0
  77. package/lib/esm/koa/index.js +4 -0
  78. package/lib/esm/koa/index.js.map +1 -0
  79. package/lib/esm/koa/middleware.js +115 -0
  80. package/lib/esm/koa/middleware.js.map +1 -0
  81. package/lib/esm/nestjs/auth.js +126 -0
  82. package/lib/esm/nestjs/auth.js.map +1 -0
  83. package/lib/esm/nestjs/index.js +4 -0
  84. package/lib/esm/nestjs/index.js.map +1 -0
  85. package/{dist/src → lib/types}/common/client.d.ts +7 -6
  86. package/lib/types/common/client.d.ts.map +1 -0
  87. package/lib/types/common/index.d.ts +2 -0
  88. package/{dist/src → lib/types}/common/index.d.ts.map +1 -1
  89. package/{dist/src → lib/types}/common/requestLogger.d.ts +1 -1
  90. package/{dist/src → lib/types}/common/requestLogger.d.ts.map +1 -1
  91. package/{dist/src → lib/types}/common/types.d.ts +2 -2
  92. package/lib/types/common/types.d.ts.map +1 -0
  93. package/{dist/src → lib/types}/common/validationErrorLogger.d.ts +1 -1
  94. package/{dist/src → lib/types}/common/validationErrorLogger.d.ts.map +1 -1
  95. package/{dist/src → lib/types}/express/auth.d.ts +1 -1
  96. package/lib/types/express/auth.d.ts.map +1 -0
  97. package/lib/types/express/index.d.ts +4 -0
  98. package/{dist/src → lib/types}/express/index.d.ts.map +1 -1
  99. package/lib/types/express/listEndpoints.d.ts +3 -0
  100. package/{dist/src → lib/types}/express/middleware.d.ts +3 -3
  101. package/lib/types/express/middleware.d.ts.map +1 -0
  102. package/{dist/src → lib/types}/fastify/auth.d.ts +1 -1
  103. package/lib/types/fastify/auth.d.ts.map +1 -0
  104. package/lib/types/fastify/index.d.ts +4 -0
  105. package/{dist/src → lib/types}/fastify/index.d.ts.map +1 -1
  106. package/lib/types/fastify/plugin.d.ts +15 -0
  107. package/lib/types/fastify/plugin.d.ts.map +1 -0
  108. package/lib/types/koa/index.d.ts +4 -0
  109. package/{dist/src → lib/types}/koa/index.d.ts.map +1 -1
  110. package/{dist/src → lib/types}/koa/middleware.d.ts +1 -1
  111. package/{dist/src → lib/types}/koa/middleware.d.ts.map +1 -1
  112. package/{dist/src → lib/types}/nestjs/auth.d.ts +1 -1
  113. package/{dist/src → lib/types}/nestjs/auth.d.ts.map +1 -1
  114. package/lib/types/nestjs/index.d.ts +4 -0
  115. package/lib/types/nestjs/index.d.ts.map +1 -0
  116. package/package.json +117 -8
  117. package/dist/src/common/client.d.ts.map +0 -1
  118. package/dist/src/common/client.js +0 -244
  119. package/dist/src/common/client.js.map +0 -1
  120. package/dist/src/common/index.d.ts +0 -2
  121. package/dist/src/common/index.js +0 -6
  122. package/dist/src/common/index.js.map +0 -1
  123. package/dist/src/common/keyRegistry.js +0 -90
  124. package/dist/src/common/keyRegistry.js.map +0 -1
  125. package/dist/src/common/logging.js +0 -13
  126. package/dist/src/common/logging.js.map +0 -1
  127. package/dist/src/common/requestLogger.js +0 -49
  128. package/dist/src/common/requestLogger.js.map +0 -1
  129. package/dist/src/common/types.d.ts.map +0 -1
  130. package/dist/src/common/types.js +0 -3
  131. package/dist/src/common/types.js.map +0 -1
  132. package/dist/src/common/utils.js +0 -23
  133. package/dist/src/common/utils.js.map +0 -1
  134. package/dist/src/common/validationErrorLogger.js +0 -40
  135. package/dist/src/common/validationErrorLogger.js.map +0 -1
  136. package/dist/src/express/auth.d.ts.map +0 -1
  137. package/dist/src/express/auth.js +0 -66
  138. package/dist/src/express/auth.js.map +0 -1
  139. package/dist/src/express/index.d.ts +0 -4
  140. package/dist/src/express/index.js +0 -10
  141. package/dist/src/express/index.js.map +0 -1
  142. package/dist/src/express/listEndpoints.d.ts +0 -3
  143. package/dist/src/express/listEndpoints.js +0 -166
  144. package/dist/src/express/listEndpoints.js.map +0 -1
  145. package/dist/src/express/middleware.d.ts.map +0 -1
  146. package/dist/src/express/middleware.js +0 -164
  147. package/dist/src/express/middleware.js.map +0 -1
  148. package/dist/src/fastify/auth.d.ts.map +0 -1
  149. package/dist/src/fastify/auth.js +0 -66
  150. package/dist/src/fastify/auth.js.map +0 -1
  151. package/dist/src/fastify/index.d.ts +0 -4
  152. package/dist/src/fastify/index.js +0 -13
  153. package/dist/src/fastify/index.js.map +0 -1
  154. package/dist/src/fastify/plugin.d.ts +0 -16
  155. package/dist/src/fastify/plugin.d.ts.map +0 -1
  156. package/dist/src/fastify/plugin.js +0 -124
  157. package/dist/src/fastify/plugin.js.map +0 -1
  158. package/dist/src/index.js +0 -3
  159. package/dist/src/index.js.map +0 -1
  160. package/dist/src/koa/auth.js +0 -67
  161. package/dist/src/koa/auth.js.map +0 -1
  162. package/dist/src/koa/index.d.ts +0 -4
  163. package/dist/src/koa/index.js +0 -10
  164. package/dist/src/koa/index.js.map +0 -1
  165. package/dist/src/koa/middleware.js +0 -108
  166. package/dist/src/koa/middleware.js.map +0 -1
  167. package/dist/src/nestjs/auth.js +0 -88
  168. package/dist/src/nestjs/auth.js.map +0 -1
  169. package/dist/src/nestjs/index.d.ts +0 -4
  170. package/dist/src/nestjs/index.d.ts.map +0 -1
  171. package/dist/src/nestjs/index.js +0 -12
  172. package/dist/src/nestjs/index.js.map +0 -1
  173. /package/{dist/src → lib/types}/common/keyRegistry.d.ts +0 -0
  174. /package/{dist/src → lib/types}/common/keyRegistry.d.ts.map +0 -0
  175. /package/{dist/src → lib/types}/common/logging.d.ts +0 -0
  176. /package/{dist/src → lib/types}/common/logging.d.ts.map +0 -0
  177. /package/{dist/src → lib/types}/common/utils.d.ts +0 -0
  178. /package/{dist/src → lib/types}/common/utils.d.ts.map +0 -0
  179. /package/{dist/src → lib/types}/express/listEndpoints.d.ts.map +0 -0
  180. /package/{dist/src → lib/types}/index.d.ts +0 -0
  181. /package/{dist/src → lib/types}/index.d.ts.map +0 -0
  182. /package/{dist/src → lib/types}/koa/auth.d.ts +0 -0
  183. /package/{dist/src → lib/types}/koa/auth.d.ts.map +0 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var RequestLogger = exports["default"] = /*#__PURE__*/function () {
13
+ function RequestLogger() {
14
+ (0, _classCallCheck2["default"])(this, RequestLogger);
15
+ (0, _defineProperty2["default"])(this, "requestCounts", void 0);
16
+ (0, _defineProperty2["default"])(this, "responseTimes", void 0);
17
+ this.requestCounts = new Map();
18
+ this.responseTimes = new Map();
19
+ }
20
+ (0, _createClass2["default"])(RequestLogger, [{
21
+ key: "getKey",
22
+ value: function getKey(requestInfo) {
23
+ return [requestInfo.consumer || "", requestInfo.method.toUpperCase(), requestInfo.path, requestInfo.statusCode].join("|");
24
+ }
25
+ }, {
26
+ key: "logRequest",
27
+ value: function logRequest(requestInfo) {
28
+ var key = this.getKey(requestInfo);
29
+ // Increment request count
30
+ this.requestCounts.set(key, (this.requestCounts.get(key) || 0) + 1);
31
+ // Log response time
32
+ if (!this.responseTimes.has(key)) {
33
+ this.responseTimes.set(key, new Map());
34
+ }
35
+ var responseTimeMap = this.responseTimes.get(key);
36
+ var responseTimeMsBin = Math.floor(requestInfo.responseTime / 10) * 10; // Rounded to nearest 10ms
37
+ responseTimeMap.set(responseTimeMsBin, (responseTimeMap.get(responseTimeMsBin) || 0) + 1);
38
+ }
39
+ }, {
40
+ key: "getAndResetRequests",
41
+ value: function getAndResetRequests() {
42
+ var _this = this;
43
+ var data = [];
44
+ this.requestCounts.forEach(function (count, key) {
45
+ var _key$split = key.split("|"),
46
+ _key$split2 = (0, _slicedToArray2["default"])(_key$split, 4),
47
+ consumer = _key$split2[0],
48
+ method = _key$split2[1],
49
+ path = _key$split2[2],
50
+ statusCodeStr = _key$split2[3];
51
+ var responseTimes = _this.responseTimes.get(key) || new Map();
52
+ data.push({
53
+ consumer: consumer || null,
54
+ method: method,
55
+ path: path,
56
+ status_code: parseInt(statusCodeStr),
57
+ request_count: count,
58
+ response_times: Object.fromEntries(responseTimes)
59
+ });
60
+ });
61
+ // Reset the counts and times
62
+ this.requestCounts.clear();
63
+ this.responseTimes.clear();
64
+ return data;
65
+ }
66
+ }]);
67
+ return RequestLogger;
68
+ }();
69
+ //# sourceMappingURL=requestLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestLogger.js","names":["RequestLogger","exports","_classCallCheck2","_defineProperty2","requestCounts","Map","responseTimes","_createClass2","key","value","getKey","requestInfo","consumer","method","toUpperCase","path","statusCode","join","logRequest","set","get","has","responseTimeMap","responseTimeMsBin","Math","floor","responseTime","getAndResetRequests","_this","data","forEach","count","_key$split","split","_key$split2","_slicedToArray2","statusCodeStr","push","status_code","parseInt","request_count","response_times","Object","fromEntries","clear"],"sources":["../../../src/common/requestLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;IAEqBA,aAAa,GAAAC,OAAA;EAIhC,SAAAD,cAAA;IAAA,IAAAE,gBAAA,mBAAAF,aAAA;IAAA,IAAAG,gBAAA;IAAA,IAAAA,gBAAA;IACE,IAAI,CAACC,aAAa,GAAG,IAAIC,GAAG,EAAkB;IAC9C,IAAI,CAACC,aAAa,GAAG,IAAID,GAAG,EAA+B;EAC7D;EAAC,IAAAE,aAAA,aAAAP,aAAA;IAAAQ,GAAA;IAAAC,KAAA,EAEO,SAAAC,OAAOC,WAAwB;MACrC,OAAO,CACLA,WAAW,CAACC,QAAQ,IAAI,EAAE,EAC1BD,WAAW,CAACE,MAAM,CAACC,WAAW,EAAE,EAChCH,WAAW,CAACI,IAAI,EAChBJ,WAAW,CAACK,UAAU,CACvB,CAACC,IAAI,CAAC,GAAG,CAAC;IACb;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAS,WAAWP,WAAwB;MACjC,IAAMH,GAAG,GAAG,IAAI,CAACE,MAAM,CAACC,WAAW,CAAC;MAEpC;MACA,IAAI,CAACP,aAAa,CAACe,GAAG,CAACX,GAAG,EAAE,CAAC,IAAI,CAACJ,aAAa,CAACgB,GAAG,CAACZ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAEnE;MACA,IAAI,CAAC,IAAI,CAACF,aAAa,CAACe,GAAG,CAACb,GAAG,CAAC,EAAE;QAChC,IAAI,CAACF,aAAa,CAACa,GAAG,CAACX,GAAG,EAAE,IAAIH,GAAG,EAAkB,CAAC;MACxD;MACA,IAAMiB,eAAe,GAAG,IAAI,CAAChB,aAAa,CAACc,GAAG,CAACZ,GAAG,CAAE;MACpD,IAAMe,iBAAiB,GAAGC,IAAI,CAACC,KAAK,CAACd,WAAW,CAACe,YAAY,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;MAC1EJ,eAAe,CAACH,GAAG,CACjBI,iBAAiB,EACjB,CAACD,eAAe,CAACF,GAAG,CAACG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAClD;IACH;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAkB,oBAAA,EAAmB;MAAA,IAAAC,KAAA;MACjB,IAAMC,IAAI,GAAwB,EAAE;MACpC,IAAI,CAACzB,aAAa,CAAC0B,OAAO,CAAC,UAACC,KAAK,EAAEvB,GAAG,EAAI;QACxC,IAAAwB,UAAA,GAAgDxB,GAAG,CAACyB,KAAK,CAAC,GAAG,CAAC;UAAAC,WAAA,OAAAC,eAAA,aAAAH,UAAA;UAAvDpB,QAAQ,GAAAsB,WAAA;UAAErB,MAAM,GAAAqB,WAAA;UAAEnB,IAAI,GAAAmB,WAAA;UAAEE,aAAa,GAAAF,WAAA;QAC5C,IAAM5B,aAAa,GACjBsB,KAAI,CAACtB,aAAa,CAACc,GAAG,CAACZ,GAAG,CAAC,IAAI,IAAIH,GAAG,EAAkB;QAC1DwB,IAAI,CAACQ,IAAI,CAAC;UACRzB,QAAQ,EAAEA,QAAQ,IAAI,IAAI;UAC1BC,MAAM,EAANA,MAAM;UACNE,IAAI,EAAJA,IAAI;UACJuB,WAAW,EAAEC,QAAQ,CAACH,aAAa,CAAC;UACpCI,aAAa,EAAET,KAAK;UACpBU,cAAc,EAAEC,MAAM,CAACC,WAAW,CAACrC,aAAa;SACjD,CAAC;MACJ,CAAC,CAAC;MAEF;MACA,IAAI,CAACF,aAAa,CAACwC,KAAK,EAAE;MAC1B,IAAI,CAACtC,aAAa,CAACsC,KAAK,EAAE;MAE1B,OAAOf,IAAI;IACb;EAAC;EAAA,OAAA7B,aAAA;AAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/common/types.ts"],"sourcesContent":[null],"mappings":""}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPackageVersion = getPackageVersion;
7
+ exports.isValidClientId = isValidClientId;
8
+ exports.isValidEnv = isValidEnv;
9
+ function isValidClientId(clientId) {
10
+ var regexExp = /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
11
+ return regexExp.test(clientId);
12
+ }
13
+ function isValidEnv(env) {
14
+ var regexExp = /^[\w-]{1,32}$/;
15
+ return regexExp.test(env);
16
+ }
17
+ function getPackageVersion(name) {
18
+ try {
19
+ return require("".concat(name, "/package.json")).version || null; // eslint-disable-line @typescript-eslint/no-var-requires
20
+ } catch (error) {
21
+ return null;
22
+ }
23
+ }
24
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["isValidClientId","clientId","regexExp","test","isValidEnv","env","getPackageVersion","name","require","concat","version","error"],"sources":["../../../src/common/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAAM,SAAUA,eAAeA,CAACC,QAAgB;EAC9C,IAAMC,QAAQ,GACZ,0EAA0E;EAC5E,OAAOA,QAAQ,CAACC,IAAI,CAACF,QAAQ,CAAC;AAChC;AAEM,SAAUG,UAAUA,CAACC,GAAW;EACpC,IAAMH,QAAQ,GAAG,eAAe;EAChC,OAAOA,QAAQ,CAACC,IAAI,CAACE,GAAG,CAAC;AAC3B;AAEM,SAAUC,iBAAiBA,CAACC,IAAY;EAC5C,IAAI;IACF,OAAOC,OAAO,IAAAC,MAAA,CAAIF,IAAI,kBAAe,CAAC,CAACG,OAAO,IAAI,IAAI,CAAC,CAAC;EAC1D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var ValidationErrorLogger = exports["default"] = /*#__PURE__*/function () {
13
+ function ValidationErrorLogger() {
14
+ (0, _classCallCheck2["default"])(this, ValidationErrorLogger);
15
+ (0, _defineProperty2["default"])(this, "errorCounts", void 0);
16
+ this.errorCounts = new Map();
17
+ }
18
+ (0, _createClass2["default"])(ValidationErrorLogger, [{
19
+ key: "getKey",
20
+ value: function getKey(validationError) {
21
+ return [validationError.consumer || "", validationError.method.toUpperCase(), validationError.path, validationError.loc, validationError.msg, validationError.type].join("|");
22
+ }
23
+ }, {
24
+ key: "logValidationError",
25
+ value: function logValidationError(validationError) {
26
+ var key = this.getKey(validationError);
27
+ this.errorCounts.set(key, (this.errorCounts.get(key) || 0) + 1);
28
+ }
29
+ }, {
30
+ key: "getAndResetValidationErrors",
31
+ value: function getAndResetValidationErrors() {
32
+ var data = [];
33
+ this.errorCounts.forEach(function (count, key) {
34
+ var _key$split = key.split("|"),
35
+ _key$split2 = (0, _slicedToArray2["default"])(_key$split, 6),
36
+ consumer = _key$split2[0],
37
+ method = _key$split2[1],
38
+ path = _key$split2[2],
39
+ loc = _key$split2[3],
40
+ msg = _key$split2[4],
41
+ type = _key$split2[5];
42
+ data.push({
43
+ consumer: consumer || null,
44
+ method: method,
45
+ path: path,
46
+ loc: loc.split("."),
47
+ msg: msg,
48
+ type: type,
49
+ error_count: count
50
+ });
51
+ });
52
+ this.errorCounts.clear();
53
+ return data;
54
+ }
55
+ }]);
56
+ return ValidationErrorLogger;
57
+ }();
58
+ //# sourceMappingURL=validationErrorLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationErrorLogger.js","names":["ValidationErrorLogger","exports","_classCallCheck2","_defineProperty2","errorCounts","Map","_createClass2","key","value","getKey","validationError","consumer","method","toUpperCase","path","loc","msg","type","join","logValidationError","set","get","getAndResetValidationErrors","data","forEach","count","_key$split","split","_key$split2","_slicedToArray2","push","error_count","clear"],"sources":["../../../src/common/validationErrorLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;IAMqBA,qBAAqB,GAAAC,OAAA;EAGxC,SAAAD,sBAAA;IAAA,IAAAE,gBAAA,mBAAAF,qBAAA;IAAA,IAAAG,gBAAA;IACE,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,EAAkB;EAC9C;EAAC,IAAAC,aAAA,aAAAN,qBAAA;IAAAO,GAAA;IAAAC,KAAA,EAEO,SAAAC,OAAOC,eAAqD;MAClE,OAAO,CACLA,eAAe,CAACC,QAAQ,IAAI,EAAE,EAC9BD,eAAe,CAACE,MAAM,CAACC,WAAW,EAAE,EACpCH,eAAe,CAACI,IAAI,EACpBJ,eAAe,CAACK,GAAG,EACnBL,eAAe,CAACM,GAAG,EACnBN,eAAe,CAACO,IAAI,CACrB,CAACC,IAAI,CAAC,GAAG,CAAC;IACb;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAEM,SAAAW,mBACLT,eAAqD;MAErD,IAAMH,GAAG,GAAG,IAAI,CAACE,MAAM,CAACC,eAAe,CAAC;MACxC,IAAI,CAACN,WAAW,CAACgB,GAAG,CAACb,GAAG,EAAE,CAAC,IAAI,CAACH,WAAW,CAACiB,GAAG,CAACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAEM,SAAAc,4BAAA,EAA2B;MAChC,IAAMC,IAAI,GAAgC,EAAE;MAC5C,IAAI,CAACnB,WAAW,CAACoB,OAAO,CAAC,UAACC,KAAK,EAAElB,GAAG,EAAI;QACtC,IAAAmB,UAAA,GAAiDnB,GAAG,CAACoB,KAAK,CAAC,GAAG,CAAC;UAAAC,WAAA,OAAAC,eAAA,aAAAH,UAAA;UAAxDf,QAAQ,GAAAiB,WAAA;UAAEhB,MAAM,GAAAgB,WAAA;UAAEd,IAAI,GAAAc,WAAA;UAAEb,GAAG,GAAAa,WAAA;UAAEZ,GAAG,GAAAY,WAAA;UAAEX,IAAI,GAAAW,WAAA;QAC7CL,IAAI,CAACO,IAAI,CAAC;UACRnB,QAAQ,EAAEA,QAAQ,IAAI,IAAI;UAC1BC,MAAM,EAANA,MAAM;UACNE,IAAI,EAAJA,IAAI;UACJC,GAAG,EAAEA,GAAG,CAACY,KAAK,CAAC,GAAG,CAAC;UACnBX,GAAG,EAAHA,GAAG;UACHC,IAAI,EAAJA,IAAI;UACJc,WAAW,EAAEN;SACd,CAAC;MACJ,CAAC,CAAC;MACF,IAAI,CAACrB,WAAW,CAAC4B,KAAK,EAAE;MACxB,OAAOT,IAAI;IACb;EAAC;EAAA,OAAAvB,qBAAA;AAAA"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.requireApiKey = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _client = require("../common/client.js");
11
+ var requireApiKey = exports.requireApiKey = function requireApiKey() {
12
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13
+ scopes = _ref.scopes,
14
+ customHeader = _ref.customHeader;
15
+ return /*#__PURE__*/function () {
16
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(req, res, next) {
17
+ var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
18
+ return _regenerator["default"].wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ if (customHeader) {
22
+ _context.next = 13;
23
+ break;
24
+ }
25
+ if (req.headers.authorization) {
26
+ _context.next = 4;
27
+ break;
28
+ }
29
+ res.status(401).set("WWW-Authenticate", "ApiKey").json({
30
+ error: "Missing authorization header"
31
+ });
32
+ return _context.abrupt("return");
33
+ case 4:
34
+ authorizationParts = req.headers.authorization.split(" ");
35
+ if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
36
+ _context.next = 9;
37
+ break;
38
+ }
39
+ apiKey = authorizationParts[1];
40
+ _context.next = 11;
41
+ break;
42
+ case 9:
43
+ res.status(401).set("WWW-Authenticate", "ApiKey").json({
44
+ error: "Invalid authorization scheme"
45
+ });
46
+ return _context.abrupt("return");
47
+ case 11:
48
+ _context.next = 14;
49
+ break;
50
+ case 13:
51
+ if (customHeader) {
52
+ customHeaderValue = req.headers[customHeader.toLowerCase()];
53
+ if (typeof customHeaderValue === "string") {
54
+ apiKey = customHeaderValue;
55
+ } else if (Array.isArray(customHeaderValue)) {
56
+ apiKey = customHeaderValue[0];
57
+ }
58
+ }
59
+ case 14:
60
+ if (apiKey) {
61
+ _context.next = 17;
62
+ break;
63
+ }
64
+ res.status(403).json({
65
+ error: "Missing API key"
66
+ });
67
+ return _context.abrupt("return");
68
+ case 17:
69
+ client = _client.ApitallyClient.getInstance();
70
+ _context.next = 20;
71
+ return client.keyRegistry.get(apiKey);
72
+ case 20:
73
+ keyInfo = _context.sent;
74
+ if (keyInfo) {
75
+ _context.next = 24;
76
+ break;
77
+ }
78
+ res.status(403).json({
79
+ error: "Invalid API key"
80
+ });
81
+ return _context.abrupt("return");
82
+ case 24:
83
+ if (!(scopes && !keyInfo.hasScopes(scopes))) {
84
+ _context.next = 27;
85
+ break;
86
+ }
87
+ res.status(403).json({
88
+ error: "Permission denied"
89
+ });
90
+ return _context.abrupt("return");
91
+ case 27:
92
+ req.keyInfo = keyInfo;
93
+ next();
94
+ case 29:
95
+ case "end":
96
+ return _context.stop();
97
+ }
98
+ }, _callee);
99
+ }));
100
+ return function (_x, _x2, _x3) {
101
+ return _ref2.apply(this, arguments);
102
+ };
103
+ }();
104
+ };
105
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","names":["_client","require","requireApiKey","exports","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","req","res","next","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","headers","authorization","status","set","json","error","abrupt","split","toLowerCase","Array","isArray","ApitallyClient","getInstance","keyRegistry","get","sent","hasScopes","stop","_x","_x2","_x3","apply"],"sources":["../../../src/express/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "KeyInfo", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _keyRegistry.KeyInfo;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "requireApiKey", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _auth.requireApiKey;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useApitally", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _middleware.useApitally;
22
+ }
23
+ });
24
+ var _keyRegistry = require("../common/keyRegistry.js");
25
+ var _auth = require("./auth.js");
26
+ var _middleware = require("./middleware.js");
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_keyRegistry","require","_auth","_middleware"],"sources":["../../../src/express/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ // Adapted from https://github.com/AlbertoFdzM/express-list-endpoints/blob/ed926dd5186761e7b721ad20938ce6eb52d104d3/src/index.js
10
+ var regExpToParseExpressPathRegExp = /^\/\^\\\/(?:(:?[\w\\.-]*(?:\\\/:?[\w\\.-]*)*)|(\(\?:\(\[\^\\\/]\+\?\)\)))\\\/.*/;
11
+ var regExpToReplaceExpressPathRegExpParams = /\(\?:\(\[\^\\\/]\+\?\)\)/;
12
+ var regexpExpressParamRegexp = /\(\?:\(\[\^\\\/]\+\?\)\)/g;
13
+ var EXPRESS_ROOT_PATH_REGEXP_VALUE = "/^\\/?(?=\\/|$)/i";
14
+ var STACK_ITEM_VALID_NAMES = ["router", "bound dispatch", "mounted_app"];
15
+ /**
16
+ * Returns all the verbs detected for the passed route
17
+ */
18
+ var getRouteMethods = function getRouteMethods(route) {
19
+ var methods = Object.keys(route.methods);
20
+ methods = methods.filter(function (method) {
21
+ return method !== "_all";
22
+ });
23
+ methods = methods.map(function (method) {
24
+ return method.toUpperCase();
25
+ });
26
+ return methods;
27
+ };
28
+ /**
29
+ * Returns the names (or anonymous) of all the middlewares attached to the
30
+ * passed route
31
+ * @param {Object} route
32
+ * @returns {string[]}
33
+ */
34
+ var getRouteMiddlewares = function getRouteMiddlewares(route) {
35
+ return route.stack.map(function (item) {
36
+ return item.handle.name || "anonymous";
37
+ });
38
+ };
39
+ /**
40
+ * Returns true if found regexp related with express params
41
+ * @param {string} expressPathRegExp
42
+ * @returns {boolean}
43
+ */
44
+ var hasParams = function hasParams(expressPathRegExp) {
45
+ return regexpExpressParamRegexp.test(expressPathRegExp);
46
+ };
47
+ /**
48
+ * @param {Object} route Express route object to be parsed
49
+ * @param {string} basePath The basePath the route is on
50
+ * @return {Object[]} Endpoints info
51
+ */
52
+ var parseExpressRoute = function parseExpressRoute(route, basePath) {
53
+ var paths = [];
54
+ if (Array.isArray(route.path)) {
55
+ paths.push.apply(paths, (0, _toConsumableArray2["default"])(route.path));
56
+ } else {
57
+ paths.push(route.path);
58
+ }
59
+ var endpoints = paths.map(function (path) {
60
+ var completePath = basePath && path === "/" ? basePath : "".concat(basePath).concat(path);
61
+ var endpoint = {
62
+ path: completePath,
63
+ methods: getRouteMethods(route),
64
+ middlewares: getRouteMiddlewares(route)
65
+ };
66
+ return endpoint;
67
+ });
68
+ return endpoints;
69
+ };
70
+ /**
71
+ * @param {RegExp} expressPathRegExp
72
+ * @param {Object[]} params
73
+ * @returns {string}
74
+ */
75
+ var parseExpressPath = function parseExpressPath(expressPathRegExp, params) {
76
+ var expressPathRegExpExec = regExpToParseExpressPathRegExp.exec(expressPathRegExp);
77
+ var parsedRegExp = expressPathRegExp.toString();
78
+ var paramIndex = 0;
79
+ while (hasParams(parsedRegExp)) {
80
+ var paramName = params[paramIndex].name;
81
+ var paramId = ":".concat(paramName);
82
+ parsedRegExp = parsedRegExp.replace(regExpToReplaceExpressPathRegExpParams, paramId);
83
+ paramIndex++;
84
+ }
85
+ if (parsedRegExp !== expressPathRegExp.toString()) {
86
+ expressPathRegExpExec = regExpToParseExpressPathRegExp.exec(parsedRegExp);
87
+ }
88
+ var parsedPath = expressPathRegExpExec[1].replace(/\\\//g, "/");
89
+ return parsedPath;
90
+ };
91
+ /**
92
+ * @param {Object} app
93
+ * @param {string} [basePath]
94
+ * @param {Object[]} [endpoints]
95
+ * @returns {Object[]}
96
+ */
97
+ var parseEndpoints = function parseEndpoints(app, basePath, endpoints) {
98
+ var stack = app.stack || app._router && app._router.stack;
99
+ endpoints = endpoints || [];
100
+ basePath = basePath || "";
101
+ if (!stack) {
102
+ endpoints = addEndpoints(endpoints, [{
103
+ path: basePath,
104
+ methods: [],
105
+ middlewares: []
106
+ }]);
107
+ } else {
108
+ endpoints = parseStack(stack, basePath, endpoints);
109
+ }
110
+ return endpoints;
111
+ };
112
+ /**
113
+ * Ensures the path of the new endpoints isn't yet in the array.
114
+ * If the path is already in the array merges the endpoints with the existing
115
+ * one, if not, it adds them to the array.
116
+ *
117
+ * @param {Object[]} currentEndpoints Array of current endpoints
118
+ * @param {Object[]} endpointsToAdd New endpoints to be added to the array
119
+ * @returns {Object[]} Updated endpoints array
120
+ */
121
+ var addEndpoints = function addEndpoints(currentEndpoints, endpointsToAdd) {
122
+ endpointsToAdd.forEach(function (newEndpoint) {
123
+ var existingEndpoint = currentEndpoints.find(function (item) {
124
+ return item.path === newEndpoint.path;
125
+ });
126
+ if (existingEndpoint !== undefined) {
127
+ var newMethods = newEndpoint.methods.filter(function (method) {
128
+ return !existingEndpoint.methods.includes(method);
129
+ });
130
+ existingEndpoint.methods = existingEndpoint.methods.concat(newMethods);
131
+ } else {
132
+ currentEndpoints.push(newEndpoint);
133
+ }
134
+ });
135
+ return currentEndpoints;
136
+ };
137
+ /**
138
+ * @param {Object} stack
139
+ * @param {string} basePath
140
+ * @param {Object[]} endpoints
141
+ * @returns {Object[]}
142
+ */
143
+ var parseStack = function parseStack(stack, basePath, endpoints) {
144
+ stack.forEach(function (stackItem) {
145
+ if (stackItem.route) {
146
+ var newEndpoints = parseExpressRoute(stackItem.route, basePath);
147
+ endpoints = addEndpoints(endpoints, newEndpoints);
148
+ } else if (STACK_ITEM_VALID_NAMES.includes(stackItem.name)) {
149
+ var isExpressPathRegexp = regExpToParseExpressPathRegExp.test(stackItem.regexp);
150
+ var newBasePath = basePath;
151
+ if (isExpressPathRegexp) {
152
+ var parsedPath = parseExpressPath(stackItem.regexp, stackItem.keys);
153
+ newBasePath += "/".concat(parsedPath);
154
+ } else if (!stackItem.path && stackItem.regexp && stackItem.regexp.toString() !== EXPRESS_ROOT_PATH_REGEXP_VALUE) {
155
+ var regExpPath = " RegExp(".concat(stackItem.regexp, ") ");
156
+ newBasePath += "/".concat(regExpPath);
157
+ }
158
+ endpoints = parseEndpoints(stackItem.handle, newBasePath, endpoints);
159
+ }
160
+ });
161
+ return endpoints;
162
+ };
163
+ var getEndpoints = function getEndpoints(app) {
164
+ var endpoints = parseEndpoints(app);
165
+ return endpoints.flatMap(function (route) {
166
+ return route.methods.map(function (method) {
167
+ return {
168
+ method: method,
169
+ path: route.path
170
+ };
171
+ });
172
+ });
173
+ };
174
+ var _default = exports["default"] = getEndpoints;
175
+ //# sourceMappingURL=listEndpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listEndpoints.js","names":["regExpToParseExpressPathRegExp","regExpToReplaceExpressPathRegExpParams","regexpExpressParamRegexp","EXPRESS_ROOT_PATH_REGEXP_VALUE","STACK_ITEM_VALID_NAMES","getRouteMethods","route","methods","Object","keys","filter","method","map","toUpperCase","getRouteMiddlewares","stack","item","handle","name","hasParams","expressPathRegExp","test","parseExpressRoute","basePath","paths","Array","isArray","path","push","apply","_toConsumableArray2","endpoints","completePath","concat","endpoint","middlewares","parseExpressPath","params","expressPathRegExpExec","exec","parsedRegExp","toString","paramIndex","paramName","paramId","replace","parsedPath","parseEndpoints","app","_router","addEndpoints","parseStack","currentEndpoints","endpointsToAdd","forEach","newEndpoint","existingEndpoint","find","undefined","newMethods","includes","stackItem","newEndpoints","isExpressPathRegexp","regexp","newBasePath","regExpPath","getEndpoints","flatMap","_default","exports"],"sources":["../../../src/express/listEndpoints.js"],"sourcesContent":[null],"mappings":"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"}