import { NextResponse } from "next/server"; import { auth } from "@/auth"; import { prisma } from "@/lib/prisma"; export async function DELETE( _request: Request, { params }: { params: Promise<{ id: string }> } ) { try { const session = await auth(); if (!session?.user?.id) return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); const { id } = await params; const apiKey = await prisma.apiKey.findFirst({ where: { id, userId: session.user.id, revoked: false }, select: { id: true }, }); if (!apiKey) { return NextResponse.json({ error: "Not found" }, { status: 404 }); } await prisma.apiKey.update({ where: { id: apiKey.id }, data: { revoked: true }, }); return NextResponse.json({ success: true }, { status: 200 }); } catch (error) { console.error("Error revoking API key:", error); return NextResponse.json( { error: "Internal server error" }, { status: 500 } ); } }