import { PrismaClient } from '@prisma/client'; let prisma; export function buildDatabaseUrl(config) { const { host, user, password, database } = config.db; return `mysql://${encodeURIComponent(user)}:${encodeURIComponent(password)}@${host}:3306/${database}?connection_limit=10`; } export function getPrismaClient(config) { if (!prisma) { process.env.DATABASE_URL = buildDatabaseUrl(config); prisma = new PrismaClient(); } return prisma; } export async function closePrismaClient() { if (prisma) { await prisma.$disconnect(); prisma = undefined; } }