TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1import { NextRequest, NextResponse } from "next/server";2import { unifiedSearch, unifiedPoints } from "@/lib/search";3import { fromUrl } from "@/lib/search-params";4export const dynamic = "force-dynamic";5export async function GET(req: NextRequest) {6 const sp = Object.fromEntries(req.nextUrl.searchParams.entries());7 const p = fromUrl(sp, Math.min(Number(sp.limit ?? 24) || 24, 200));8 try {9 if (sp.format === "points") return NextResponse.json({ points: await unifiedPoints({ ...p, limit: 2000 }) }, { headers: { "Cache-Control": "public, max-age=120" } });10 return NextResponse.json(await unifiedSearch(p), { headers: { "Cache-Control": "public, max-age=120" } });11 } catch (e) { return NextResponse.json({ error: (e as Error).message }, { status: 503 }); }12}13