SPB Git
724 B · 11 lines typescript
1import { listPapers } from "@/lib/papers/queries";2import { parseListParams } from "@/lib/papers/params";3import { json, limited, tooMany } from "@/lib/api";4import { APP_URL } from "@/lib/env";5export async function GET(req: Request) {6  if (limited(req, "api")) return tooMany();7  const sp: Record<string, string | string[]> = {}; for (const [k, v] of new URL(req.url).searchParams) sp[k] = sp[k] ? ([] as string[]).concat(sp[k], v) : v;8  const res = await listPapers(parseListParams(sp));9  return json({ ...res, items: res.items.map((p) => ({ ...p, url: `${APP_URL}/papers/${p.slug}`, pdf_url: p.has_pdf && p.file_id ? `${APP_URL}/api/files/${p.file_id}/${p.slug}-${p.version_label ?? "current"}.pdf` : null })) });10}11
Files · main
Menu

Theme