import { NextRequest, NextResponse } from 'next/server' import { usageTracker } from '@/lib/services/usage-tracker' export const runtime = 'nodejs' export const dynamic = 'force-dynamic' export async function GET(request: NextRequest) { try { const userId = request.nextUrl.searchParams.get('userId') const monthParam = request.nextUrl.searchParams.get('month') if (!userId) { return NextResponse.json({ error: 'User ID is required' }, { status: 400 }) } // Parse the month parameter or default to current month const month = monthParam ? new Date(monthParam) : new Date() const monthlyUsage = await usageTracker.getMonthlyUsage(userId, month) if (monthlyUsage === null) { return NextResponse.json({ error: 'Failed to get monthly usage' }, { status: 500 }) } const response = NextResponse.json(monthlyUsage) // Add cache control headers to prevent any caching response.headers.set('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate') response.headers.set('Pragma', 'no-cache') response.headers.set('Expires', '0') return response } catch (error) { console.error('Error in monthly usage API:', error) return NextResponse.json({ error: 'Internal server error' }, { status: 500 }) } }