1 Commits

Author SHA1 Message Date
joren
e7b855c944 Restore user subcommand
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:04:43 +02:00

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 {