Files
WikiRush/app/api/admin/daily/[id]/route.ts
T
jessy-david-dev 8ff64b3470 feat(admin): add admin panel with user management, daily puzzle CRUD, and activity graph
- Add admin page at /admin (restricted to ADMIN_EMAIL via proxy)
- Implement user ban/unban and deletion
- Add daily puzzle creation, modification, deletion
- Include 14-day activity chart with hover details
- Add User.banned field to schema and migrate database
- Block banned users from logging in
- Add ADMIN_EMAIL to .env.local configuration
- Update Prisma client after schema changes
2026-04-11 15:10:08 +02:00

26 lines
829 B
TypeScript

import { NextResponse } from "next/server";
import { prisma } from "../../../../../lib/prisma";
type Params = { params: Promise<{ id: string }> };
// PATCH /api/admin/daily/[id] — modifier un puzzle
export async function PATCH(req: Request, { params }: Params) {
const { id } = await params;
const { startArticle, targetArticle } = await req.json() as {
startArticle: string;
targetArticle: string;
};
const puzzle = await prisma.dailyPuzzle.update({
where: { id },
data: { startArticle, targetArticle },
});
return NextResponse.json(puzzle);
}
// DELETE /api/admin/daily/[id] — supprimer un puzzle
export async function DELETE(_req: Request, { params }: Params) {
const { id } = await params;
await prisma.dailyPuzzle.delete({ where: { id } });
return NextResponse.json({ ok: true });
}