11 lines
540 B
TypeScript
11 lines
540 B
TypeScript
import { NextRequest } from "next/server";
|
|
import { dFetchJSON, applyQFilter, json, Option } from "../_lib";
|
|
|
|
type Row = { id: number | string; name?: string | null };
|
|
|
|
export async function GET(req: NextRequest) {
|
|
const q = new URL(req.url).searchParams.get("q");
|
|
const { data } = await dFetchJSON<{ data: Row[] }>(req, "/items/material?fields=id,name&limit=1000&sort=name");
|
|
const options: Option[] = data.map((r) => ({ id: r.id, label: r.name ?? String(r.id) }));
|
|
return json(applyQFilter(options, q, (o) => o.label));
|
|
}
|