import { NextRequest, NextResponse } from 'next/server' import { auth } from '@/auth' import { listDeckSummaries } from '@/lib/flashcards/deck-queries' import { getOrCreateDeckForNotebook } from '@/lib/flashcards/deck-utils' export async function GET() { try { const session = await auth() if (!session?.user?.id) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) } const decks = await listDeckSummaries(session.user.id) return NextResponse.json({ decks }) } catch (error) { console.error('[flashcards/decks GET]', error) return NextResponse.json({ error: 'Failed to load decks' }, { status: 500 }) } } export async function POST(request: NextRequest) { try { const session = await auth() if (!session?.user?.id) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) } const body = await request.json() const name = typeof body.name === 'string' ? body.name.trim() : '' if (!name) { return NextResponse.json({ error: 'Name required' }, { status: 400 }) } const deck = await getOrCreateDeckForNotebook({ userId: session.user.id, notebookId: null, manualName: name, }) return NextResponse.json({ deck: { id: deck.id, name: deck.name, notebookId: deck.notebookId, }, }) } catch (error) { console.error('[flashcards/decks POST]', error) return NextResponse.json({ error: 'Failed to create deck' }, { status: 500 }) } }