SPB Git
1.0 KB · 20 lines typescript
1import { z } from "zod";2import { guarded, json, body } from "@/lib/api";3import { listModels, updateModelFlags } from "@/lib/ai/registry";4import { getSetting, setSetting } from "@/lib/db";56export const GET = guarded(async (req) => {7  const all = req.nextUrl.searchParams.get("all") === "1";8  const models = await listModels({ includeHidden: all });9  const defaults = await getSetting<{ defaultModel?: string }>("models", {});10  const registry = await getSetting<Record<string, unknown>>("registry", {});11  return json({ models, defaultModel: defaults.defaultModel ?? null, registry });12});1314export const PATCH = guarded(async (req) => {15  const b = await body(req, z.object({ id: z.string(), hidden: z.boolean().optional(), favorite: z.boolean().optional(), default: z.boolean().optional() }));16  await updateModelFlags(b.id, { hidden: b.hidden, favorite: b.favorite });17  if (b.default) await setSetting("models", { ...(await getSetting<Record<string, unknown>>("models", {})), defaultModel: b.id });18  return json({ ok: true });19});20
Files · main
Menu

Theme