/** * Farm Analytics API * Returns vertical farm analytics data */ import type { NextApiRequest, NextApiResponse } from 'next'; import { getFarmAnalytics, 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 farmIds = req.query.farmIds ? (req.query.farmIds as string).split(',') : undefined; const filters: AnalyticsFilters = { timeRange, farmIds, }; const farmAnalytics = await getFarmAnalytics(filters); res.status(200).json({ success: true, data: farmAnalytics, meta: { timeRange, filters: { farmIds }, generatedAt: new Date().toISOString(), }, }); } catch (error) { console.error('Farm analytics error:', error); res.status(500).json({ success: false, error: 'Failed to fetch farm analytics', }); } }