// ═══════════════════════════════════════════════════════════════════════════ // REACTION API - Add and get reactions // ═══════════════════════════════════════════════════════════════════════════ import { NextRequest, NextResponse } from 'next/server'; import { sessionManager } from '@/lib/session-manager'; import { ReactionType } from '@/lib/types'; export const runtime = 'nodejs'; export const dynamic = 'force-dynamic'; export async function POST(request: NextRequest) { try { const body = await request.json(); const { sessionId, emoji } = body; if (!sessionId || !emoji) { return NextResponse.json({ success: false, error: 'Missing required fields' }, { status: 400 }); } const reactions = await sessionManager.addReaction( sessionId, emoji as ReactionType ); return NextResponse.json({ success: true, data: reactions }); } catch (error) { console.error('Reaction 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 reactions = sessionManager.getReactions(sessionId); return NextResponse.json({ success: true, data: reactions }); } catch (error) { console.error('Reaction API error:', error); return NextResponse.json({ success: false, error: 'Internal server error' }, { status: 500 }); } }