import { NextRequest, NextResponse } from "next/server" import { requireAdmin } from "@/lib/api-auth" import { businessService } from "@/lib/admin-authorization-service" export const dynamic = "force-dynamic" export async function GET(request: NextRequest) { const auth = await requireAdmin(request) if (auth.error) return auth.error try { const list = await businessService.list() return NextResponse.json(list) } catch (e) { console.error("GET /api/admin/businesses:", e) return NextResponse.json( { error: e instanceof Error ? e.message : "Failed to list businesses" }, { status: 500 } ) } } export async function POST(request: NextRequest) { const auth = await requireAdmin(request) if (auth.error) return auth.error try { const body = await request.json() const { name } = body if (!name || typeof name !== "string" || !name.trim()) { return NextResponse.json({ error: "name is required" }, { status: 400 }) } const slug = name.trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-]/g, "") const row = await businessService.create({ name: name.trim(), slug: slug || "business" }) return NextResponse.json(row) } catch (e) { console.error("POST /api/admin/businesses:", e) return NextResponse.json( { error: e instanceof Error ? e.message : "Failed to create business" }, { status: 500 } ) } }