diff --git a/backend/src/models/api_key.rs b/backend/src/models/api_key.rs index 3912d82..345690a 100644 --- a/backend/src/models/api_key.rs +++ b/backend/src/models/api_key.rs @@ -20,7 +20,7 @@ pub struct UserApiKey { pub updated_at: DateTime, } -use crate::models::provider::VALID_PROVIDERS; +use crate::models::provider::VALID_API_KEY_PROVIDERS; /// Request body for `POST /api/v1/user/api-keys`. /// @@ -39,11 +39,11 @@ impl CreateApiKeyRequest { if provider.is_empty() { return Err("Provider name cannot be empty".into()); } - if !VALID_PROVIDERS.contains(&provider) { + if !VALID_API_KEY_PROVIDERS.contains(&provider) { return Err(format!( "Invalid provider '{}'. Must be one of: {}", provider, - VALID_PROVIDERS.join(", ") + VALID_API_KEY_PROVIDERS.join(", ") )); } diff --git a/backend/src/models/provider.rs b/backend/src/models/provider.rs index 41a2341..b809ce2 100644 --- a/backend/src/models/provider.rs +++ b/backend/src/models/provider.rs @@ -49,6 +49,9 @@ fn default_true() -> bool { /// Also used by `models::api_key` for validating user API key requests. pub const VALID_PROVIDERS: &[&str] = &["gemini", "openai", "anthropic"]; +/// Valid provider names for user API key storage (includes non-LLM services). +pub const VALID_API_KEY_PROVIDERS: &[&str] = &["gemini", "openai", "anthropic", "brave_search"]; + impl CreateProviderRequest { /// Validate the provider creation request. ///