import { NextResponse } from "next/server"; import { createAdminSupabaseClient } from "@/lib/supabase/admin"; import { createServerSupabaseClient } from "@/lib/supabase/server"; import { RectificationCaseServiceError, getRectificationEntrySummary, mapRectificationRpcError, } from "@/lib/rectification-agentic/v9/case-service"; export const runtime = "nodejs"; /** * GET /api/rectification/cases/entry-summary * * Server-truth context for homepage copy; the primary homepage action always creates. */ export async function GET() { let supabase; let accounting; try { supabase = await createServerSupabaseClient(); accounting = createAdminSupabaseClient(); } catch { return NextResponse.json({ error: "服务尚未配置" }, { status: 503 }); } const { data: { user }, error: authError, } = await supabase.auth.getUser(); if (authError || !user) { return NextResponse.json({ error: "请先登录" }, { status: 401 }); } try { return NextResponse.json(await getRectificationEntrySummary(accounting, user.id)); } catch (error) { if (error instanceof RectificationCaseServiceError) { const view = mapRectificationRpcError( new Error(`agentic_rectification_${error.code}`), ); return NextResponse.json({ error: view.message, code: view.code }, { status: view.status }); } return NextResponse.json( { error: "校正服务暂时不可用", code: "rectification_service_failed" }, { status: 500 }, ); } }