mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-02-22 15:47:54 +01:00
* Update environment model to get ready for request/folder environments * Folder environments in UI * Folder environments working * Tweaks and fixes * Tweak environment encryption UX * Tweak environment encryption UX * Address comments * Update fn name * Add tsc back to lint rules * Update src-web/components/EnvironmentEditor.tsx * Merge remote-tracking branch 'origin/folder-environments' into folder…
30 lines
789 B
Rust
30 lines
789 B
Rust
use crate::models::{Environment, EnvironmentVariable};
|
|
use std::collections::HashMap;
|
|
|
|
pub fn make_vars_hashmap(environment_chain: Vec<Environment>) -> HashMap<String, String> {
|
|
let mut variables = HashMap::new();
|
|
|
|
for e in environment_chain.iter().rev() {
|
|
variables = add_variable_to_map(variables, &e.variables);
|
|
}
|
|
|
|
variables
|
|
}
|
|
|
|
fn add_variable_to_map(
|
|
m: HashMap<String, String>,
|
|
variables: &Vec<EnvironmentVariable>,
|
|
) -> HashMap<String, String> {
|
|
let mut map = m.clone();
|
|
for variable in variables {
|
|
if !variable.enabled || variable.value.is_empty() {
|
|
continue;
|
|
}
|
|
let name = variable.name.as_str();
|
|
let value = variable.value.as_str();
|
|
map.insert(name.into(), value.into());
|
|
}
|
|
|
|
map
|
|
}
|