Merge pull request 'chore(admin): findUnique composite key' (#37) from chore/admin-content-composite-key into main
This commit is contained in:
commit
bb2fee7659
2 changed files with 9 additions and 3 deletions
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -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 } : {}),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue