import { PrismaClient } from '@prisma/client'; import fp from 'fastify-plugin'; export default fp(async (app) => { const prisma = new PrismaClient({ log: [{ emit: 'event', level: 'error' }, { emit: 'event', level: 'warn' }], }); prisma.$on('error', (e) => app.log.error({ prisma: e }, 'prisma error')); prisma.$on('warn', (e) => app.log.warn({ prisma: e }, 'prisma warn')); await prisma.$connect(); app.decorate('prisma', prisma); app.addHook('onClose', async () => { await prisma.$disconnect(); }); });