import { NextRequest, NextResponse } from 'next/server' import { usageTracker } from '@/lib/services/usage-tracker' export const runtime = 'nodejs' export const dynamic = 'force-dynamic' export const revalidate = 0 export async function GET(request: NextRequest) { try { const userId = request.nextUrl.searchParams.get('userId') if (!userId) { return NextResponse.json({ error: 'User ID is required' }, { status: 400 }) } // Add cache busting timestamp const cacheBreaker = Date.now() console.log(`🔍 [${cacheBreaker}] Fetching usage stats for user: ${userId.substring(0, 8)}...`) const stats = await usageTracker.getUserUsageStats(userId) if (!stats) { return NextResponse.json({ error: 'Failed to get usage stats' }, { status: 500 }) } console.log(`✅ [${cacheBreaker}] Usage stats returned:`, { smart: `${stats.smartPrompts}/${stats.smartPromptsLimit}`, fast: `${stats.fastPrompts}/${stats.fastPromptsLimit}`, books: stats.booksCreated }) const response = NextResponse.json(stats) // Add comprehensive cache control headers to prevent any caching response.headers.set('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0') response.headers.set('Pragma', 'no-cache') response.headers.set('Expires', '0') response.headers.set('Surrogate-Control', 'no-store') response.headers.set('X-Cache-Breaker', cacheBreaker.toString()) return response } catch (error) { console.error('Error in usage stats API:', error) return NextResponse.json({ error: 'Internal server error' }, { status: 500 }) } }