diff --git a/src/app/api/ai/generate/route.ts b/src/app/api/ai/generate/route.ts index f45780f..10017f3 100644 --- a/src/app/api/ai/generate/route.ts +++ b/src/app/api/ai/generate/route.ts @@ -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({ diff --git a/src/lib/prisma.ts b/src/lib/prisma.ts index 14f92f2..7abad8d 100644 --- a/src/lib/prisma.ts +++ b/src/lib/prisma.ts @@ -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); +export const prisma = globalForPrisma.prisma ?? new PrismaClient(); +if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma; - globalForPrisma.prisma = new PrismaClient({ adapter }); - } - return globalForPrisma.prisma; -} - -export default getDB; +export function getDB() { return prisma; } +export default getDB; \ No newline at end of file