use crate::apis::configuration::{ApiKey, Configuration};
#[derive(Debug, thiserror::Error, PartialEq, Eq)]
pub enum FromEnvError {
#[error("stadar: STADAR_API_KEY env var is not set")]
ApiKeyMissing,
}
pub fn from_env() -> Result<Configuration, FromEnvError> {
let api_key = std::env::var("STADAR_API_KEY").map_err(|_| FromEnvError::ApiKeyMissing)?;
if api_key.is_empty() {
return Err(FromEnvError::ApiKeyMissing);
}
let mut cfg = Configuration::new();
cfg.bearer_access_token = Some(api_key.clone());
cfg.api_key = Some(ApiKey { prefix: Some("Bearer".to_string()), key: api_key });
if let Ok(base) = std::env::var("STADAR_API_BASE_URL") {
if !base.is_empty() {
cfg.base_path = base;
}
}
Ok(cfg)
}