import { SITE_URL } from "./siteUrls";

// Public verification token — not a secret, it must be readable at
// `${SITE_URL}/${INDEXNOW_KEY}.txt` for Bing/IndexNow to trust submissions.
export const INDEXNOW_KEY = "51a19f373f1896a5d08c96497e680b36";

export type IndexNowResult = {
  ok: boolean;
  status?: number;
  submitted: number;
};

export async function submitUrlsToIndexNow(
  urls: string[]
): Promise<IndexNowResult> {
  if (urls.length === 0) return { ok: true, submitted: 0 };

  const res = await fetch("https://api.indexnow.org/indexnow", {
    method: "POST",
    headers: { "Content-Type": "application/json; charset=utf-8" },
    body: JSON.stringify({
      host: new URL(SITE_URL).host,
      key: INDEXNOW_KEY,
      keyLocation: `${SITE_URL}/${INDEXNOW_KEY}.txt`,
      urlList: urls,
    }),
  });

  return { ok: res.ok, status: res.status, submitted: urls.length };
}
