import { NextResponse } from "next/server"; import { createSupabaseRouteClient } from "@/lib/supabase/server"; export const dynamic = "force-dynamic"; interface EmptyTrashPayload { workspaceId?: string; } export async function POST(request: Request) { const supabase = await createSupabaseRouteClient(); const { data: { session }, } = await supabase.auth.getSession(); if (!session) { return NextResponse.json({ error: "未登录" }, { status: 401 }); } const { workspaceId }: EmptyTrashPayload = await request.json(); if (!workspaceId) { return NextResponse.json({ error: "缺少 workspaceId" }, { status: 400 }); } const { data: membership, error: membershipError } = await supabase .from("workspace_members") .select("workspace_id") .eq("workspace_id", workspaceId) .eq("user_id", session.user.id) .limit(1); if (membershipError) { return NextResponse.json({ error: membershipError.message }, { status: 500 }); } if (!membership || membership.length === 0) { return NextResponse.json({ error: "无权操作该工作空间" }, { status: 403 }); } const { error } = await supabase .from("documents") .delete() .eq("workspace_id", workspaceId) .eq("user_id", session.user.id) .not("deleted_at", "is", null); if (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } return NextResponse.json({ success: true }); }