fix: update the logic code for combos pages

This commit is contained in:
2026-07-14 17:09:56 +07:00
parent d5bf9d2e2e
commit 76a82bcfc9
11 changed files with 615 additions and 51 deletions
+7 -3
View File
@@ -111,17 +111,21 @@ export async function POST(request) {
// Dual-auth providers (e.g. codebuddy-cn, xai) live under category "oauth" but also
// accept an API key via authModes — they aren't in APIKEY_PROVIDERS, so allow them here.
const supportsApiKeyMode = !!AI_PROVIDERS[provider]?.authModes?.includes("apikey");
const isCompatibleProvider = isOpenAICompatibleProvider(provider)
|| isAnthropicCompatibleProvider(provider)
|| isCustomEmbeddingProvider(provider);
const isValidProvider = APIKEY_PROVIDERS[provider] ||
FREE_TIER_PROVIDERS[provider] ||
supportsApiKeyMode ||
isWebCookieProvider ||
isOpenAICompatibleProvider(provider) ||
isAnthropicCompatibleProvider(provider) ||
isCustomEmbeddingProvider(provider);
isCompatibleProvider;
if (!provider || !isValidProvider) {
return NextResponse.json({ error: "Invalid provider" }, { status: 400 });
}
if (isCompatibleProvider && user.role !== "admin") {
return NextResponse.json({ error: "Administrator access required" }, { status: 403 });
}
if (!apiKey && provider !== "ollama-local") {
return NextResponse.json({ error: `${isWebCookieProvider ? "Cookie value" : "API Key"} is required` }, { status: 400 });
}