oxyde-cloud-cli 0.4.4

CLI for the Oxyde Cloud
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use anyhow::{Context, Result};
use keyring::Entry;

pub fn logout() -> Result<()> {
    let keyring_entry = Entry::new("oxyde-cloud", "api-key")
        .context("Failed to create keyring entry for logout")?;

    if let Err(err) = keyring_entry.delete_credential() {
        if let keyring::Error::NoEntry = err {
            // already logged out
            Ok(())
        } else {
            Err(err).context("Failed to delete API key from keyring")
        }
    } else {
        Ok(())
    }
}