use std::fs; use serde_json; // Import the structs from the main crate use threefold_marketplace::services::user_persistence::UserPersistentData; fn main() { println!("šŸ” Testing JSON parsing for user1..."); let user1_path = "./user_data/user1_at_example_com.json"; match fs::read_to_string(user1_path) { Ok(json_content) => { println!("āœ“ Successfully read user1 JSON file"); match serde_json::from_str::(&json_content) { Ok(user_data) => { println!("āœ… SUCCESS: JSON parsing completed without errors!"); println!(" - User email: {}", user_data.user_email); println!(" - Number of nodes: {}", user_data.nodes.len()); println!(" - Number of SLAs: {}", user_data.slas.len()); println!(" - Number of services: {}", user_data.services.len()); println!(" - Number of apps: {}", user_data.apps.len()); if !user_data.nodes.is_empty() { let first_node = &user_data.nodes[0]; println!(" - First node: {} ({})", first_node.name, first_node.status); println!(" - Earnings today: {}", first_node.earnings_today_usd); } if !user_data.slas.is_empty() { let first_sla = &user_data.slas[0]; println!(" - First SLA: {} ({})", first_sla.name, first_sla.status); } println!("\nšŸŽ‰ All parsing successful! The JSON parsing fixes are working correctly."); }, Err(e) => { println!("āŒ JSON parsing failed: {}", e); println!("šŸ“„ Error details: {:#?}", e); } } }, Err(e) => { println!("āŒ Failed to read user1 JSON file: {}", e); } } }