import { NextRequest } from 'next/server';
import { apiHandler, ok } from '@/lib/utils/api';
import { questionService } from '@/lib/services/question.service';
import { requireAuth } from '@/lib/auth/session';

// /api/questions/search?q=...&categoryId=...
export async function GET(req: NextRequest) {
  return apiHandler(async () => {
    await requireAuth();
    const term = req.nextUrl.searchParams.get('q') ?? '';
    const catRaw = req.nextUrl.searchParams.get('categoryId');
    const categoryId = catRaw ? Number(catRaw) : undefined;
    const data = await questionService.search(term, categoryId);
    return ok(data);
  });
}
