Restore user subcommand

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
joren
2026-04-02 01:03:57 +02:00
parent 233045510a
commit e7b855c944

View File

@@ -5,6 +5,7 @@ use tokio::sync::Mutex;
use tracing::{error, Level}; use tracing::{error, Level};
use tracing_subscriber::FmtSubscriber; use tracing_subscriber::FmtSubscriber;
use qobuzd::api::QobuzApi;
use qobuzd::auth::QobuzAuth; use qobuzd::auth::QobuzAuth;
use qobuzd::config::Config; use qobuzd::config::Config;
use qobuzd::qconnect::QConnect; use qobuzd::qconnect::QConnect;
@@ -33,6 +34,7 @@ enum Commands {
}, },
Logout, Logout,
Status, Status,
User,
Serve, Serve,
} }
@@ -94,6 +96,26 @@ async fn main() -> Result<()> {
} }
} }
Commands::User => {
let guard = auth.lock().await;
let token = guard.get_valid_token().await?;
drop(guard);
let api = QobuzApi::new(&config);
match api.get_user(&token).await {
Ok(user) => {
println!("User: {}", user.display_name.unwrap_or_default());
println!("Email: {}", user.email);
if let Some(sub) = &user.subscription {
println!("Subscription: {}", sub.offer);
}
}
Err(e) => {
error!("Failed: {}", e);
std::process::exit(1);
}
}
}
Commands::Serve => { Commands::Serve => {
let guard = auth.lock().await; let guard = auth.lock().await;
let token = match guard.get_valid_token().await { let token = match guard.get_valid_token().await {