portkey/
debug.rs

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            // Get path via debug method
14            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}