use dialoguer::Confirm; use std::env; use tgl_cli::api; fn main() -> Result<(), Box> { let token = env::var("TOGGL_API_TOKEN").expect("missing TOGGL_API_TOKEN environment variable"); let client = api::Client::new(token)?; let workspaces = client.get_workspaces()?; if Confirm::new().with_prompt("Print workspaces?").interact()? { println!("{workspaces:#?}"); } for w in workspaces { let projects = client.get_projects(&w.id)?; let projects: Vec<_> = projects.iter().filter(|p| p.active).collect(); if Confirm::new() .with_prompt("Print active projects?") .interact()? { println!("{projects:#?}"); } let time_entries = client.get_time_entries(None)?; if Confirm::new() .with_prompt("Print recent time entries?") .interact()? { println!("{time_entries:#?}"); } } Ok(()) }