import { NextResponse } from "next/server"; import { createSupabaseRouteClient } from "@/lib/supabase/server"; import { isConvexEnabled } from "@/lib/convex/enabled"; import { requireAuthContext } from "@/lib/auth/authContext"; import { getConvexHttpClient } from "@/lib/convex/server"; import { api } from "@/lib/convex/api"; export const dynamic = "force-dynamic"; export async function POST(request: Request) { if (isConvexEnabled()) { const auth = requireAuthContext(); const { documentId } = await request.json(); if (!documentId) { return NextResponse.json({ error: "缺少 documentId" }, { status: 400 }); } const client = getConvexHttpClient(); await client.mutation(api.documents.restore, { userId: auth.userId, id: documentId }); return NextResponse.json({ success: true }); } const supabase = await createSupabaseRouteClient(); const { data: { session }, } = await supabase.auth.getSession(); if (!session) { return NextResponse.json({ error: "未登录" }, { status: 401 }); } const { documentId } = await request.json(); if (!documentId) { return NextResponse.json({ error: "缺少 documentId" }, { status: 400 }); } const { error } = await supabase .from("documents") .update({ deleted_at: null, deleted_by: null, parent_id: null, access_scope: "private", }) .eq("id", documentId) .eq("user_id", session.user.id); if (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } return NextResponse.json({ success: true }); }