Files
Epicnabbo-Catalogus-Updated…/src/app/api/admin/catalog/suggest/route.ts
T

33 lines
851 B
TypeScript

import { withAdmin } from "@/lib/api-handler";
import { apiOk } from "@/lib/api-response";
import { PERMS } from "@/lib/permissions";
import { lookupHabboIt } from "@/lib/services/habbo-furnidata-cache";
export const GET = withAdmin(
{ permission: PERMS.CATALOG_VIEW },
async (request) => {
const raw = request.nextUrl.searchParams.get("classnames") || "";
const classnames = raw
.split(",")
.map((s) => s.trim())
.filter(Boolean)
.slice(0, 100);
const suggestions: Record<string, { name: string; description: string }> =
{};
await Promise.all(
classnames.map(async (classname) => {
const entry = await lookupHabboIt(classname);
if (!entry) return;
suggestions[classname] = {
name: entry.name ?? "",
description: entry.description ?? "",
};
}),
);
return apiOk({ suggestions });
},
);