import { NextRequest, NextResponse } from 'next/server' import { getLibraries, addLibrary } from '@/lib/libraries' import type { LibraryType } from '@/types' export function GET() { try { const libraries = getLibraries() return NextResponse.json(libraries) } catch (err) { console.error('Failed to read libraries', err) return NextResponse.json({ error: 'Failed to load libraries' }, { status: 500 }) } } export async function POST(request: NextRequest) { let body: { name?: string; path?: string; type?: string } try { body = await request.json() } catch { return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 }) } const { name, path, type } = body if (!name || !path || !type) { return NextResponse.json({ error: 'name, path, and type are required' }, { status: 400 }) } const validTypes: LibraryType[] = ['games', 'mixed', 'movies', 'tv'] if (!validTypes.includes(type as LibraryType)) { return NextResponse.json({ error: `type must be one of: ${validTypes.join(', ')}` }, { status: 400 }) } try { const library = addLibrary(name, path, type as LibraryType) return NextResponse.json(library, { status: 201 }) } catch (err) { const message = err instanceof Error ? err.message : 'Failed to add library' return NextResponse.json({ error: message }, { status: 400 }) } }