feat(qbzd): login subcommand, library scan, service files (68 endpoints)
qbzd login: interactive OAuth via system browser. Opens browser, captures callback, exchanges code, saves token to keyring. Same flow as desktop app. Daemon auto-logins on next start. Library scan endpoint (POST /api/library/scan): discovers audio files in registered folders. Full metadata extraction deferred until MetadataExtractor moves to qbz-library crate. Service files: systemd, OpenRC, runit + example qbzd.toml config. cc
This commit is contained in:
9 files changed
+284
-3
No files matched your search
@@ -413,6 +413,7 @@ fn build_router(daemon: Arc<DaemonCore>) -> axum::Router {
|
||||
.route("/api/library/folders", get(with_daemon!(daemon, library::get_folders)))
|
||||
.route("/api/library/folders", post(with_daemon!(daemon, library::add_folder, json)))
|
||||
.route("/api/library/folders", delete(with_daemon!(daemon, library::remove_folder, json)))
|
||||
.route("/api/library/scan", post(with_daemon!(daemon, library::start_scan)))
|
||||
// Integrations
|
||||
.route("/api/integrations/listenbrainz", get(with_daemon!(daemon, integrations::get_listenbrainz_status)))
|
||||
.route("/api/integrations/listenbrainz/connect", post(with_daemon!(daemon, integrations::connect_listenbrainz, json)))
|
||||
|
||||
Reference in new issue
Block a user