diff --git a/src/app/admin/content-pages/[slug]/page.tsx b/src/app/admin/content-pages/[slug]/page.tsx index 00b7fe0..d9e6b25 100644 --- a/src/app/admin/content-pages/[slug]/page.tsx +++ b/src/app/admin/content-pages/[slug]/page.tsx @@ -14,7 +14,10 @@ export default async function EditContentPage({ params }: PageProps) { await requireRole([UserRole.ADMIN]); const { slug } = await params; // Pas getContentPage : il filtre published=true. Ici on veut tout voir. - const row = await prisma.contentPage.findUnique({ where: { slug } }); + // Admin édite la version FR par défaut. (Édition EN = future feature.) + const row = await prisma.contentPage.findUnique({ + where: { slug_lang: { slug, lang: "fr" } }, + }); if (!row) notFound(); // Re-construction du type minimal attendu par le formulaire. const page = { diff --git a/src/app/api/admin/content-pages/[slug]/route.ts b/src/app/api/admin/content-pages/[slug]/route.ts index fc0047e..c2db7dd 100644 --- a/src/app/api/admin/content-pages/[slug]/route.ts +++ b/src/app/api/admin/content-pages/[slug]/route.ts @@ -19,10 +19,13 @@ export async function PATCH(req: Request, ctx: { params: Promise<{ slug: string if (!parsed.success) { return NextResponse.json({ error: "Invalid payload" }, { status: 400 }); } - const existing = await prisma.contentPage.findUnique({ where: { slug } }); + // L'admin édite la version FR par défaut (édition multi-langues à venir). + const existing = await prisma.contentPage.findUnique({ + where: { slug_lang: { slug, lang: "fr" } }, + }); if (!existing) return NextResponse.json({ error: "Not found" }, { status: 404 }); const updated = await prisma.contentPage.update({ - where: { slug }, + where: { slug_lang: { slug, lang: "fr" } }, data: { ...(parsed.data.title !== undefined ? { title: parsed.data.title } : {}), ...(parsed.data.body !== undefined ? { body: parsed.data.body } : {}),