32 lines
727 B
TypeScript
32 lines
727 B
TypeScript
import env from '#start/env'
|
|
import { defineConfig, stores } from '@adonisjs/limiter'
|
|
|
|
const limiterConfig = defineConfig({
|
|
default: env.get('LIMITER_STORE'),
|
|
stores: {
|
|
/**
|
|
* Database store to save rate limiting data inside a
|
|
* MYSQL or PostgreSQL database.
|
|
*/
|
|
database: stores.database({
|
|
connectionName: 'postgres',
|
|
dbName: env.get('DB_DATABASE'),
|
|
tableName: 'rate_limits',
|
|
clearExpiredByTimeout: false
|
|
}),
|
|
|
|
/**
|
|
* Memory store could be used during
|
|
* testing
|
|
*/
|
|
memory: stores.memory({}),
|
|
},
|
|
})
|
|
|
|
export default limiterConfig
|
|
|
|
declare module '@adonisjs/limiter/types' {
|
|
export interface LimitersList extends InferLimiters<typeof limiterConfig> {}
|
|
}
|
|
|