import type { APIRoute, GetStaticPaths } from "astro";
import { loadDocs } from "../../lib/docs";
import { markdownFor } from "../../lib/llms";

export const getStaticPaths: GetStaticPaths = async () => {
  const docs = await loadDocs();
  return [...docs.values()].map((doc) => ({ params: { slug: doc.url.slice(1, -1) }, props: { id: doc.id } }));
};

export const GET: APIRoute = async ({ props, site }) => {
  const docs = await loadDocs();
  return new Response(markdownFor(docs.get(props.id)!, docs, site!), { headers: { "content-type": "text/markdown; charset=utf-8" } });
};
