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'; export const dynamic = 'force-dynamic';
/*
import { NextRequest, NextResponse } from 'next/server'; import { NextRequest, NextResponse } from 'next/server';
import { auth } from '@/lib/auth'; import { auth } from '@/lib/auth';
import getDB from '@/lib/prisma'; import getDB from '@/lib/prisma';
import { generateStoryContent } from '@/lib/gemini'; 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) { export async function POST(request: NextRequest) {
try { try {
@@ -14,7 +18,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json({ error: 'Non autorisé' }, { status: 401 }); return NextResponse.json({ error: 'Non autorisé' }, { status: 401 });
} }
const prisma = getDB(); //const prisma = getDB();
// Check AI usage limit from DB // Check AI usage limit from DB
const dbUser = await prisma.user.findUnique({ 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. * Uses @prisma/adapter-pg with a pg Pool for direct PostgreSQL connections.
*//* *//*
export function getDB(): PrismaClient { export function getDB(): PrismaClient {
if (!globalForPrisma.prisma) { if (!globalForPrisma.prisma) {
const connectionString = process.env.DATABASE_URL; const connectionString = process.env.DATABASE_URL;
const pool = new Pool({ connectionString }); const pool = new Pool({ connectionString });
const adapter = new PrismaPg(pool); const adapter = new PrismaPg(pool);
globalForPrisma.prisma = new PrismaClient({ adapter }); globalForPrisma.prisma = new PrismaClient({ adapter });
} }
return globalForPrisma.prisma; return globalForPrisma.prisma;
} }
export default getDB; export default getDB;
*/ */
import { PrismaClient } from '@prisma/client'; import type { PrismaClient as PrismaClientType } from '@prisma/client';
import { PrismaPg } from '@prisma/adapter-pg'; const { PrismaClient } = require('@prisma/client');
import { Pool } from 'pg';
const globalForPrisma = globalThis as unknown as { const globalForPrisma = globalThis as unknown as {
prisma: PrismaClient | undefined; prisma: PrismaClientType | undefined;
}; };
/** export const prisma = globalForPrisma.prisma ?? new PrismaClient();
* Returns a singleton PrismaClient instance using the Prisma v7 adapter pattern. if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
* 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 }); export function getDB() { return prisma; }
} export default getDB;
return globalForPrisma.prisma;
}
export default getDB;