import { PrismaClient } from "@prisma/client";

const globalForPrisma = globalThis as unknown as {
  prisma: PrismaClient | undefined;
};

export const db =
  globalForPrisma.prisma ??
  new PrismaClient({
    log: process.env.NODE_ENV === "development" ? ["error", "warn"] : ["error"],
  });

// Always persist to prevent multiple instances across hot reloads (dev) and
// any edge case where the module scope is re-evaluated (prod)
globalForPrisma.prisma = db;
