Files
Reactive-Resume/apps/server/src/database/database.module.ts
T
2023-11-05 14:23:01 +01:00

33 lines
939 B
TypeScript

import { Logger, Module } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";
import {
loggingMiddleware,
PrismaModule,
PrismaService,
providePrismaClientExceptionFilter,
} from "nestjs-prisma";
import { Config } from "@/server/config/schema";
@Module({
imports: [
PrismaModule.forRootAsync({
isGlobal: true,
inject: [ConfigService],
useFactory: async (configService: ConfigService<Config>) => ({
prismaOptions: { datasourceUrl: configService.get("DATABASE_URL") },
middlewares: [
loggingMiddleware({
logLevel: "debug", // only in development
logger: new Logger(PrismaService.name),
logMessage: (query) =>
`[Query] ${query.model}.${query.action} - ${query.executionTime}ms`,
}),
],
}),
}),
],
providers: [providePrismaClientExceptionFilter()],
})
export class DatabaseModule {}