refactor(v4.0.0-alpha): beginning of a new era

This commit is contained in:
Amruth Pillai
2023-11-05 12:31:42 +01:00
parent 0ba6a444e2
commit 22933bd412
505 changed files with 81829 additions and 0 deletions

38
apps/server/src/cache/cache.module.ts vendored Normal file
View File

@ -0,0 +1,38 @@
import { CacheModule as NestCacheModule } from "@nestjs/cache-manager";
import { Logger, Module } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";
import { RedisModule } from "@songkeys/nestjs-redis";
import { redisStore } from "cache-manager-redis-yet";
import { Config } from "../config/schema";
@Module({
imports: [
RedisModule.forRootAsync({
inject: [ConfigService],
useFactory: async (configService: ConfigService<Config>) => ({
config: { url: configService.getOrThrow("REDIS_URL") },
}),
}),
NestCacheModule.registerAsync({
isGlobal: true,
inject: [ConfigService],
useFactory: async (configService: ConfigService<Config>) => {
const url = configService.get("REDIS_URL");
if (!url) {
Logger.warn(
"`REDIS_URL` was not set, using in-memory cache instead. This is not suitable for production.",
"CacheModule",
);
return {};
}
return { store: await redisStore({ url }) };
},
}),
],
})
export class CacheModule {}