tracevault_cli/commands/
logout.rs1use crate::api_client::ApiClient;
2use crate::credentials::Credentials;
3
4pub async fn logout() -> Result<(), Box<dyn std::error::Error>> {
5 let creds = Credentials::load().ok_or("Not logged in. No credentials file found.")?;
6
7 let client = ApiClient::new(&creds.server_url, Some(&creds.token));
8 match client.logout().await {
9 Ok(()) => {}
10 Err(e) => eprintln!("Warning: could not invalidate server session: {e}"),
11 }
12
13 Credentials::delete()?;
14 println!("Logged out. Credentials removed.");
15 Ok(())
16}