import { NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { requireAdmin } from "@/lib/admin-auth"; export async function GET() { const authError = await requireAdmin(); if (authError) return authError; try { const configs = await prisma.systemConfig.findMany(); const result: Record = {}; for (const c of configs) { result[c.key] = c.value; } return NextResponse.json(result); } catch (error: unknown) { const err = error as { message?: string }; return NextResponse.json({ error: err.message }, { status: 500 }); } } export async function PUT(request: Request) { const authError = await requireAdmin(); if (authError) return authError; try { const body = await request.json(); const results: string[] = []; for (const [key, value] of Object.entries(body)) { await prisma.systemConfig.upsert({ where: { key }, update: { value: value as any }, create: { key, value: value as any }, }); results.push(key); } return NextResponse.json({ success: true, updated: results }); } catch (error: unknown) { const err = error as { message?: string }; return NextResponse.json({ error: err.message }, { status: 500 }); } }