diff --git a/src/workers.rs b/src/workers.rs index 9811abb..1da2091 100644 --- a/src/workers.rs +++ b/src/workers.rs @@ -72,8 +72,16 @@ impl WorkerManager { // Read config for concurrency settings and spawn workers let cfg = state_clone.config.read().await.clone(); spawn_worker(state_clone.clone(), WorkTaskType::Download, 1); - spawn_worker(state_clone.clone(), WorkTaskType::Index, cfg.indexing.concurrency); - spawn_worker(state_clone.clone(), WorkTaskType::Tag, cfg.tagging.concurrency); + spawn_worker( + state_clone.clone(), + WorkTaskType::Index, + cfg.indexing.concurrency, + ); + spawn_worker( + state_clone.clone(), + WorkTaskType::Tag, + cfg.tagging.concurrency, + ); spawn_worker(state_clone.clone(), WorkTaskType::Organize, 4); }); } @@ -361,11 +369,11 @@ async fn process_index( break; } for track in &tracks { - if let Some(ref mbid) = track.musicbrainz_id { - if !wanted_mbids.contains(mbid.as_str()) { - let tag_payload = serde_json::json!({"track_id": track.id}); - downstream.push((WorkTaskType::Tag, tag_payload.to_string())); - } + if let Some(ref mbid) = track.musicbrainz_id + && !wanted_mbids.contains(mbid.as_str()) + { + let tag_payload = serde_json::json!({"track_id": track.id}); + downstream.push((WorkTaskType::Tag, tag_payload.to_string())); } } offset += 500; @@ -420,35 +428,34 @@ async fn process_tag( .map_err(|e| e.to_string())?; // Ensure a wanted_item exists for this track (marks imported files as Owned) - if let Some(ref mbid) = track.musicbrainz_id { - if queries::wanted::find_by_mbid(conn, mbid) + if let Some(ref mbid) = track.musicbrainz_id + && queries::wanted::find_by_mbid(conn, mbid) .await .map_err(|e| e.to_string())? .is_none() - { - let item = queries::wanted::add( - conn, - queries::wanted::AddWantedItem { - item_type: shanty_db::entities::wanted_item::ItemType::Track, - name: track.title.as_deref().unwrap_or("Unknown"), - musicbrainz_id: Some(mbid), - artist_id: track.artist_id, - album_id: track.album_id, - track_id: Some(track.id), - user_id: None, - }, - ) - .await - .map_err(|e| e.to_string())?; + { + let item = queries::wanted::add( + conn, + queries::wanted::AddWantedItem { + item_type: shanty_db::entities::wanted_item::ItemType::Track, + name: track.title.as_deref().unwrap_or("Unknown"), + musicbrainz_id: Some(mbid), + artist_id: track.artist_id, + album_id: track.album_id, + track_id: Some(track.id), + user_id: None, + }, + ) + .await + .map_err(|e| e.to_string())?; - // Mark as Owned immediately since the file already exists - let _ = queries::wanted::update_status( - conn, - item.id, - shanty_db::entities::wanted_item::WantedStatus::Owned, - ) - .await; - } + // Mark as Owned immediately since the file already exists + let _ = queries::wanted::update_status( + conn, + item.id, + shanty_db::entities::wanted_item::WantedStatus::Owned, + ) + .await; } // Create Organize work item