import { NextResponse } from 'next/server' import { getSession } from '@/lib/session' import { getAllLinkEntries, setLink, type LinkKey } from '@/lib/links-db' import { LINKS } from '@/lib/links' export async function GET() { const session = await getSession() if (!session || session.role !== 'admin') { return NextResponse.json({ error: 'Forbidden' }, { status: 403 }) } const entries = await getAllLinkEntries() return NextResponse.json(entries) } export async function PUT(request: Request) { const session = await getSession() if (!session || session.role !== 'admin') { return NextResponse.json({ error: 'Forbidden' }, { status: 403 }) } let body: { key?: string; value?: string } try { body = (await request.json()) as { key?: string; value?: string } } catch { return NextResponse.json({ error: 'Invalid JSON' }, { status: 400 }) } const key = String(body.key ?? '').trim() as LinkKey const value = String(body.value ?? '').trim() if (!key || !(key in LINKS)) { return NextResponse.json({ error: 'Unknown link key' }, { status: 400 }) } if (!value) { return NextResponse.json({ error: 'Value cannot be empty' }, { status: 400 }) } await setLink(key, value) return NextResponse.json({ ok: true }) }