19 lines
765 B
TypeScript
19 lines
765 B
TypeScript
import type { NextApiRequest, NextApiResponse } from "next";
|
|
import { catalogDocuments } from "@/lib/collections";
|
|
import { allDocuments } from "@/lib/docs";
|
|
|
|
// The proxy authenticates this endpoint, including index content.
|
|
export default async function handler(request: NextApiRequest, response: NextApiResponse) {
|
|
response.setHeader("Cache-Control", "private, no-store");
|
|
if (request.method !== "GET") {
|
|
response.setHeader("Allow", "GET");
|
|
return response.status(405).end();
|
|
}
|
|
try {
|
|
const index = catalogDocuments(allDocuments()).map(({ content, ...doc }) => ({ ...doc, searchText: content }));
|
|
return response.status(200).json(index);
|
|
} catch {
|
|
return response.status(503).json({ error: "文档数据库暂时不可用" });
|
|
}
|
|
}
|