Download src/app/api/react/route.ts from Mafia2008/slidemap: direct link, hf CLI and curl.
- Browser
- Download file 2.08 kB
-
https://huggingface.co/spaces/Mafia2008/slidemap/resolve/main/src/app/api/react/route.ts
- Command line
-
hf download hf://spaces/Mafia2008/slidemap/src/app/api/react/route.ts
-
curl -L -o route.ts https://huggingface.co/spaces/Mafia2008/slidemap/resolve/main/src/app/api/react/route.ts
2.08 kB
| // βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| // 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 }); | |
| } | |
| } | |