import { PrismaClient } from "@rallly/database";

import { softDeleteMiddleware } from "./middleware/soft-delete-middleware";

export * from "@prisma/client";

declare global {
  // allow global `var` declarations
  // eslint-disable-next-line no-var
  var prisma: PrismaClient | undefined;
}

export const prisma = global.prisma || new PrismaClient();

softDeleteMiddleware(prisma, "Poll");

if (process.env.NODE_ENV !== "production") global.prisma = prisma;