✨ Adds update confirmation check
Signed-off-by: Ash Svitan <selfsigned-ash@proton.me>
This commit is contained in:
+29
-20
@@ -3,7 +3,8 @@ mod rbw;
|
||||
mod sh;
|
||||
|
||||
use std::env;
|
||||
use std::io::{Error, ErrorKind};
|
||||
use std::io;
|
||||
use std::io::{Error, ErrorKind, Write};
|
||||
|
||||
const ENV_VAR_DEFAULT_VAULT: &str = "PASS_VAULT";
|
||||
|
||||
@@ -56,14 +57,12 @@ fn main() -> Result<(), Error> {
|
||||
|
||||
'inner: for pass_login_iter in pass_logins.iter() {
|
||||
if rbw_login.name == pass_login_iter.title {
|
||||
println!("found match! {}", rbw_login.name);
|
||||
pass_login = Some(pass_login_iter);
|
||||
break 'inner;
|
||||
}
|
||||
}
|
||||
|
||||
if let None = pass_login {
|
||||
println!("no match found for {}!", rbw_login.name);
|
||||
continue;
|
||||
}
|
||||
let pass_login = pass_login.unwrap();
|
||||
@@ -78,29 +77,39 @@ fn main() -> Result<(), Error> {
|
||||
};
|
||||
let pass_user_is_actually_email = pass_user == pass_login.email;
|
||||
|
||||
if rbw_password == pass_password {
|
||||
let rbw_index = rbw_logins
|
||||
.iter()
|
||||
.position(|x| x.id == rbw_login.id)
|
||||
.unwrap();
|
||||
rbw_logins.remove(rbw_index);
|
||||
if rbw_user != pass_user || rbw_password != pass_password {
|
||||
// TODO: need to update
|
||||
println!("Attempting to update:");
|
||||
println!("\t{} -> {}", pass_user, rbw_user);
|
||||
println!("\t{} -> {}", pass_password, rbw_password);
|
||||
print!("Proceed? [y/N] ");
|
||||
io::stdout().flush()?;
|
||||
let mut input = String::new();
|
||||
io::stdin().read_line(&mut input)?;
|
||||
|
||||
let pass_index = pass_logins
|
||||
.iter()
|
||||
.position(|x| x.id == pass_login.id)
|
||||
.unwrap();
|
||||
pass_logins.remove(pass_index);
|
||||
continue;
|
||||
} else {
|
||||
println!(
|
||||
"password doesn't match! '{}' / '{}'",
|
||||
rbw_password, pass_password
|
||||
);
|
||||
if input.to_lowercase() == "y\n" {
|
||||
println!("UPDATING!!!");
|
||||
}
|
||||
}
|
||||
|
||||
let rbw_index = rbw_logins
|
||||
.iter()
|
||||
.position(|x| x.id == rbw_login.id)
|
||||
.unwrap();
|
||||
rbw_logins.remove(rbw_index);
|
||||
|
||||
let pass_index = pass_logins
|
||||
.iter()
|
||||
.position(|x| x.id == pass_login.id)
|
||||
.unwrap();
|
||||
pass_logins.remove(pass_index);
|
||||
}
|
||||
|
||||
// TODO: need to create these
|
||||
println!("remaining {} rbw items", rbw_logins.len());
|
||||
println!("{:?}", rbw_logins);
|
||||
|
||||
// TODO: need to delete these
|
||||
println!("remaining {} pass items", pass_logins.len());
|
||||
println!("{:?}", pass_logins);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user