diff --git a/src-tauri/src/commands_v2/library.rs b/src-tauri/src/commands_v2/library.rs index 4c3675097..d0111df1b 100644 --- a/src-tauri/src/commands_v2/library.rs +++ b/src-tauri/src/commands_v2/library.rs @@ -10,6 +10,7 @@ use crate::library::{ get_artwork_cache_dir, thumbnails, AudioFormat, LibraryState, LocalAlbum, LocalTrack, MetadataExtractor, PlaylistLocalTrack, PlaylistSettings, PlaylistStats, ScanProgress, }; +use qbz_library::FolderTreeEntry; use crate::lyrics::LyricsState; use crate::offline::OfflineState; use crate::offline_cache::OfflineCacheState; @@ -2627,6 +2628,38 @@ pub async fn v2_library_get_folders_with_metadata( Ok(folders) } +#[tauri::command] +#[allow(non_snake_case)] +pub async fn v2_library_list_folder_children( + parentPath: String, + state: State<'_, LibraryState>, +) -> Result, String> { + log::info!("Command: v2_library_list_folder_children {}", parentPath); + + let guard__ = state.db.lock().await; + let db = guard__ + .as_ref() + .ok_or("No active session - please log in")?; + db.list_folder_children(&parentPath) + .map_err(|e| e.to_string()) +} + +#[tauri::command] +#[allow(non_snake_case)] +pub async fn v2_library_list_folder_tracks( + folderPath: String, + state: State<'_, LibraryState>, +) -> Result, String> { + log::info!("Command: v2_library_list_folder_tracks {}", folderPath); + + let guard__ = state.db.lock().await; + let db = guard__ + .as_ref() + .ok_or("No active session - please log in")?; + db.list_folder_tracks(&folderPath) + .map_err(|e| e.to_string()) +} + #[tauri::command] pub async fn v2_library_add_folder( path: String, diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 303cb0644..c583c6189 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -1767,6 +1767,8 @@ pub fn run(qconnect_cli_override: Option) { commands_v2::v2_library_get_albums_metadata, commands_v2::v2_library_get_folders, commands_v2::v2_library_get_folders_with_metadata, + commands_v2::v2_library_list_folder_children, + commands_v2::v2_library_list_folder_tracks, commands_v2::v2_library_add_folder, commands_v2::v2_library_cleanup_missing_files, commands_v2::v2_library_fetch_missing_artwork,