oxyde_cloud_cli/commands/logout.rs
1use anyhow::{Context, Result};
2use keyring::Entry;
3
4pub fn logout() -> Result<()> {
5 let keyring_entry = Entry::new("oxyde-cloud", "api-key")
6 .context("Failed to create keyring entry for logout")?;
7
8 if let Err(err) = keyring_entry.delete_credential() {
9 if let keyring::Error::NoEntry = err {
10 // already logged out
11 Ok(())
12 } else {
13 Err(err).context("Failed to delete API key from keyring")
14 }
15 } else {
16 Ok(())
17 }
18}