import { NextResponse } from 'next/server'
import { AdminApiError, requireAdminForApi } from '@/lib/admin-auth'
import { getRevenueStats } from '@/lib/admin-data'

export async function GET() {
  try {
    await requireAdminForApi()

    const data = await getRevenueStats()
    return NextResponse.json(data)
  } catch (error) {
    if (error instanceof AdminApiError) {
      return NextResponse.json(
        { error: error.message },
        { status: error.status },
      )
    }

    console.error(error)
    return NextResponse.json(
      { error: 'Unexpected error' },
      { status: 500 },
    )
  }
}