import { NextRequest, NextResponse } from 'next/server';
import { getCompleteMotocrossSchedule } from '@/lib/api/racerxSchedule';
import { getCurrentSeasonYear } from '@/lib/utils/season';

// This route needs to be dynamic to handle query parameters
export const dynamic = 'force-dynamic';
export const revalidate = 60; // Cache for 1 minute to ensure event status updates quickly

export async function GET(request: NextRequest) {
  try {
    const { searchParams } = new URL(request.url);
    const year = parseInt(searchParams.get('year') || String(getCurrentSeasonYear()));

    const schedule = await getCompleteMotocrossSchedule(year);

    return NextResponse.json({
      success: true,
      year,
      events: schedule,
      totalEvents: schedule.length
    });
  } catch (error) {
    console.error('Error fetching MX schedule:', error);
    return NextResponse.json(
      {
        success: false,
        error: 'Failed to fetch schedule',
        details: error instanceof Error ? error.message : 'Unknown error'
      },
      { status: 500 }
    );
  }
}
