Skip to main content

saya_cli/
runtime_profile.rs

1use crate::config::runtime::{RuntimeConfig, RuntimeError};
2
3impl RuntimeConfig {
4    pub fn secret_resolver(&self) -> saya_config::MapSecretResolver {
5        saya_config::MapSecretResolver::new(self.secret_values.clone())
6    }
7
8    pub fn named_profile(&self, name: &str) -> Result<&saya_types::DatabaseProfile, RuntimeError> {
9        if self.resolved.profile_name.as_deref() == Some(name)
10            && let Some(profile) = self.resolved.profile.as_ref()
11        {
12            return Ok(profile);
13        }
14        self.connections.profiles.get(name).ok_or_else(|| {
15            RuntimeError::Config(saya_config::ConfigError::UnknownProfile(name.into()))
16        })
17    }
18}