import { NextResponse } from 'next/server'
import { requireAdmin } from '@/lib/adminAuth'
import { prisma } from '@/lib/prisma'

export async function GET() {
  const auth = await requireAdmin()
  if ('error' in auth) return auth.error

  const [users, businessLines] = await Promise.all([
    prisma.user.findMany({
      orderBy: { name: 'asc' },
      include: { businessLines: { include: { businessLine: true } } },
    }),
    prisma.businessLine.findMany({ orderBy: { name: 'asc' } }),
  ])

  return NextResponse.json({ users, businessLines })
}
