Files
freeCodeCamp/api/db/prisma.ts
2023-03-14 17:29:55 +00:00

24 lines
520 B
TypeScript

import fp from 'fastify-plugin';
import { FastifyPluginAsync } from 'fastify';
import { PrismaClient } from '@prisma/client';
declare module 'fastify' {
interface FastifyInstance {
prisma: PrismaClient;
}
}
const prismaPlugin: FastifyPluginAsync = fp(async (server, _options) => {
const prisma = new PrismaClient();
await prisma.$connect();
server.decorate('prisma', prisma);
server.addHook('onClose', async server => {
await server.prisma.$disconnect();
});
});
export default prismaPlugin;