use crate::passutil::must_get_password;
use crate::vault::vault_crypto::decrypt_vault;
use std::io::{self, Write};
pub fn run_decryption() {
let mut path = String::new();
let mut key = String::new();
print!("🔓 Enter path to .vault file: ");
io::stdout().flush().unwrap();
io::stdin().read_line(&mut path).unwrap();
let path = path.trim();
print!("🗝️ Enter decryption key: ");
io::stdout().flush().unwrap();
io::stdin().read_line(&mut key).unwrap();
let password = must_get_password("Enter password: ");
match decrypt_vault(path, &password) {
Ok(payload) => {
println!("\n🔓 Decrypted Vault Content:");
println!("🧠 Raw Content: {:?}", payload.content);
println!("📅 Timestamp: {:?}", payload.metadata.created_at);
}
Err(e) => eprintln!("❌ Decryption failed: {e:?}"),
}
}