import { NextRequest, NextResponse } from 'next/server' import { requireAdmin } from '@/lib/auth' import { getLibraryAiOverrides, setLibraryAiOverrides } from '@/lib/app-settings' export async function GET( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const auth = await requireAdmin(request) if (auth instanceof NextResponse) return auth const { id } = await params return NextResponse.json(getLibraryAiOverrides(id)) } export async function PUT( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const auth = await requireAdmin(request) if (auth instanceof NextResponse) return auth const { id } = await params let body: Record try { body = await request.json() } catch { return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 }) } setLibraryAiOverrides(id, { modelTagging: typeof body.modelTagging === 'string' ? body.modelTagging : undefined, modelDescribe: typeof body.modelDescribe === 'string' ? body.modelDescribe : undefined, modelExtract: typeof body.modelExtract === 'string' ? body.modelExtract : undefined, modelTranslate: typeof body.modelTranslate === 'string' ? body.modelTranslate : undefined, promptDescribe: typeof body.promptDescribe === 'string' ? body.promptDescribe : undefined, promptTagger: typeof body.promptTagger === 'string' ? body.promptTagger : undefined, promptExtract: typeof body.promptExtract === 'string' ? body.promptExtract : undefined, promptTranslate: typeof body.promptTranslate === 'string' ? body.promptTranslate : undefined, maxTokensTag: typeof body.maxTokensTag === 'number' ? body.maxTokensTag : (body.maxTokensTag === null ? null : undefined), maxTokensDescribe: typeof body.maxTokensDescribe === 'number' ? body.maxTokensDescribe : (body.maxTokensDescribe === null ? null : undefined), maxTokensExtract: typeof body.maxTokensExtract === 'number' ? body.maxTokensExtract : (body.maxTokensExtract === null ? null : undefined), maxTokensTranslate: typeof body.maxTokensTranslate === 'number' ? body.maxTokensTranslate : (body.maxTokensTranslate === null ? null : undefined), }) return NextResponse.json(getLibraryAiOverrides(id)) }