// ═══════════════════════════════════════════════════════════════════════════ // CHAT API - Send and receive chat messages // ═══════════════════════════════════════════════════════════════════════════ import { NextRequest, NextResponse } from 'next/server'; import { sessionManager } from '@/lib/session-manager'; import { storageService } from '@/lib/storage'; export const runtime = 'nodejs'; export const dynamic = 'force-dynamic'; export async function POST(request: NextRequest) { try { const body = await request.json(); const { sessionId, userId, userName, message, isTeacher } = body; if (!sessionId || !userId || !userName || !message) { return NextResponse.json({ success: false, error: 'Missing required fields' }, { status: 400 }); } const chatMessage = await sessionManager.sendChatMessage( sessionId, userId, userName, message, isTeacher || false ); return NextResponse.json({ success: true, data: chatMessage }); } catch (error) { console.error('Chat API error:', error); return NextResponse.json({ success: false, error: 'Internal server error' }, { status: 500 }); } } export async function GET(request: NextRequest) { try { const { searchParams } = new URL(request.url); const sessionId = searchParams.get('sessionId'); if (!sessionId) { return NextResponse.json({ success: false, error: 'Missing sessionId' }, { status: 400 }); } const chatHistory = await storageService.getChatHistory(sessionId); return NextResponse.json({ success: true, data: chatHistory }); } catch (error) { console.error('Chat API error:', error); return NextResponse.json({ success: false, error: 'Internal server error' }, { status: 500 }); } }