import { NextResponse } from "next/server"; import { getUsageDb } from "@/lib/usageDb"; import { computeAnalytics } from "@/lib/usageAnalytics"; export async function GET(request) { try { const { searchParams } = new URL(request.url); const range = searchParams.get("range") || "30d"; const db = await getUsageDb(); const history = db.data.history || []; // Build connection map for account names const { getProviderConnections } = await import("@/lib/localDb"); let connectionMap = {}; try { const connections = await getProviderConnections(); for (const conn of connections) { connectionMap[conn.id] = conn.name || conn.email || conn.id; } } catch { /* ignore */ } const analytics = await computeAnalytics(history, range, connectionMap); return NextResponse.json(analytics); } catch (error) { console.error("Error computing analytics:", error); return NextResponse.json({ error: "Failed to compute analytics" }, { status: 500 }); } }