@abyss-project/monitor 1.0.82 → 1.2.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 (40) hide show
  1. package/.eslintrc.js +33 -33
  2. package/README.md +33 -33
  3. package/dist/__tests__/rate-limit.decorator.test.js +0 -59
  4. package/dist/__tests__/rate-limit.decorator.test.js.map +1 -1
  5. package/dist/__tests__/rate-limit.middleware.test.js +43 -64
  6. package/dist/__tests__/rate-limit.middleware.test.js.map +1 -1
  7. package/dist/frameworks/express/index.d.ts +2 -0
  8. package/dist/frameworks/express/index.js +12 -6
  9. package/dist/frameworks/express/index.js.map +1 -1
  10. package/dist/index.d.ts +0 -1
  11. package/dist/index.js +1 -6
  12. package/dist/index.js.map +1 -1
  13. package/dist/middlewares/rate-limit/index.d.ts +2 -3
  14. package/dist/middlewares/rate-limit/index.js +2 -4
  15. package/dist/middlewares/rate-limit/index.js.map +1 -1
  16. package/dist/middlewares/rate-limit/rate-limit.decorator.d.ts +0 -6
  17. package/dist/middlewares/rate-limit/rate-limit.decorator.js +1 -44
  18. package/dist/middlewares/rate-limit/rate-limit.decorator.js.map +1 -1
  19. package/dist/middlewares/rate-limit/rate-limit.lua.js +72 -72
  20. package/dist/middlewares/rate-limit/rate-limit.middleware.d.ts +8 -2
  21. package/dist/middlewares/rate-limit/rate-limit.middleware.js +5 -9
  22. package/dist/middlewares/rate-limit/rate-limit.middleware.js.map +1 -1
  23. package/dist/types/interface/api/index.d.ts +1 -0
  24. package/dist/types/interface/api/index.js +1 -0
  25. package/dist/types/interface/api/index.js.map +1 -1
  26. package/dist/types/interface/api/requests/application-log.admin.request.d.ts +2 -2
  27. package/dist/types/interface/api/requests/application-log.request.d.ts +2 -2
  28. package/dist/types/interface/api/responses/application-log.admin.response.d.ts +2 -2
  29. package/dist/types/interface/api/responses/application-log.response.d.ts +2 -2
  30. package/dist/types/interface/api/type-message/keyset-paginate.d.ts +10 -0
  31. package/dist/types/interface/api/type-message/keyset-paginate.js +3 -0
  32. package/dist/types/interface/api/type-message/keyset-paginate.js.map +1 -0
  33. package/dist/types/interface/rate-limit.d.ts +0 -4
  34. package/dist/types/interface/rate-limit.js.map +1 -1
  35. package/dist/utils/index.d.ts +1 -0
  36. package/dist/utils/index.js +1 -0
  37. package/dist/utils/index.js.map +1 -1
  38. package/jest.config.ts +14 -14
  39. package/package.json +1 -1
  40. package/tsconfig.json +35 -35
