backend/src/modules/ratelimits/index.ts
William Oldham 78b4dbd705 Add rate limits
Co-authored-by: mrjvs <mistrjvs@gmail.com>
2023-11-04 14:52:19 +00:00

24 lines
585 B
TypeScript

import { conf } from '@/config';
import { Limiter } from '@/modules/ratelimits/limiter';
import { connectRedis } from '@/modules/ratelimits/redis';
import { scopedLogger } from '@/services/logger';
const log = scopedLogger('ratelimits');
let limiter: null | Limiter = null;
export function getLimiter() {
return limiter;
}
export async function setupRatelimits() {
if (!conf.ratelimits.enabled) {
log.warn('Ratelimits disabled!');
return;
}
const redis = await connectRedis();
limiter = new Limiter({
redis,
});
log.info('Ratelimits have been setup!');
}