@adonisjs/limiter
Version:
Rate limiting package for AdonisJS framework
23 lines (22 loc) • 889 B
TypeScript
import type { QueryClientContract } from '@adonisjs/lucid/types/database';
import RateLimiterBridge from './bridge.ts';
import type { LimiterDatabaseStoreConfig } from '../types.ts';
/**
* Database-backed limiter store that persists rate limit data in a SQL database.
* Supports PostgreSQL, MySQL, and SQLite databases.
*
* Wraps rate-limiter-flexible database implementations (RateLimiterMySQL,
* RateLimiterPostgres, RateLimiterSQLite).
*/
export default class LimiterDatabaseStore extends RateLimiterBridge {
#private;
get name(): string;
constructor(client: QueryClientContract, config: LimiterDatabaseStoreConfig);
/**
* Truncates the database table, removing all rate limit data.
*
* **Warning**: Use a dedicated table for each limiter configuration
* to avoid accidentally clearing other limiter data.
*/
clear(): Promise<void>;
}