use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug)] enum PositionType { FullTime, PartTime, Seasonal, Contractor, } #[derive(Serialize, Deserialize, Debug)] struct Experience { place_of_work: String, position_type: PositionType, start_date: chrono::DateTime, end_date: Option>, job_title: String, skills: Option>, } #[derive(Serialize, Deserialize, Debug)] struct Education { level: String, school_name: String, major: Option, minor: Option, start_date: chrono::DateTime, end_date: Option>, } #[derive(Serialize, Deserialize, Debug)] struct Certification { name: String, link: Option, description: String, } #[derive(Serialize, Deserialize, Debug)] struct Config { full_name: String, website: Option, email: Option, phone: Option, summary: Option, skills: Option>, experience: Option>, education: Option>, certifications: Option>, } fn main() { let config_path = std::env::var("RB_CONFIG_PATH").unwrap(); let config_file = std::fs::read(config_path).unwrap(); let config: Config = serde_json::from_slice(&config_file).unwrap(); println!("{config:#?}"); }