From d63a1c1469c324df5f19dd746b659b4468d28afa Mon Sep 17 00:00:00 2001 From: Diego Rodrigues de Sa e Souza Date: Sat, 18 Jul 2026 00:38:18 -0300 Subject: [PATCH] refactor(api): extract isKnownImportProvider helper to keep importOneEntry under complexity 15 (#6836) --- src/app/api/providers/import/route.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/app/api/providers/import/route.ts b/src/app/api/providers/import/route.ts index f02e7f57f2..d050d6aaf5 100644 --- a/src/app/api/providers/import/route.ts +++ b/src/app/api/providers/import/route.ts @@ -62,18 +62,24 @@ async function resolveProviderSpecificData( return normalizeProviderSpecificData(entry.provider, base) || base; } +// Provider-existence check (moved out of the Zod schema so the client-reachable schema +// stays free of the server-only provider catalog — #6836; isManagedProviderConnectionId +// drags the server runtime into the browser/CLI bundle). Extracted as a helper so the +// per-row check adds no branches to importOneEntry's own complexity. +function isKnownImportProvider(provider: string): boolean { + return ( + isManagedProviderConnectionId(provider) || + isOpenAICompatibleProvider(provider) || + isAnthropicCompatibleProvider(provider) + ); +} + async function importOneEntry( entry: ImportEntry, validateKeys: boolean ): Promise<{ created: Record } | { error: string }> { - // Provider-existence check (moved here from the Zod schema so the client-reachable - // schema stays free of the server-only provider catalog — #6836). Rejects unknown - // providers per-row, preserving the partial-failure contract of /api/providers/bulk. - if ( - !isManagedProviderConnectionId(entry.provider) && - !isOpenAICompatibleProvider(entry.provider) && - !isAnthropicCompatibleProvider(entry.provider) - ) { + // Reject unknown providers per-row, preserving the partial-failure contract of /bulk. + if (!isKnownImportProvider(entry.provider)) { return { error: "Unknown or unsupported provider" }; }