import { NextRequest, NextResponse } from "next/server"; import { db } from "@/lib/db"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; export async function GET(_: NextRequest, { params }: { params: Promise<{ id: string }> }) { const { id } = await params; const match = await db.match.findUnique({ where: { id }, include: { homeTeam: true, awayTeam: true, playerStats: { include: { player: true } } }, }); if (!match) return NextResponse.json({ error: "Not found" }, { status: 404 }); return NextResponse.json(match); } export async function PUT(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const { id } = await params; const session = await getServerSession(authOptions); if (!session || (session.user as any).role !== "ADMIN") return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); const body = await req.json(); const match = await db.match.update({ where: { id }, data: body }); return NextResponse.json(match); } export async function DELETE(_: NextRequest, { params }: { params: Promise<{ id: string }> }) { const { id } = await params; const session = await getServerSession(authOptions); if (!session || (session.user as any).role !== "ADMIN") return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); await db.match.delete({ where: { id } }); return NextResponse.json({ success: true }); }