+36
@@ -0,0 +1,36 @@
|
||||
mod pass;
|
||||
mod sh;
|
||||
|
||||
use std::env;
|
||||
use std::io::{Error, ErrorKind};
|
||||
|
||||
const ENV_VAR_DEFAULT_VAULT: &str = "PASS_VAULT";
|
||||
|
||||
fn main() -> Result<(), Error> {
|
||||
pass::check_pass()?;
|
||||
let vaults = pass::get_vaults()?;
|
||||
if vaults.len() <= 0 {
|
||||
return Err(Error::new(ErrorKind::Other, "No vaults found"));
|
||||
}
|
||||
|
||||
let mut vault = String::new();
|
||||
match env::var(ENV_VAR_DEFAULT_VAULT) {
|
||||
Ok(default_vault) => {
|
||||
if vaults.contains(&default_vault) {
|
||||
vault = default_vault;
|
||||
} else {
|
||||
return Err(Error::new(
|
||||
ErrorKind::Other,
|
||||
format!("Vault {} does not exist", default_vault),
|
||||
));
|
||||
}
|
||||
}
|
||||
Err(_) => {
|
||||
vault = vaults.get(0).unwrap().clone();
|
||||
println!("No default vault found (you can set it with {}), using {}...", ENV_VAR_DEFAULT_VAULT, vault);
|
||||
}
|
||||
};
|
||||
println!("selected: {:?}", vault);
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
Reference in New Issue
Block a user