import { NextRequest, NextResponse } from 'next/server'; import { getSession } from '@/lib/auth'; import { conversationService } from '@/lib/control-center'; import { prisma } from '@/lib/db'; export async function GET(request: NextRequest) { const session = await getSession(); if (!session) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); } const { searchParams } = new URL(request.url); const limit = parseInt(searchParams.get('limit') || '20', 10); const offset = parseInt(searchParams.get('offset') || '0', 10); try { const [conversations, total] = await Promise.all([ conversationService.listByUser(session.user.id, limit, offset), prisma.controlCenterConversation.count({ where: { userId: session.user.id } }) ]); return NextResponse.json({ conversations, total, limit, offset }); } catch (error) { console.error('Failed to list conversations:', error); return NextResponse.json( { error: 'Failed to fetch conversations' }, { status: 500 } ); } }