astro_hts/frontend/src/pages/api/search.json.ts

22 lines
587 B
TypeScript
Raw Normal View History

2026-03-25 23:05:46 +00:00
import type { APIRoute } from "astro";
import { getCollection } from "astro:content";
import type { CollectionEntry } from "astro:content";
export const GET: APIRoute = async (): Promise<Response> => {
const allPosts: CollectionEntry<"post">[] = await getCollection("post");
const searchData = allPosts.map((post) => ({
slug: post.slug,
title: post.data.title,
description: post.data.description,
body: post.body,
}));
return new Response(JSON.stringify(searchData), {
status: 200,
headers: {
"Content-Type": "application/json",
},
});
};