From 8ca072d902023041d059876cd309300f986b4376 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 4 Jun 2026 15:12:42 +0800 Subject: [PATCH] fix: refresh site settings after provider changes --- app/api/admin/ai-providers/route.ts | 4 ++++ app/api/worldlabs/key-pool/import/route.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/app/api/admin/ai-providers/route.ts b/app/api/admin/ai-providers/route.ts index 59d94ddbb..1fc55d2a9 100644 --- a/app/api/admin/ai-providers/route.ts +++ b/app/api/admin/ai-providers/route.ts @@ -9,6 +9,7 @@ import { } from "@/lib/db/queries"; import { ChatSDKError } from "@/lib/errors"; import { BLTCY_VIDEO_BASE_URL, isBltcyVideoBaseUrl } from "@/lib/ai/bltcy-video-models"; +import { clearScopedSiteSettingsCache } from "@/lib/site-settings/public-cache"; const providerTypes = [ "alibaba", @@ -255,6 +256,7 @@ export async function POST(request: Request) { }); console.log("[Admin API] Provider created successfully:", provider[0].id); + clearScopedSiteSettingsCache(); return Response.json({ provider: normalizeProviderTypeForResponse(provider[0] as any) }); } catch (error) { console.error("[Admin API] Create provider error:", error); @@ -300,6 +302,7 @@ export async function PUT(request: Request) { return new ChatSDKError("bad_request:api", "Provider not found").toResponse(); } + clearScopedSiteSettingsCache(); return Response.json({ provider: normalizeProviderTypeForResponse(provider[0] as any) }); } catch (error) { if (error instanceof ChatSDKError) { @@ -325,6 +328,7 @@ export async function DELETE(request: Request) { await deleteAiProvider({ id }); + clearScopedSiteSettingsCache(); return Response.json({ success: true }); } catch (error) { if (error instanceof ChatSDKError) { diff --git a/app/api/worldlabs/key-pool/import/route.ts b/app/api/worldlabs/key-pool/import/route.ts index 11c74a603..dbcf89a35 100644 --- a/app/api/worldlabs/key-pool/import/route.ts +++ b/app/api/worldlabs/key-pool/import/route.ts @@ -5,6 +5,7 @@ import { } from "@/lib/db/queries"; import { ChatSDKError } from "@/lib/errors"; import { requireAdmin } from "@/lib/middleware/admin"; +import { clearScopedSiteSettingsCache } from "@/lib/site-settings/public-cache"; import { sanitizeWorldLabsApiKey, sanitizeWorldLabsBaseUrl, @@ -220,6 +221,9 @@ export async function POST(request: Request) { isEnabled: created[0]?.isEnabled === true, }); } + if (imported.length > 0) { + clearScopedSiteSettingsCache(); + } return Response.json({ success: true,