import { prisma } from "@/lib/prisma";
import { getAdminUser } from "@/lib/auth";
import { NextResponse } from "next/server";

export async function GET() {
    const admin = await getAdminUser();
    if (!admin) return NextResponse.json({ success: false }, { status: 401 });

    const marquees = await prisma.cms_marquee.findMany({
        orderBy: {
            created_at: "desc",
        },
    });

    return NextResponse.json({ success: true, data: marquees });
}

export async function POST(req: Request) {
    const admin = await getAdminUser();
    if (!admin) return NextResponse.json({ success: false }, { status: 401 });

    try {
        const body = await req.json();

        if (!body.title?.trim())
            return NextResponse.json({ success: false, message: "Title is required" }, { status: 400 });

        const marquee = await prisma.cms_marquee.create({
            data: {
                title: body.title.trim(),
                link: body.link?.trim() || null,
                highlight: body.highlight ?? false,
                status: body.status ?? true,
            },
        });

        return NextResponse.json({ success: true, data: marquee });
    } catch (err) {
        console.error("Create Marquee error:", err);
        return NextResponse.json({ success: false, message: "Failed to create marquee" }, { status: 500 });
    }
}