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

// Must match ACADEMY_PAGE_ID in src/app/api/admin/cms/academy/route.ts
const ACADEMY_PAGE_ID = BigInt(3);

export async function GET() {
  try {
    const data = await prisma.cms_academy.findFirst({
      where: { page_id: ACADEMY_PAGE_ID, status: true },
    });

    const serialized = data
      ? JSON.parse(
          JSON.stringify(data, (_, value) =>
            typeof value === "bigint" ? value.toString() : value
          )
        )
      : null;

    return NextResponse.json(
      { success: true, data: serialized },
      { status: 200, headers: { "Cache-Control": "no-store" } }
    );
  } catch (error) {
    console.error("Error fetching Academy content:", error);

    return NextResponse.json(
      {
        success: false,
        message: "Failed to fetch Academy content",
        error: error instanceof Error ? error.message : String(error),
      },
      { status: 500 }
    );
  }
}