import { NextRequest, NextResponse } from "next/server"; import { fetchDashboardDataService } from "@/app/services/health"; import { transformHealthDataToStats, transformOverviewResponse, } from "./utils/dashboard"; export async function GET(request: NextRequest) { try { const { searchParams } = new URL(request.url); const dateStart = searchParams.get("dateStart") ?? undefined; const dateEnd = searchParams.get("dateEnd") ?? undefined; // Fetch all dashboard data (health, overview, and review transactions) concurrently const dashboardData = await fetchDashboardDataService({ dateStart, dateEnd, }); const { healthData, overviewData, reviewTransactions } = dashboardData; // Transform health data to stats format using shared util const stats = transformHealthDataToStats(healthData); const transformedOverviewData = transformOverviewResponse(overviewData); // console.log("[TransformedOverviewData] - Route", transformedOverviewData); const response = { ...healthData, stats, overviewData: { ...overviewData, data: transformedOverviewData, }, reviewTransactions: reviewTransactions, }; return NextResponse.json(response, { status: 200 }); } catch (err: unknown) { const errorMessage = err instanceof Error ? err.message : "Unknown error"; return NextResponse.json( { success: false, message: errorMessage }, { status: 500 } ); } }