import { NextRequest, NextResponse } from "next/server";
import { getPublishedMarketingBlogPostsPage } from "@/lib/marketing-blog";

export const dynamic = "force-dynamic";

function positiveInteger(value: string | null, fallback: number, maximum: number) {
  const parsed = Number.parseInt(value ?? "", 10);

  if (!Number.isFinite(parsed)) return fallback;

  return Math.min(maximum, Math.max(0, parsed));
}

export async function GET(request: NextRequest) {
  const { searchParams } = new URL(request.url);
  const limit = positiveInteger(searchParams.get("limit"), 6, 24);
  const offset = positiveInteger(searchParams.get("offset"), 0, 100_000);
  const page = await getPublishedMarketingBlogPostsPage({ limit, offset });

  return NextResponse.json(page, {
    headers: {
      "Cache-Control": "no-store",
    },
  });
}
