import { NextRequest, NextResponse } from "next/server"; import { auth } from "@/auth"; import { prisma } from "@/lib/prisma"; // PATCH /api/users/[id] — update a user export async function PATCH(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const session = await auth(); const { id } = await params; if (!session || session.user.role !== "SUPER_ADMIN") { return NextResponse.json({ error: "Forbidden" }, { status: 403 }); } try { const body = await req.json(); const { name, email, password, role, domains, telegramId } = body; const user = await prisma.user.update({ where: { id }, data: { name, email: email?.toLowerCase(), password, role, domains, telegramId, }, }); return NextResponse.json(user); } catch (error: any) { return NextResponse.json({ error: error.message }, { status: 500 }); } } // DELETE /api/users/[id] — delete a user export async function DELETE(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { const session = await auth(); const { id } = await params; if (!session || session.user.role !== "SUPER_ADMIN") { return NextResponse.json({ error: "Forbidden" }, { status: 403 }); } try { await prisma.user.delete({ where: { id }, }); return NextResponse.json({ status: "ok" }); } catch (error: any) { return NextResponse.json({ error: error.message }, { status: 500 }); } }