localgreenchain/pages/api/analytics/transport.ts
Claude 816c3b3f2e
Implement Agent 7: Advanced Analytics Dashboard
Add comprehensive analytics system with:
- Analytics data layer (aggregator, metrics, trends, cache)
- 6 API endpoints (overview, plants, transport, farms, sustainability, export)
- 6 chart components (LineChart, BarChart, PieChart, AreaChart, Gauge, Heatmap)
- 5 dashboard widgets (KPICard, TrendIndicator, DataTable, DateRangePicker, FilterPanel)
- 5 dashboard pages (overview, plants, transport, farms, sustainability)
- Export functionality (CSV, JSON)

Dependencies added: recharts, d3, date-fns

Also includes minor fixes:
- Fix EnvironmentalForm spread type error
- Fix AgentOrchestrator Map iteration issues
- Fix next.config.js image domains undefined error
- Add downlevelIteration to tsconfig
2025-11-23 04:02:07 +00:00

46 lines
1.2 KiB
TypeScript

/**
* Transport Analytics API
* Returns transport and carbon footprint analytics
*/
import type { NextApiRequest, NextApiResponse } from 'next';
import { getTransportAnalytics, AnalyticsFilters, TimeRange } from '../../../lib/analytics';
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
if (req.method !== 'GET') {
return res.status(405).json({ error: 'Method not allowed' });
}
try {
const timeRange = (req.query.timeRange as TimeRange) || '30d';
const transportMethods = req.query.methods
? (req.query.methods as string).split(',')
: undefined;
const filters: AnalyticsFilters = {
timeRange,
transportMethods,
};
const transportAnalytics = await getTransportAnalytics(filters);
res.status(200).json({
success: true,
data: transportAnalytics,
meta: {
timeRange,
filters: { transportMethods },
generatedAt: new Date().toISOString(),
},
});
} catch (error) {
console.error('Transport analytics error:', error);
res.status(500).json({
success: false,
error: 'Failed to fetch transport analytics',
});
}
}