Psychotoxical
|
f43ab94cc1
|
refactor(app_api): split navidrome.rs into 5-way module directory
Convert app_api/navidrome.rs (655 LOC monolith) into navidrome/ with
five focused submodules + a thin mod.rs:
- client.rs (106 LOC) — auth + retry + http client (navidrome_token,
NdLoginResult, nd_err, nd_retry, nd_http_client). Internal-only,
not re-exported at crate scope.
- covers.rs (107 LOC) — 4 multipart image-upload commands
(upload_playlist_cover / upload_radio_cover / upload_artist_image /
delete_radio_cover).
- users.rs (138 LOC) — login + admin user CRUD (navidrome_login +
nd_list/create/update/delete_user).
- queries.rs (207 LOC) — songs, role-filtered artists/albums,
libraries, per-user library assignment, absolute song path.
Includes the nd_build_filters helper.
- playlists.rs (120 LOC) — playlist CRUD with smart-rules payload
passthrough (nd_list / create / update / get / delete _playlist).
mod.rs is now ~28 LOC of declarations + per-module re-exports of the
Tauri commands. The cascade `app_api/mod.rs` → `pub(crate) use
navidrome::*` keeps lib.rs invoke_handler registrations unchanged.
Behaviour-preserving — pure file moves with `super::client::*` imports
where the auth/retry helpers are needed.
|
2026-05-08 15:59:39 +02:00 |
|