Import source: backend/src/plugins/prisma

Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
arsam
2026-09-18 23:09:23 +03:30
parent adbe51ee93
commit 2b7d4ecdc2
+25
View File
@@ -0,0 +1,25 @@
import fp from 'fastify-plugin';
import { PrismaClient } from '@prisma/client';
import type { FastifyPluginAsync } from 'fastify';
declare module 'fastify' {
interface FastifyInstance {
prisma: PrismaClient;
}
}
export const prismaPlugin: FastifyPluginAsync = fp(async (fastify) => {
const prisma = new PrismaClient({
log: fastify.log.level === 'debug' ? ['query', 'error', 'warn'] : ['error'],
});
await prisma.$connect();
fastify.decorate('prisma', prisma);
fastify.addHook('onClose', async (server) => {
await server.prisma.$disconnect();
});
});
export default prismaPlugin;