import { NextResponse } from 'next/server' import { auth } from '@/auth' import { getCreditUsageSummary, getQuotasCompatFromCredits } from '@/lib/credits' export const dynamic = 'force-dynamic' export async function GET() { const session = await auth() if (!session?.user?.id) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) } try { const summary = await getCreditUsageSummary(session.user.id) // Compat anciens clients : quotas dérivés des crédits const quotas = await getQuotasCompatFromCredits(session.user.id) return NextResponse.json({ tier: summary.tier, period: summary.period, balance: { totalRemaining: summary.balance.unlimited ? null : summary.balance.totalRemaining, subscriptionRemaining: summary.balance.unlimited ? null : summary.balance.subscriptionRemaining, purchasedRemaining: summary.balance.purchasedRemaining, subscriptionGranted: summary.balance.unlimited ? null : summary.balance.subscriptionGranted, subscriptionSpent: summary.balance.subscriptionSpent, spentThisPeriod: summary.balance.spentThisPeriod, unlimited: summary.balance.unlimited, }, breakdown: summary.breakdown, // legacy quotas, }) } catch (error) { console.error('[usage/current] Failed to fetch usage data:', error) return NextResponse.json( { error: 'Failed to fetch usage data' }, { status: 503 }, ) } }