1
0

implement redisForRateLimit

This commit is contained in:
Hazelnoot
2025-02-18 10:36:29 -05:00
parent 3dfd018305
commit 788751d24d
10 changed files with 60 additions and 4 deletions
+12 -2
View File
@@ -92,6 +92,14 @@ const $redisForReactions: Provider = {
inject: [DI.config],
};
const $redisForRateLimit: Provider = {
provide: DI.redisForRateLimit,
useFactory: (config: Config) => {
return new Redis.Redis(config.redisForRateLimit);
},
inject: [DI.config],
};
const $meta: Provider = {
provide: DI.meta,
useFactory: async (db: DataSource, redisForSub: Redis.Redis) => {
@@ -152,8 +160,8 @@ const $meta: Provider = {
@Global()
@Module({
imports: [RepositoryModule],
providers: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions],
exports: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, RepositoryModule],
providers: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit],
exports: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit, RepositoryModule],
})
export class GlobalModule implements OnApplicationShutdown {
constructor(
@@ -163,6 +171,7 @@ export class GlobalModule implements OnApplicationShutdown {
@Inject(DI.redisForSub) private redisForSub: Redis.Redis,
@Inject(DI.redisForTimelines) private redisForTimelines: Redis.Redis,
@Inject(DI.redisForReactions) private redisForReactions: Redis.Redis,
@Inject(DI.redisForRateLimit) private redisForRateLimit: Redis.Redis,
) { }
public async dispose(): Promise<void> {
@@ -176,6 +185,7 @@ export class GlobalModule implements OnApplicationShutdown {
this.redisForSub.disconnect(),
this.redisForTimelines.disconnect(),
this.redisForReactions.disconnect(),
this.redisForRateLimit.disconnect(),
]);
}