correction prisma avec require

This commit is contained in:
2026-03-02 10:17:49 +01:00
parent 86f863ddcf
commit 6016169bfd
2 changed files with 22 additions and 30 deletions

View File

@@ -1,11 +1,15 @@
export const dynamic = 'force-dynamic';
/*
import { NextRequest, NextResponse } from 'next/server';
import { auth } from '@/lib/auth';
import getDB from '@/lib/prisma';
import { generateStoryContent } from '@/lib/gemini';
*/
import { NextRequest, NextResponse } from 'next/server';
import { auth } from '@/lib/auth';
// On importe l'objet prisma directement
import { prisma } from '@/lib/prisma';
import { generateStoryContent } from '@/lib/gemini';
export async function POST(request: NextRequest) {
try {
@@ -14,7 +18,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json({ error: 'Non autorisé' }, { status: 401 });
}
const prisma = getDB();
//const prisma = getDB();
// Check AI usage limit from DB
const dbUser = await prisma.user.findUnique({

View File

@@ -11,40 +11,28 @@ const globalForPrisma = globalThis as unknown as {
* Uses @prisma/adapter-pg with a pg Pool for direct PostgreSQL connections.
*//*
export function getDB(): PrismaClient {
if (!globalForPrisma.prisma) {
const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool);
if (!globalForPrisma.prisma) {
const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool);
globalForPrisma.prisma = new PrismaClient({ adapter });
}
return globalForPrisma.prisma;
globalForPrisma.prisma = new PrismaClient({ adapter });
}
return globalForPrisma.prisma;
}
export default getDB;
*/
import { PrismaClient } from '@prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';
import { Pool } from 'pg';
import type { PrismaClient as PrismaClientType } from '@prisma/client';
const { PrismaClient } = require('@prisma/client');
const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined;
prisma: PrismaClientType | undefined;
};
/**
* Returns a singleton PrismaClient instance using the Prisma v7 adapter pattern.
* Uses @prisma/adapter-pg with a pg Pool for direct PostgreSQL connections.
*/
export function getDB(): PrismaClient {
if (!globalForPrisma.prisma) {
const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool);
globalForPrisma.prisma = new PrismaClient({ adapter });
}
return globalForPrisma.prisma;
}
export const prisma = globalForPrisma.prisma ?? new PrismaClient();
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
export function getDB() { return prisma; }
export default getDB;