import { NextRequest, NextResponse } from "next/server"; import { getServerSession } from "next-auth"; import { authOptions } from "@/app/api/auth/[...nextauth]/route"; import { prisma } from "@/lib/prisma"; import { removeDocumentFiles } from "@/lib/storage"; export async function DELETE( _req: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const session = await getServerSession(authOptions); if (!session?.user?.email) { return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); } const { id } = await params; const doc = await prisma.pdfDocument.findUnique({ where: { id } }); if (!doc) { return NextResponse.json({ error: "Not found" }, { status: 404 }); } const user = await prisma.user.findUnique({ where: { email: session.user.email }, }); if (!user || doc.userId !== user.id) { return NextResponse.json({ error: "Forbidden" }, { status: 403 }); } await prisma.pdfDocument.delete({ where: { id } }); await removeDocumentFiles(user.id, id, doc.filePath); return NextResponse.json({ success: true }); }