use crate::backend::http::{validate_provider, RetryPolicy};
use crate::ProserpinaError;
use super::{auth_to_http_config, AuthMethod, AuthUi, ProviderAuth};
pub fn run_api_key_flow(
ui: &dyn AuthUi,
provider: &ProviderAuth,
) -> Result<String, ProserpinaError> {
let AuthMethod::ApiKey { signup_url, .. } = &provider.method else {
return Err(ProserpinaError::agent_failure(
provider.name,
"not an API-key provider",
));
};
let key = ui.prompt_api_key(provider.name, signup_url)?;
ui.show_status("Validating...");
let config = auth_to_http_config(provider, key.clone());
validate_provider(&config, &RetryPolicy::NONE)?;
Ok(key)
}