apitally 0.2.1 → 0.3.0

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 (87) hide show
  1. package/README.md +5 -9
  2. package/lib/cjs/common/client.cjs +16 -99
  3. package/lib/cjs/common/client.cjs.map +1 -1
  4. package/lib/cjs/express/index.cjs +0 -14
  5. package/lib/cjs/express/index.cjs.map +1 -1
  6. package/lib/cjs/express/middleware.cjs +1 -8
  7. package/lib/cjs/express/middleware.cjs.map +1 -1
  8. package/lib/cjs/fastify/index.cjs +0 -14
  9. package/lib/cjs/fastify/index.cjs.map +1 -1
  10. package/lib/cjs/fastify/plugin.cjs +2 -10
  11. package/lib/cjs/fastify/plugin.cjs.map +1 -1
  12. package/lib/cjs/koa/index.cjs +0 -14
  13. package/lib/cjs/koa/index.cjs.map +1 -1
  14. package/lib/cjs/koa/middleware.cjs +1 -8
  15. package/lib/cjs/koa/middleware.cjs.map +1 -1
  16. package/lib/cjs/nestjs/index.cjs +0 -26
  17. package/lib/cjs/nestjs/index.cjs.map +1 -1
  18. package/lib/esm/common/client.js +16 -99
  19. package/lib/esm/common/client.js.map +1 -1
  20. package/lib/esm/express/index.js +1 -4
  21. package/lib/esm/express/index.js.map +1 -1
  22. package/lib/esm/express/middleware.js +1 -8
  23. package/lib/esm/express/middleware.js.map +1 -1
  24. package/lib/esm/fastify/index.js +1 -4
  25. package/lib/esm/fastify/index.js.map +1 -1
  26. package/lib/esm/fastify/plugin.js +2 -10
  27. package/lib/esm/fastify/plugin.js.map +1 -1
  28. package/lib/esm/koa/index.js +1 -4
  29. package/lib/esm/koa/index.js.map +1 -1
  30. package/lib/esm/koa/middleware.js +1 -8
  31. package/lib/esm/koa/middleware.js.map +1 -1
  32. package/lib/esm/nestjs/index.js +1 -4
  33. package/lib/esm/nestjs/index.js.map +1 -1
  34. package/lib/types/common/client.d.ts +1 -9
  35. package/lib/types/common/client.d.ts.map +1 -1
  36. package/lib/types/common/types.d.ts +0 -4
  37. package/lib/types/common/types.d.ts.map +1 -1
  38. package/lib/types/express/index.d.ts +0 -2
  39. package/lib/types/express/index.d.ts.map +1 -1
  40. package/lib/types/express/middleware.d.ts +0 -2
  41. package/lib/types/express/middleware.d.ts.map +1 -1
  42. package/lib/types/fastify/index.d.ts +0 -2
  43. package/lib/types/fastify/index.d.ts.map +1 -1
  44. package/lib/types/fastify/plugin.d.ts +0 -2
  45. package/lib/types/fastify/plugin.d.ts.map +1 -1
  46. package/lib/types/koa/index.d.ts +0 -2
  47. package/lib/types/koa/index.d.ts.map +1 -1
  48. package/lib/types/koa/middleware.d.ts.map +1 -1
  49. package/lib/types/nestjs/index.d.ts +0 -2
  50. package/lib/types/nestjs/index.d.ts.map +1 -1
  51. package/package.json +2 -4
  52. package/lib/cjs/common/index.cjs +0 -13
  53. package/lib/cjs/common/index.cjs.map +0 -1
  54. package/lib/cjs/common/keyRegistry.cjs +0 -162
  55. package/lib/cjs/common/keyRegistry.cjs.map +0 -1
  56. package/lib/cjs/express/auth.cjs +0 -105
  57. package/lib/cjs/express/auth.cjs.map +0 -1
  58. package/lib/cjs/fastify/auth.cjs +0 -105
  59. package/lib/cjs/fastify/auth.cjs.map +0 -1
  60. package/lib/cjs/koa/auth.cjs +0 -113
  61. package/lib/cjs/koa/auth.cjs.map +0 -1
  62. package/lib/cjs/nestjs/auth.cjs +0 -132
  63. package/lib/cjs/nestjs/auth.cjs.map +0 -1
  64. package/lib/esm/common/index.js +0 -1
  65. package/lib/esm/common/index.js.map +0 -1
  66. package/lib/esm/common/keyRegistry.js +0 -155
  67. package/lib/esm/common/keyRegistry.js.map +0 -1
  68. package/lib/esm/express/auth.js +0 -98
  69. package/lib/esm/express/auth.js.map +0 -1
  70. package/lib/esm/fastify/auth.js +0 -98
  71. package/lib/esm/fastify/auth.js.map +0 -1
  72. package/lib/esm/koa/auth.js +0 -106
  73. package/lib/esm/koa/auth.js.map +0 -1
  74. package/lib/esm/nestjs/auth.js +0 -126
  75. package/lib/esm/nestjs/auth.js.map +0 -1
  76. package/lib/types/common/index.d.ts +0 -2
  77. package/lib/types/common/index.d.ts.map +0 -1
  78. package/lib/types/common/keyRegistry.d.ts +0 -29
  79. package/lib/types/common/keyRegistry.d.ts.map +0 -1
  80. package/lib/types/express/auth.d.ts +0 -6
  81. package/lib/types/express/auth.d.ts.map +0 -1
  82. package/lib/types/fastify/auth.d.ts +0 -6
  83. package/lib/types/fastify/auth.d.ts.map +0 -1
  84. package/lib/types/koa/auth.d.ts +0 -6
  85. package/lib/types/koa/auth.d.ts.map +0 -1
  86. package/lib/types/nestjs/auth.d.ts +0 -12
  87. package/lib/types/nestjs/auth.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { useApitally } from "./middleware.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import type { Express } from "express";
