self-serve-integration-service
Version:
Self-Serve Integration Service for managing multiple funder integrations including REST APIs, SOAP APIs, and UI automation
29 lines (23 loc) • 745 B
text/typescript
import { PrismaClient } from '@prisma/client';
/**
* Prisma Client Singleton
*
* This ensures only one PrismaClient instance is created across the application,
* preventing connection pool exhaustion and memory leaks.
*
* In development, we attach the client to the global object to prevent
* hot-reloading from creating multiple instances.
*/
const globalForPrisma = global as unknown as {
prisma: PrismaClient | undefined;
};
export const prisma =
globalForPrisma.prisma ||
new PrismaClient({
log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
});
if (process.env.NODE_ENV !== 'production') {
globalForPrisma.prisma = prisma;
}
// Named export (recommended)
export default prisma;