1use std::fs;
2#[cfg(unix)]
3use std::os::unix::fs::PermissionsExt;
4
5use crate::vault::Vault;
6
7pub fn debug_vault() {
8 println!("🔍 Vault Debug Information");
9 println!("==========================");
10
11 match Vault::new() {
12 Ok(vault) => {
13 let vault_path = vault.vault_path().clone();
15 println!("Vault path: {}", vault_path.display());
16
17 let exists = vault.exists();
18 println!("Vault exists: {}", exists);
19
20 if exists {
21 if let Ok(metadata) = fs::metadata(&vault_path) {
22 println!("File size: {} bytes", metadata.len());
23
24 #[cfg(unix)]
25 {
26 println!("Permissions: {:o}", metadata.permissions().mode());
27 }
28
29 if let Ok(modified) = metadata.modified() {
30 println!("Modified: {:?}", modified);
31 }
32 }
33
34 if let Ok(content) = fs::read(&vault_path) {
35 println!("File readable: ✅");
36 println!("Content size: {} bytes", content.len());
37 } else {
38 println!("File readable: ❌");
39 }
40 }
41 }
42 Err(e) => {
43 println!("❌ Failed to determine vault path: {}", e);
44 }
45 }
46}