@diia-inhouse/redis 2.28.0 → 2.29.1

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.
@@ -147,6 +147,16 @@ class StoreService {
147
147
  }
148
148
  return await this.clientRW.set(this.tagsKey, JSON.stringify(tagsConfig));
149
149
  }
150
+ async throttle(key, maxBurst, rate, periodSec, quantity = 1) {
151
+ const result = (await this.clientRW.call('CL.THROTTLE', key, maxBurst, rate, periodSec, quantity));
152
+ return {
153
+ limited: result[0] === 1,
154
+ totalLimit: result[1],
155
+ remaining: result[2],
156
+ retryAfterSec: result[3],
157
+ resetAfterSec: result[4],
158
+ };
159
+ }
150
160
  async flushDb() {
151
161
  return await this.clientRW.flushdb();
152
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/services/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/services/store.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export interface SetValueOptions {
18
18
  */
19
19
  tags?: string[];
20
20
  }
21
+ export interface ThrottleResult {
22
+ limited: boolean;
23
+ totalLimit: number;
24
+ remaining: number;
25
+ retryAfterSec: number;
26
+ resetAfterSec: number;
27
+ }
21
28
  export type StoreStatusResult = {
22
29
  store: StoreStatus;
23
30
  };
@@ -1,6 +1,6 @@
1
1
  import { HealthCheckResult, Logger, OnDestroy, OnHealthCheck } from '@diia-inhouse/types';
2
2
  import { RedisConfig } from '../interfaces/redis';
3
- import { SetValueOptions, StoreStatusResult } from '../interfaces/store';
3
+ import { SetValueOptions, StoreStatusResult, ThrottleResult } from '../interfaces/store';
4
4
  export declare class StoreService implements OnHealthCheck, OnDestroy {
5
5
  private readonly storeConfig;
6
6
  private readonly logger;
@@ -36,6 +36,7 @@ export declare class StoreService implements OnHealthCheck, OnDestroy {
36
36
  hdel(key: string, ...fields: string[]): Promise<number>;
37
37
  expire(key: string, seconds: number): Promise<number>;
38
38
  bumpTags(tags: string[]): Promise<'OK' | null>;
39
+ throttle(key: string, maxBurst: number, rate: number, periodSec: number, quantity?: number): Promise<ThrottleResult>;
39
40
  flushDb(): Promise<'OK'>;
40
41
  private validate;
41
42
  private wrapValueWithMetadata;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diia-inhouse/redis",
3
- "version": "2.28.0",
3
+ "version": "2.29.1",
4
4
  "description": "Redis services - redlock, pubsub, cache and store",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -41,13 +41,13 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@diia-inhouse/configs": "6.1.1",
44
- "@diia-inhouse/diia-logger": "3.16.0",
45
- "@diia-inhouse/env": "2.8.0",
46
- "@diia-inhouse/errors": "1.17.0",
47
- "@diia-inhouse/eslint-config": "8.2.4",
48
- "@diia-inhouse/test": "7.2.0",
49
- "@diia-inhouse/types": "11.3.0",
50
- "@diia-inhouse/validators": "1.28.0",
44
+ "@diia-inhouse/diia-logger": "3.16.4",
45
+ "@diia-inhouse/env": "2.8.1",
46
+ "@diia-inhouse/errors": "1.18.3",
47
+ "@diia-inhouse/eslint-config": "8.4.0",
48
+ "@diia-inhouse/test": "7.3.3",
49
+ "@diia-inhouse/types": "11.5.0",
50
+ "@diia-inhouse/validators": "1.28.6",
51
51
  "@types/node": "25.3.3",
52
52
  "@vitest/coverage-v8": "4.0.18",
53
53
  "@vitest/ui": "4.0.18",