(&mut self)
| 2400 | // ------------------------------------------------------------------ |
| 2401 | |
| 2402 | fn open_update_provider_form(&mut self) { |
| 2403 | let name = match self.provider_names.get(self.provider_selected) { |
| 2404 | Some(n) => n.clone(), |
| 2405 | None => return, |
| 2406 | }; |
| 2407 | let ptype = self |
| 2408 | .provider_types |
| 2409 | .get(self.provider_selected) |
| 2410 | .cloned() |
| 2411 | .unwrap_or_default(); |
| 2412 | let cred_key = self |
| 2413 | .provider_cred_keys |
| 2414 | .get(self.provider_selected) |
| 2415 | .cloned() |
| 2416 | .unwrap_or_default(); |
| 2417 | |
| 2418 | // If we don't know the credential key, derive from registry. |
| 2419 | let key = if cred_key.is_empty() { |
| 2420 | let registry = openshell_providers::ProviderRegistry::new(); |
| 2421 | registry |
| 2422 | .credential_env_vars(&ptype) |
| 2423 | .first() |
| 2424 | .map_or(String::new(), ToString::to_string) |
| 2425 | } else { |
| 2426 | cred_key |
| 2427 | }; |
| 2428 | |
| 2429 | self.update_provider_form = Some(UpdateProviderForm { |
| 2430 | provider_name: name, |
| 2431 | provider_type: ptype, |
| 2432 | credential_key: key, |
| 2433 | new_value: String::new(), |
| 2434 | status: None, |
| 2435 | }); |
| 2436 | } |
| 2437 | |
| 2438 | fn handle_update_provider_key(&mut self, key: KeyEvent) { |
| 2439 | let Some(form) = self.update_provider_form.as_mut() else { |
no test coverage detected