import { NextRequest, NextResponse } from 'next/server' import { PrismaClient } from '@prisma/client' import { requireAdmin } from '@/lib/require-admin' import { SITE_PAGES } from '@/lib/site-pages' import { readSitePages } from '@/lib/site-pages.server' // Prisma client instance const prisma = new PrismaClient() // GET /api/site-pages - liefert die Inhalte der rechtlichen Seiten export async function GET() { try { return NextResponse.json(await readSitePages()) } catch (error) { console.error('Error fetching site pages:', error) return NextResponse.json( { error: 'Fehler beim Abrufen der Seiteninhalte' }, { status: 500 } ) } } // PUT /api/site-pages - speichert die Inhalte der rechtlichen Seiten (Admin) export async function PUT(request: NextRequest) { try { const denied = await requireAdmin() if (denied) return denied const data = await request.json() // Nur die bekannten Seiten übernehmen, jeweils getrimmt. Ein leerer Text // ist zulässig und bedeutet: Seite nicht veröffentlichen. const values = Object.fromEntries( SITE_PAGES.map((key) => [key, String(data[key] ?? '').trim()]) ) const saved = await prisma.sitePages.upsert({ where: { id: 1 }, update: values, create: { id: 1, ...values }, }) return NextResponse.json(saved) } catch (error) { console.error('Error updating site pages:', error) return NextResponse.json( { error: 'Fehler beim Speichern der Seiteninhalte' }, { status: 500 } ) } }