Can specify environment variables in client configuration
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
use crate::data::entity_manager::EntityManager;
|
||||
use crate::utils::string_utils::apply_env_vars;
|
||||
|
||||
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, Eq, PartialEq)]
|
||||
pub struct ClientID(pub String);
|
||||
@ -32,4 +33,14 @@ impl EntityManager<Client> {
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
pub fn apply_environment_variables(&mut self) {
|
||||
for c in self.iter_mut() {
|
||||
c.id = ClientID(apply_env_vars(&c.id.0));
|
||||
c.name = apply_env_vars(&c.name);
|
||||
c.description = apply_env_vars(&c.description);
|
||||
c.secret = apply_env_vars(&c.secret);
|
||||
c.redirect_uri = apply_env_vars(&c.redirect_uri);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::slice::Iter;
|
||||
use std::slice::{Iter, IterMut};
|
||||
|
||||
use crate::utils::err::Res;
|
||||
|
||||
@ -87,6 +87,11 @@ impl<E> EntityManager<E>
|
||||
self.list.iter()
|
||||
}
|
||||
|
||||
/// Iterate over the entries of this entity manager
|
||||
pub fn iter_mut(&mut self) -> IterMut<'_, E> {
|
||||
self.list.iter_mut()
|
||||
}
|
||||
|
||||
/// Get a cloned list of entries
|
||||
pub fn cloned(&self) -> Vec<E> {
|
||||
self.list.clone()
|
||||
|
Reference in New Issue
Block a user