package/.eslintrc.js CHANGED
@@ -1,34 +1,34 @@
1
- module.exports = {
2
- parser: '@typescript-eslint/parser',
3
- parserOptions: {
4
- project: 'tsconfig.json',
5
- tsconfigRootDir: __dirname,
6
- sourceType: 'module',
7
- },
8
- plugins: ['@typescript-eslint/eslint-plugin', 'filenames-simple'],
9
- extends: [
10
- 'plugin:@typescript-eslint/recommended',
11
- 'plugin:prettier/recommended',
12
- ],
13
- root: true,
14
- env: {
15
- node: true,
16
- jest: true,
17
- },
18
- ignorePatterns: ['.eslintrc.js'],
19
- rules: {
20
- '@typescript-eslint/interface-name-prefix': 'off',
21
- '@typescript-eslint/explicit-function-return-type': 'off',
22
- '@typescript-eslint/explicit-module-boundary-types': 'off',
23
- '@typescript-eslint/no-explicit-any': 'off',
24
- "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
25
- 'filenames-simple/naming-convention': [
26
- 'error',
27
- {
28
- // Use custom regexp to match migration file
29
- rule: '^([a-z0-9]*)(-[a-z0-9]+)*$',
30
- },
31
- ],
32
- },
33
- overrides: [],
1
+ module.exports = {
2
+ parser: '@typescript-eslint/parser',
3
+ parserOptions: {
4
+ project: 'tsconfig.json',
5
+ tsconfigRootDir: __dirname,
6
+ sourceType: 'module',
7
+ },
8
+ plugins: ['@typescript-eslint/eslint-plugin', 'filenames-simple'],
9
+ extends: [
10
+ 'plugin:@typescript-eslint/recommended',
11
+ 'plugin:prettier/recommended',
12
+ ],
13
+ root: true,
14
+ env: {
15
+ node: true,
16
+ jest: true,
17
+ },
18
+ ignorePatterns: ['.eslintrc.js'],
19
+ rules: {
20
+ '@typescript-eslint/interface-name-prefix': 'off',
21
+ '@typescript-eslint/explicit-function-return-type': 'off',
22
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
23
+ '@typescript-eslint/no-explicit-any': 'off',
24
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
25
+ 'filenames-simple/naming-convention': [
26
+ 'error',
27
+ {
28
+ // Use custom regexp to match migration file
29
+ rule: '^([a-z0-9]*)(-[a-z0-9]+)*$',
30
+ },
31
+ ],
32
+ },
33
+ overrides: [],
34
34
  };
package/README.md CHANGED
@@ -1,33 +1,33 @@
1
- <img src="https://docs.abyss-project.fr/img/services/AbyssMonitor.svg" align="right" width="96" alt="" />
2
-
3
- # Abyss Monitor
4
-
5
- `@abyss-project/monitor`
6
-
7
- Supervision applicative : logs, événements, alertes, Sentinels et Cron Tasks.
8
-
9
- _Application monitoring: logs, events, alerts, Sentinels and Cron Tasks._
10
-
11
- ## Installation
12
-
13
- ```bash
14
- npm install @abyss-project/monitor
15
- # or
16
- pnpm add @abyss-project/monitor
17
- ```
18
-
19
- ## Liens
20
-
21
- - **Documentation** : [https://docs.abyss-project.fr/monitor](https://docs.abyss-project.fr/monitor)
22
- - **NPM** : [@abyss-project/monitor](https://www.npmjs.com/package/@abyss-project/monitor)
23
- - **Swagger** : [https://monitor-api.abyss-project.fr/swagger](https://monitor-api.abyss-project.fr/swagger)
24
- - **Application Abyss** : [app.abyss-project.fr](https://app.abyss-project.fr)
25
- - **Statut des services** : [status.abyss-project.fr](https://status.abyss-project.fr)
26
-
27
- ## Usage
28
-
29
- Voir la [documentation produit](https://docs.abyss-project.fr/monitor) pour les guides d'utilisation, la configuration du Core, les exemples d'appel et la référence des permissions.
30
-
31
- ## Support
32
-
33
- Pour toute demande, ouvrir un ticket depuis [l'application Abyss](https://app.abyss-project.fr/dashboard/my-account/ticket/create).
1
+ <img src="https://docs.abyss-project.fr/img/services/AbyssMonitor.svg" align="right" width="96" alt="" />
2
+
3
+ # Abyss Monitor
4
+
5
+ `@abyss-project/monitor`
6
+
7
+ Supervision applicative : logs, événements, alertes, Sentinels et Cron Tasks.
8
+
9
+ _Application monitoring: logs, events, alerts, Sentinels and Cron Tasks._
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @abyss-project/monitor
15
+ # or
16
+ pnpm add @abyss-project/monitor
17
+ ```
18
+
19
+ ## Liens
20
+
21
+ - **Documentation** : [https://docs.abyss-project.fr/monitor](https://docs.abyss-project.fr/monitor)
22
+ - **NPM** : [@abyss-project/monitor](https://www.npmjs.com/package/@abyss-project/monitor)
23
+ - **Swagger** : [https://monitor-api.abyss-project.fr/swagger](https://monitor-api.abyss-project.fr/swagger)
24
+ - **Application Abyss** : [app.abyss-project.fr](https://app.abyss-project.fr)
25
+ - **Statut des services** : [status.abyss-project.fr](https://status.abyss-project.fr)
26
+
27
+ ## Usage
28
+
29
+ Voir la [documentation produit](https://docs.abyss-project.fr/monitor) pour les guides d'utilisation, la configuration du Core, les exemples d'appel et la référence des permissions.
30
+
31
+ ## Support
32
+
33
+ Pour toute demande, ouvrir un ticket depuis [l'application Abyss](https://app.abyss-project.fr/dashboard/my-account/ticket/create).
@@ -11,7 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  require("reflect-metadata");
13
13
  const rate_limit_decorator_1 = require("../middlewares/rate-limit/rate-limit.decorator");
14
- const express_1 = require("../frameworks/express");
15
14
  describe('@RateLimit decorator', () => {
16
15
  it('stores options as metadata on the method', () => {
17
16
  class Ctrl {
@@ -45,62 +44,4 @@ describe('@RateLimit decorator', () => {
45
44
  expect((0, rate_limit_decorator_1.readRateLimitOptions)(Ctrl.prototype, 'heavy')).toEqual({ cost: 10 });
46
45
  });
47
46
  });
48
- describe('buildRateLimitRouteRegistry', () => {
49
- it('emits one entry per @RateLimit-decorated route on a controller', () => {
50
- let FakeCtrl = class FakeCtrl {
51
- ping() { }
52
- heavy() { }
53
- free() { }
54
- };
55
- __decorate([
56
- (0, express_1.Get)('/ping'),
57
- (0, rate_limit_decorator_1.RateLimit)({ scope: 'ip', max: 1, window: '1m' }),
58
- __metadata("design:type", Function),
59
- __metadata("design:paramtypes", []),
60
- __metadata("design:returntype", void 0)
61
- ], FakeCtrl.prototype, "ping", null);
62
- __decorate([
63
- (0, express_1.Post)('/heavy'),
64
- (0, rate_limit_decorator_1.RateLimit)({ cost: 5 }),
65
- __metadata("design:type", Function),
66
- __metadata("design:paramtypes", []),
67
- __metadata("design:returntype", void 0)
68
- ], FakeCtrl.prototype, "heavy", null);
69
- __decorate([
70
- (0, express_1.Get)('/free'),
71
- __metadata("design:type", Function),
72
- __metadata("design:paramtypes", []),
73
- __metadata("design:returntype", void 0)
74
- ], FakeCtrl.prototype, "free", null);
75
- FakeCtrl = __decorate([
76
- (0, express_1.Controller)({ prefixPath: '/fake' })
77
- ], FakeCtrl);
78
- const entries = (0, rate_limit_decorator_1.buildRateLimitRouteRegistry)([FakeCtrl], '/api');
79
- expect(entries).toHaveLength(2);
80
- expect(entries).toContainEqual({
81
- method: 'GET',
82
- path: '/api/fake/ping',
83
- options: { scope: 'ip', max: 1, window: '1m' },
84
- });
85
- expect(entries).toContainEqual({
86
- method: 'POST',
87
- path: '/api/fake/heavy',
88
- options: { cost: 5 },
89
- });
90
- });
91
- it('skips classes that are not annotated with @Controller', () => {
92
- class Plain {
93
- ping() { }
94
- }
95
- __decorate([
96
- (0, express_1.Get)('/ping'),
97
- (0, rate_limit_decorator_1.RateLimit)({ max: 1, window: '1m' }),
98
- __metadata("design:type", Function),
99
- __metadata("design:paramtypes", []),
100
- __metadata("design:returntype", void 0)
101
- ], Plain.prototype, "ping", null);
102
- const entries = (0, rate_limit_decorator_1.buildRateLimitRouteRegistry)([Plain], '/api');
103
- expect(entries).toHaveLength(0);
104
- });
105
- });
106
47
  //# sourceMappingURL=rate-limit.decorator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.decorator.test.js","sourceRoot":"","sources":["../../src/__tests__/rate-limit.decorator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limit.decorator.test.js","sourceRoot":"","sources":["../../src/__tests__/rate-limit.decorator.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAA0B;AAC1B,yFAIwD;AAExD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,IAAI;YAER,KAAK,KAAI,CAAC;SACX;QADC;YADC,IAAA,gCAAS,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;;;yCACvC;QAGZ,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,2CAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,IAAI;YACR,IAAI,KAAI,CAAC;SACV;QACD,MAAM,CAAC,IAAA,2CAAoB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,IAAI;YAER,KAAK,KAAI,CAAC;SACX;QADC;YADC,IAAA,gCAAS,EAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;;;;yCACd;QAEZ,MAAM,CAAC,IAAA,2CAAoB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -22,14 +22,11 @@ function buildReqRes(opts = {}) {
22
22
  const req = {
23
23
  ip: opts.ip ?? '1.1.1.1',
24
24
  method: 'GET',
25
- path: '/x',
25
+ path: opts.path ?? '/x',
26
26
  headers,
27
27
  header(name) {
28
28
  return headers[name.toLowerCase()];
29
29
  },
30
- route: opts.route
31
- ? { stack: [{ name: opts.route.methodName, handle: opts.route.handler }] }
32
- : undefined,
33
30
  };
34
31
  const resHeaders = {};
35
32
  let statusCode = 200;
@@ -48,11 +45,16 @@ function buildReqRes(opts = {}) {
48
45
  return res;
49
46
  },
50
47
  };
51
- res.__captured = () => ({ headers: resHeaders, status: statusCode, body: jsonBody });
48
+ res.__captured = () => ({
49
+ headers: resHeaders,
50
+ status: statusCode,
51
+ body: jsonBody,
52
+ });
52
53
  const next = jest.fn();
53
54
  return { req, res, next };
54
55
  }
55
- describe('rate limit middleware', () => {
56
+ const captured = (res) => res.__captured();
57
+ describe('createRouteRateLimiter (per-route, scope- and param-aware)', () => {
56
58
  let redis;
57
59
  let store;
58
60
  beforeEach(async () => {
@@ -63,27 +65,26 @@ describe('rate limit middleware', () => {
63
65
  afterEach(async () => {
64
66
  await redis.quit();
65
67
  });
66
- it('bypasses when admin', async () => {
67
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({ redis, config: baseConfig }, store);
68
+ it('bypasses when the caller is admin (Defect A: scope resolves post-auth)', async () => {
69
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: baseConfig });
68
70
  const { req, res, next } = buildReqRes({ locals: { isAdmin: true } });
69
71
  await mw(req, res, next);
70
72
  expect(next).toHaveBeenCalled();
71
- expect(res.__captured().headers['RateLimit-Limit']).toBeUndefined();
73
+ expect(captured(res).headers['RateLimit-Limit']).toBeUndefined();
72
74
  });
73
- it('sets RateLimit-* headers on success and calls next', async () => {
74
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({ redis, config: baseConfig }, store);
75
+ it('resolves the user bucket for an authenticated request (Defect A fixed)', async () => {
76
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: baseConfig });
75
77
  const { req, res, next } = buildReqRes({
76
78
  locals: { currentUser: { id: 'u1' }, organization: { id: 'o1' } },
77
79
  });
78
80
  await mw(req, res, next);
79
- const captured = res.__captured();
80
81
  expect(next).toHaveBeenCalled();
81
- expect(captured.headers['RateLimit-Limit']).toBe(5);
82
- expect(captured.headers['RateLimit-Remaining']).toBe(4);
83
- expect(captured.headers['RateLimit-Policy']).toBe('5;w=60');
82
+ expect(captured(res).headers['RateLimit-Limit']).toBe(5);
83
+ expect(captured(res).headers['RateLimit-Remaining']).toBe(4);
84
+ expect(captured(res).headers['RateLimit-Policy']).toBe('5;w=60');
84
85
  });
85
- it('blocks with 429 when user bucket exhausted', async () => {
86
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({ redis, config: baseConfig }, store);
86
+ it('blocks with 429 when the user bucket is exhausted', async () => {
87
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: baseConfig });
87
88
  for (let i = 0; i < 5; i++) {
88
89
  const ctx = buildReqRes({
89
90
  locals: { currentUser: { id: 'u1' }, organization: { id: 'o1' } },
@@ -94,81 +95,59 @@ describe('rate limit middleware', () => {
94
95
  locals: { currentUser: { id: 'u1' }, organization: { id: 'o1' } },
95
96
  });
96
97
  await mw(blocked.req, blocked.res, blocked.next);
97
- const captured = blocked.res.__captured();
98
- expect(captured.status).toBe(429);
98
+ expect(captured(blocked.res).status).toBe(429);
99
99
  expect(blocked.next).not.toHaveBeenCalled();
100
- expect(captured.body).toMatchObject({
100
+ expect(captured(blocked.res).body).toMatchObject({
101
101
  error: { code: 'RATE_LIMIT_EXCEEDED', scope: 'user' },
102
102
  });
103
- expect(captured.headers['Retry-After']).toBeGreaterThan(0);
103
+ expect(captured(blocked.res).headers['Retry-After']).toBeGreaterThan(0);
104
104
  });
105
- it('uses decorator override from routeRegistry when route matches', async () => {
106
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({
107
- redis,
108
- config: baseConfig,
109
- routeRegistry: [
110
- { method: 'POST', path: '/auth/login', options: { scope: 'ip', max: 1, window: '1m' } },
111
- ],
112
- }, store);
113
- const ctx1 = buildReqRes({ ip: '5.5.5.5' });
114
- ctx1.req.method = 'POST';
115
- ctx1.req.path = '/auth/login';
105
+ it('applies the bound @RateLimit override on a PARAMETERIZED path (Defect B fixed)', async () => {
106
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)({ scope: 'ip', max: 1, window: '1m' }, { store, config: baseConfig });
107
+ const ctx1 = buildReqRes({ ip: '5.5.5.5', path: '/b/abc123def' });
116
108
  await mw(ctx1.req, ctx1.res, ctx1.next);
117
109
  expect(ctx1.next).toHaveBeenCalled();
118
- expect(ctx1.res.__captured().headers['RateLimit-Limit']).toBe(1);
119
- const ctx2 = buildReqRes({ ip: '5.5.5.5' });
120
- ctx2.req.method = 'POST';
121
- ctx2.req.path = '/auth/login';
110
+ expect(captured(ctx1.res).headers['RateLimit-Limit']).toBe(1);
111
+ const ctx2 = buildReqRes({ ip: '5.5.5.5', path: '/b/abc123def' });
122
112
  await mw(ctx2.req, ctx2.res, ctx2.next);
123
- expect(ctx2.res.__captured().status).toBe(429);
113
+ expect(captured(ctx2.res).status).toBe(429);
124
114
  });
125
- it('falls back to default config when route is not in registry', async () => {
126
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({
127
- redis,
128
- config: baseConfig,
129
- routeRegistry: [
130
- { method: 'POST', path: '/auth/login', options: { scope: 'ip', max: 1, window: '1m' } },
131
- ],
132
- }, store);
115
+ it('falls back to the scope default when the route has no override', async () => {
116
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: baseConfig });
133
117
  const { req, res, next } = buildReqRes({ locals: { currentUser: { id: 'u-fallback' } } });
134
- req.path = '/something-else';
135
- req.method = 'GET';
136
118
  await mw(req, res, next);
137
119
  expect(next).toHaveBeenCalled();
138
- expect(res.__captured().headers['RateLimit-Limit']).toBe(5);
120
+ expect(captured(res).headers['RateLimit-Limit']).toBe(5);
139
121
  });
140
- it('@RateLimit scope:ip forces ip bucket even on authenticated requests', async () => {
141
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({
142
- redis,
143
- config: baseConfig,
144
- routeRegistry: [
145
- { method: 'POST', path: '/auth/login', options: { scope: 'ip', max: 1, window: '1m' } },
146
- ],
147
- }, store);
122
+ it('@RateLimit scope:ip forces the ip bucket even for authenticated callers', async () => {
123
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)({ scope: 'ip', max: 1, window: '1m' }, { store, config: baseConfig });
148
124
  const ctx1 = buildReqRes({
149
125
  ip: '7.7.7.7',
150
126
  locals: { currentUser: { id: 'u-jwt' }, organization: { id: 'o-jwt' } },
151
127
  });
152
- ctx1.req.method = 'POST';
153
- ctx1.req.path = '/auth/login';
154
128
  await mw(ctx1.req, ctx1.res, ctx1.next);
155
129
  expect(ctx1.next).toHaveBeenCalled();
156
- expect(ctx1.res.__captured().headers['RateLimit-Limit']).toBe(1);
130
+ expect(captured(ctx1.res).headers['RateLimit-Limit']).toBe(1);
157
131
  const ctx2 = buildReqRes({
158
132
  ip: '7.7.7.7',
159
133
  locals: { currentUser: { id: 'u-jwt' }, organization: { id: 'o-jwt' } },
160
134
  });
161
- ctx2.req.method = 'POST';
162
- ctx2.req.path = '/auth/login';
163
135
  await mw(ctx2.req, ctx2.res, ctx2.next);
164
- expect(ctx2.res.__captured().status).toBe(429);
136
+ expect(captured(ctx2.res).status).toBe(429);
137
+ });
138
+ it('anonymous request resolves the ip bucket', async () => {
139
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: baseConfig });
140
+ const { req, res, next } = buildReqRes({ ip: '9.9.9.9' });
141
+ await mw(req, res, next);
142
+ expect(next).toHaveBeenCalled();
143
+ expect(captured(res).headers['RateLimit-Limit']).toBe(2);
165
144
  });
166
145
  it('returns next without enforcement when config.enabled is false', async () => {
167
- const mw = (0, rate_limit_middleware_1.createRateLimitMiddleware)({ redis, config: { ...baseConfig, enabled: false } }, store);
146
+ const mw = (0, rate_limit_middleware_1.createRouteRateLimiter)(undefined, { store, config: { ...baseConfig, enabled: false } });
168
147
  const { req, res, next } = buildReqRes({ locals: { currentUser: { id: 'u1' } } });
169
148
  await mw(req, res, next);
170
149
  expect(next).toHaveBeenCalled();
171
- expect(res.__captured().headers['RateLimit-Limit']).toBeUndefined();
150
+ expect(captured(res).headers['RateLimit-Limit']).toBeUndefined();
172
151
  });
173
152
  });
174
153
  //# sourceMappingURL=rate-limit.middleware.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.middleware.test.js","sourceRoot":"","sources":["../../src/__tests__/rate-limit.middleware.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limit.middleware.test.js","sourceRoot":"","sources":["../../src/__tests__/rate-limit.middleware.test.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@ export * from './decorators';
2
2
  export * from './metadata';
3
3
  import 'reflect-metadata';
4
4
  import express, { Router } from 'express-serve-static-core';
5
+ import type { RouteRateLimiterContext } from '../../middlewares/rate-limit';
5
6
  type Options = {
6
7
  prefix: string;
7
8
  middlewares: any[];
8
9
  controllers: any[];
9
10
  router: (option: any) => Router;
10
11
  disableTrustProxy?: boolean;
12
+ rateLimit?: RouteRateLimiterContext;
11
13
  };
12
14
  export declare const controllerLoader: (app: express.Application, options: Options) => Promise<{
13
15
  swagger: {
@@ -20,10 +20,12 @@ __exportStar(require("./metadata"), exports);
20
20
  const metadata_1 = require("./metadata");
21
21
  require("reflect-metadata");
22
22
  const types_1 = require("../../types");
23
+ const rate_limit_1 = require("../../middlewares/rate-limit");
23
24
  const controllerLoader = async (app, options) => {
24
25
  try {
25
26
  if (options.disableTrustProxy !== true) {
26
- app.set('trust proxy', true);
27
+ const trustProxyHops = Number(process.env.TRUST_PROXY_HOPS ?? 2);
28
+ app.set('trust proxy', Number.isFinite(trustProxyHops) ? trustProxyHops : 2);
27
29
  }
28
30
  const middlewares = options.middlewares.map((middleware) => new middleware());
29
31
  const controllers = options.controllers;
@@ -104,32 +106,36 @@ const controllerLoader = async (app, options) => {
104
106
  }
105
107
  return middleware;
106
108
  });
109
+ const rlOpts = (0, rate_limit_1.readRateLimitOptions)(instance, method);
110
+ const rateLimitMw = options.rateLimit
111
+ ? [(0, rate_limit_1.createRouteRateLimiter)(rlOpts, options.rateLimit)]
112
+ : [];
107
113
  const routerToUse = routeOptions.shouldSkipController ? mainRouter : router;
108
114
  switch (apiMethod) {
109
115
  case types_1.APIMethod.DELETE:
110
116
  routerToUse.delete(path, ...(routeOptions.shouldSkipController
111
117
  ? []
112
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
118
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), ...rateLimitMw, instance[method]);
113
119
  break;
114
120
  case types_1.APIMethod.GET:
115
121
  routerToUse.get(path, ...(routeOptions.shouldSkipController
116
122
  ? []
117
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
123
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), ...rateLimitMw, instance[method]);
118
124
  break;
119
125
  case types_1.APIMethod.POST:
120
126
  routerToUse.post(path, ...(routeOptions.shouldSkipController
121
127
  ? []
122
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
128
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), ...rateLimitMw, instance[method]);
123
129
  break;
124
130
  case types_1.APIMethod.PUT:
125
131
  routerToUse.put(path, ...(routeOptions.shouldSkipController
126
132
  ? []
127
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
133
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), ...rateLimitMw, instance[method]);
128
134
  break;
129
135
  case types_1.APIMethod.PATCH:
130
136
  routerToUse.patch(path, ...(routeOptions.shouldSkipController
131
137
  ? []
132
- : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), instance[method]);
138
+ : middlewaresToUseOnController.map((middleware) => middleware.run)), setLocalsMiddleware(controller, options, fullPath, null, undefined, method), ...middlewaresToUseOnRoute.map((middleware) => middleware.run), ...rateLimitMw, instance[method]);
133
139
  break;
134
140
  default:
135
141
  console.error(`Method ${apiMethod} on route ${path} of controller ${controller} do not exist`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/express/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/express/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -27,7 +27,6 @@ import * as reportAdminApi from './api/report.admin.api';
27
27
  export * from './api';
28
28
  export * from './types';
29
29
  export { LogLevel } from './types';
30
- export { parseQuotaMetric, isQuotaBlocked, buildQuotaMessage, QUOTA_MESSAGE_RE, } from './utils/billing-quota-error.utils';
31
30
  export * from './models';
32
31
  export * from './utils';
33
32
  export * from './middlewares';
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  var _a;
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.AbyssMonitorCore = exports.RETRY_CODES = exports.BASE_DELAY_BETWEEN_RETRY = exports.NUMBER_RETRY_API = exports.WEBHOOK_SIGNATURE_ALGORITHM = exports.HEADER_WEBHOOK_SIGNATURE_NAME = exports.MAX_RESPONSE_DATA_SIZE = exports.CRON_TASK_SIGNATURE_ALGORITHM = exports.HEADER_CRON_TASK_SIGNATURE_NAME = exports.ADMIN_TOKEN_HEADER = exports.API_KEY_APPLICATION_HEADER = exports.QUOTA_MESSAGE_RE = exports.buildQuotaMessage = exports.isQuotaBlocked = exports.parseQuotaMetric = exports.LogLevel = void 0;
33
+ exports.AbyssMonitorCore = exports.RETRY_CODES = exports.BASE_DELAY_BETWEEN_RETRY = exports.NUMBER_RETRY_API = exports.WEBHOOK_SIGNATURE_ALGORITHM = exports.HEADER_WEBHOOK_SIGNATURE_NAME = exports.MAX_RESPONSE_DATA_SIZE = exports.CRON_TASK_SIGNATURE_ALGORITHM = exports.HEADER_CRON_TASK_SIGNATURE_NAME = exports.ADMIN_TOKEN_HEADER = exports.API_KEY_APPLICATION_HEADER = exports.LogLevel = void 0;
34
34
  require("reflect-metadata");
35
35
  const axios_1 = __importDefault(require("axios"));
36
36
  const axios_retry_1 = __importStar(require("axios-retry"));
@@ -60,11 +60,6 @@ __exportStar(require("./api"), exports);
60
60
  __exportStar(require("./types"), exports);
61
61
  var types_1 = require("./types");
62
62
  Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return types_1.LogLevel; } });
63
- var billing_quota_error_utils_1 = require("./utils/billing-quota-error.utils");
64
- Object.defineProperty(exports, "parseQuotaMetric", { enumerable: true, get: function () { return billing_quota_error_utils_1.parseQuotaMetric; } });
65
- Object.defineProperty(exports, "isQuotaBlocked", { enumerable: true, get: function () { return billing_quota_error_utils_1.isQuotaBlocked; } });
66
- Object.defineProperty(exports, "buildQuotaMessage", { enumerable: true, get: function () { return billing_quota_error_utils_1.buildQuotaMessage; } });
67
- Object.defineProperty(exports, "QUOTA_MESSAGE_RE", { enumerable: true, get: function () { return billing_quota_error_utils_1.QUOTA_MESSAGE_RE; } });
68
63
  __exportStar(require("./models"), exports);
69
64
  __exportStar(require("./utils"), exports);
70
65
  __exportStar(require("./middlewares"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}