2
- import { KeyInfo } from "../common/keyRegistry.js";
3
2
  import { ApitallyConfig } from "../common/types.js";
4
3
  declare module "express" {
5
4
  interface Request {
6
5
  consumerIdentifier?: string;
7
- keyInfo?: KeyInfo;
8
6
  }
9
7
  }
10
8
  export declare const useApitally: (app: Express, config: ApitallyConfig) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/express/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAIxE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,cAAc,EAA4B,MAAM,oBAAoB,CAAC;AAG9E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,OAAO;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;CACF;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,UAAU,cAAc,SAO/D,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/express/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAKxE,OAAO,EAAE,cAAc,EAA4B,MAAM,oBAAoB,CAAC;AAG9E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,OAAO;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,UAAU,cAAc,SAO/D,CAAC"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { default as apitallyPlugin } from "./plugin.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { FastifyPluginAsync } from "fastify";
2
- import { KeyInfo } from "../common/keyRegistry.js";
3
2
  import { ApitallyConfig } from "../common/types.js";
4
3
  declare module "fastify" {
5
4
  interface FastifyReply {
@@ -7,7 +6,6 @@ declare module "fastify" {
7
6
  }
8
7
  interface FastifyRequest {
9
8
  consumerIdentifier?: string;
10
- keyInfo?: KeyInfo;
11
9
  }
12
10
  }
13
11
  declare const _default: FastifyPluginAsync<ApitallyConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;KACd;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;CACF;;AA4ID,wBAEG"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAKlE,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;KACd;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;;AAqID,wBAEG"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { useApitally } from "./middleware.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/koa/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/koa/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/koa/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE,eAAO,MAAM,WAAW,QAAS,GAAG,UAAU,cAAc,SAO3D,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/koa/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE,eAAO,MAAM,WAAW,QAAS,GAAG,UAAU,cAAc,SAO3D,CAAC"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
1
  export { useApitally } from "../express/index.js";
3
- export { ApitallyApiKeyGuard, GetKeyInfo, Scopes } from "./auth.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nestjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nestjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,13 @@
1
1
  {
2
2
  "name": "apitally",
3
- "version": "0.2.1",
4
- "description": "Simple API monitoring and API key management for REST APIs built with Express, Fastify, Koa, and NestJS.",
3
+ "version": "0.3.0",
4
+ "description": "API monitoring for REST APIs built with Express, Fastify, Koa, and NestJS.",
5
5
  "author": "Apitally <hello@apitally.io>",
6
6
  "license": "MIT",
7
7
  "keywords": [
8
8
  "analytics",
9
9
  "api",
10
10
  "apitally",
11
- "auth",
12
- "authentication",
13
11
  "express",
14
12
  "fastify",
15
13
  "koa",
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "KeyCacheBase", {
7
- enumerable: true,
8
- get: function get() {
9
- return _keyRegistry.KeyCacheBase;
10
- }
11
- });
12
- var _keyRegistry = require("./keyRegistry.cjs");
13
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","names":["_keyRegistry","require"],"sources":["../../../src/common/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.KeyRegistry = exports.KeyInfo = exports.KeyCacheBase = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _crypto = require("crypto");
15
- var KeyInfo = exports.KeyInfo = /*#__PURE__*/function () {
16
- function KeyInfo(keyId, apiKeyId) {
17
- var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
18
- var scopes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
19
- var expiresInSeconds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
20
- (0, _classCallCheck2["default"])(this, KeyInfo);
21
- (0, _defineProperty2["default"])(this, "keyId", void 0);
22
- (0, _defineProperty2["default"])(this, "apiKeyId", void 0);
23
- (0, _defineProperty2["default"])(this, "name", void 0);
24
- (0, _defineProperty2["default"])(this, "scopes", void 0);
25
- (0, _defineProperty2["default"])(this, "expiresAt", void 0);
26
- this.keyId = keyId;
27
- this.apiKeyId = apiKeyId;
28
- this.name = name;
29
- this.scopes = scopes;
30
- this.expiresAt = expiresInSeconds !== null && expiresInSeconds !== undefined ? new Date(Date.now() + expiresInSeconds * 1000) : null;
31
- }
32
- (0, _createClass2["default"])(KeyInfo, [{
33
- key: "isExpired",
34
- get: function get() {
35
- return this.expiresAt !== null && this.expiresAt < new Date();
36
- }
37
- }, {
38
- key: "hasScopes",
39
- value: function hasScopes(scopes) {
40
- var _this = this;
41
- if (typeof scopes === "string") {
42
- scopes = [scopes];
43
- }
44
- return scopes.every(function (scope) {
45
- return _this.scopes.includes(scope);
46
- });
47
- }
48
- }]);
49
- return KeyInfo;
50
- }();
51
- var KeyRegistry = exports.KeyRegistry = /*#__PURE__*/function () {
52
- function KeyRegistry() {
53
- (0, _classCallCheck2["default"])(this, KeyRegistry);
54
- (0, _defineProperty2["default"])(this, "salt", void 0);
55
- (0, _defineProperty2["default"])(this, "keys", void 0);
56
- (0, _defineProperty2["default"])(this, "usageCounts", void 0);
57
- this.salt = null;
58
- this.keys = new Map();
59
- this.usageCounts = new Map();
60
- }
61
- (0, _createClass2["default"])(KeyRegistry, [{
62
- key: "get",
63
- value: function () {
64
- var _get = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(apiKey) {
65
- var hash, key;
66
- return _regenerator["default"].wrap(function _callee$(_context) {
67
- while (1) switch (_context.prev = _context.next) {
68
- case 0:
69
- _context.next = 2;
70
- return this.hashApiKey(apiKey.trim());
71
- case 2:
72
- hash = _context.sent;
73
- key = this.keys.get(hash);
74
- if (!(!key || key.isExpired)) {
75
- _context.next = 6;
76
- break;
77
- }
78
- return _context.abrupt("return", null);
79
- case 6:
80
- this.usageCounts.set(key.apiKeyId, (this.usageCounts.get(key.apiKeyId) || 0) + 1);
81
- return _context.abrupt("return", key);
82
- case 8:
83
- case "end":
84
- return _context.stop();
85
- }
86
- }, _callee, this);
87
- }));
88
- function get(_x) {
89
- return _get.apply(this, arguments);
90
- }
91
- return get;
92
- }()
93
- }, {
94
- key: "hashApiKey",
95
- value: function () {
96
- var _hashApiKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(apiKey) {
97
- var _this2 = this;
98
- return _regenerator["default"].wrap(function _callee2$(_context2) {
99
- while (1) switch (_context2.prev = _context2.next) {
100
- case 0:
101
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
102
- if (!_this2.salt) {
103
- throw new Error("Apitally API keys not initialized");
104
- }
105
- (0, _crypto.scrypt)(apiKey, Buffer.from(_this2.salt, "hex"), 32, {
106
- N: 256,
107
- r: 4,
108
- p: 1
109
- }, function (err, derivedKey) {
110
- if (err) reject(err);
111
- resolve(derivedKey.toString("hex"));
112
- });
113
- }));
114
- case 1:
115
- case "end":
116
- return _context2.stop();
117
- }
118
- }, _callee2);
119
- }));
120
- function hashApiKey(_x2) {
121
- return _hashApiKey.apply(this, arguments);
122
- }
123
- return hashApiKey;
124
- }()
125
- }, {
126
- key: "update",
127
- value: function update(keys) {
128
- this.keys.clear();
129
- for (var _i = 0, _Object$entries = Object.entries(keys); _i < _Object$entries.length; _i++) {
130
- var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
131
- hash = _Object$entries$_i[0],
132
- data = _Object$entries$_i[1];
133
- this.keys.set(hash, new KeyInfo(data["key_id"], data["api_key_id"], data["name"], data["scopes"], data["expires_in_seconds"]));
134
- }
135
- }
136
- }, {
137
- key: "getAndResetUsageCounts",
138
- value: function getAndResetUsageCounts() {
139
- var data = Object.fromEntries(this.usageCounts);
140
- this.usageCounts.clear();
141
- return data;
142
- }
143
- }]);
144
- return KeyRegistry;
145
- }();
146
- var KeyCacheBase = exports.KeyCacheBase = /*#__PURE__*/function () {
147
- function KeyCacheBase(clientId, env) {
148
- (0, _classCallCheck2["default"])(this, KeyCacheBase);
149
- (0, _defineProperty2["default"])(this, "clientId", void 0);
150
- (0, _defineProperty2["default"])(this, "env", void 0);
151
- this.clientId = clientId;
152
- this.env = env;
153
- }
154
- (0, _createClass2["default"])(KeyCacheBase, [{
155
- key: "cacheKey",
156
- get: function get() {
157
- return "apitally:keys:".concat(this.clientId, ":").concat(this.env);
158
- }
159
- }]);
160
- return KeyCacheBase;
161
- }();
162
- //# sourceMappingURL=keyRegistry.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyRegistry.cjs","names":["_crypto","require","KeyInfo","exports","keyId","apiKeyId","name","arguments","length","undefined","scopes","expiresInSeconds","_classCallCheck2","_defineProperty2","expiresAt","Date","now","_createClass2","key","get","value","hasScopes","_this","every","scope","includes","KeyRegistry","salt","keys","Map","usageCounts","_get","_asyncToGenerator2","_regenerator","mark","_callee","apiKey","hash","wrap","_callee$","_context","prev","next","hashApiKey","trim","sent","isExpired","abrupt","set","stop","_x","apply","_hashApiKey","_callee2","_this2","_callee2$","_context2","Promise","resolve","reject","Error","scrypt","Buffer","from","N","r","p","err","derivedKey","toString","_x2","update","clear","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray2","data","getAndResetUsageCounts","fromEntries","KeyCacheBase","clientId","env","concat"],"sources":["../../../src/common/keyRegistry.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,105 +0,0 @@
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.cjs");
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.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.cjs","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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"}
@@ -1,105 +0,0 @@
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.cjs");
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(request, reply, done) {
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 (request.headers.authorization) {
26
- _context.next = 4;
27
- break;
28
- }
29
- reply.code(401).header("WWW-Authenticate", "ApiKey").send({
30
- error: "Missing authorization header"
31
- });
32
- return _context.abrupt("return");
33
- case 4:
34
- authorizationParts = request.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
- reply.code(401).header("WWW-Authenticate", "ApiKey").send({
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 = request.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
- reply.code(403).send({
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
- reply.code(403).send({
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
- reply.code(403).send({
88
- error: "Permission denied"
89
- });
90
- return _context.abrupt("return");
91
- case 27:
92
- request.keyInfo = keyInfo;
93
- done();
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.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.cjs","names":["_client","require","requireApiKey","exports","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","request","reply","done","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","next","headers","authorization","code","header","send","error","abrupt","split","toLowerCase","Array","isArray","ApitallyClient","getInstance","keyRegistry","get","sent","hasScopes","stop","_x","_x2","_x3","apply"],"sources":["../../../src/fastify/auth.ts"],"sourcesContent":[null],"mappings":"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"}