import type { PrismaClient } from "@/generated/prisma/client";
import { createPrismaClient } from "./db-client";
import { env } from "./env";

// Reuse one client across hot reloads in development. Bump the key whenever
// createPrismaClient() changes, so a running dev server stops using a client
// built with the old options.
const globalForPrisma = globalThis as unknown as { prismaUtc?: PrismaClient };

export const db = globalForPrisma.prismaUtc ?? createPrismaClient(env.DATABASE_URL);

if (env.NODE_ENV !== "production") {
  globalForPrisma.prismaUtc = db;
}
