import { NextResponse } from 'next/server'; import { mainAirports, secondaryAirports, calculateAirportData } from '@/lib/utils/metar'; export async function GET() { try { const allAirports = [...mainAirports, ...secondaryAirports]; const promises = allAirports.map(async (airport) => { const url = `https://avwx.rest/api/metar/${airport}`; const response = await fetch(url, { headers: { 'Authorization': 'Bearer vmtkb1D8Tuva2Jw2tXihWcKE3m2sfDJkySBZygVx82I' }, next: { revalidate: 60 } // Cache for 1 minutes }); if (!response.ok) return null; const data = await response.json(); return calculateAirportData(airport, data); }); const results = await Promise.all(promises); const validResults = results.filter(Boolean); return NextResponse.json(validResults); } catch (error) { return NextResponse.json({ error: 'Failed to fetch METAR data' }, { status: 500 }); } }