SPB Git forge

spb/toveli

Public
14commits 1branches 0releases
1.1 MBsize
maindefault branch
yesterdaylast push
TypeScript 50.6% JavaScript 46.1% SQL 2.1% Shell 0.6% CSS 0.5%
776 B · 13 lines typescript
Raw Blame History
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