import { NextResponse } from 'next/server';
import { headers } from 'next/headers';
import { db } from '@/db/drizzle';
import { client } from '@/db/schema';
import { auth } from '@/lib/auth';

export async function GET(req: Request) {
  const session = await auth.api.getSession({
    headers: req.headers,
  });

  if (!session?.user || session.user.role !== 'admin') {
    return NextResponse.json({ message: 'Unauthorized' }, { status: 401 });
  }

  try {
    const allClients = await db.select().from(client);
    return NextResponse.json(allClients);
  } catch (error) {
    console.error('Failed to fetch clients', error);
    return NextResponse.json({ error: 'Failed to fetch clients' }, { status: 500 });
  }
}