/** * 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', }); } }