A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz

fix empty dropbox parent dir value

+17 -6
+3 -3
crates/dropbox/src/repo/dropbox_path.rs
··· 9 file: &Entry, 10 track: &Track, 11 dropbox_id: &str, 12 - parent_dir: Option<&str>, 13 ) -> Result<(), sqlx::Error> { 14 let results: Vec<DropboxDirectory> = sqlx::query_as( 15 r#" ··· 21 "#, 22 ) 23 .bind(dropbox_id) 24 - .bind(parent_dir) 25 .fetch_all(pool) 26 .await?; 27 28 - let parent_dir = match parent_dir { 29 Some(_) => results.first().map(|d| d.clone().xata_id), 30 None => None, 31 };
··· 9 file: &Entry, 10 track: &Track, 11 dropbox_id: &str, 12 + parent_path: Option<String>, 13 ) -> Result<(), sqlx::Error> { 14 let results: Vec<DropboxDirectory> = sqlx::query_as( 15 r#" ··· 21 "#, 22 ) 23 .bind(dropbox_id) 24 + .bind(&parent_path) 25 .fetch_all(pool) 26 .await?; 27 28 + let parent_dir = match parent_path { 29 Some(_) => results.first().map(|d| d.clone().xata_id), 30 None => None, 31 };
+14 -3
crates/dropbox/src/scan.rs
··· 97 if entry.tag.clone().unwrap().as_str() == "folder" { 98 println!("Scanning folder: {}", path.bright_green()); 99 100 - create_dropbox_directory(&pool, &entry, &dropbox_id, &path).await?; 101 102 // TODO: publish folder metadata to nats 103 ··· 283 match track { 284 Some(track) => { 285 println!("Track exists: {}", title.bright_green()); 286 - let status = create_dropbox_path(&pool, &entry, &track, &dropbox_id, Some(&path)).await; 287 println!("status: {:?}", status); 288 289 // TODO: publish file metadata to nats ··· 331 332 let track = get_track_by_hash(&pool, &hash).await?; 333 if let Some(track) = track { 334 - create_dropbox_path(&pool, &entry, &track, &dropbox_id, Some(&path)).await?; 335 336 // TODO: publish file metadata to nats 337
··· 97 if entry.tag.clone().unwrap().as_str() == "folder" { 98 println!("Scanning folder: {}", path.bright_green()); 99 100 + let parent_path = Path::new(&path) 101 + .parent() 102 + .map(|p| p.to_string_lossy().to_string()) 103 + .unwrap_or_else(|| "".to_string()); 104 + 105 + create_dropbox_directory(&pool, &entry, &dropbox_id, &parent_path).await?; 106 107 // TODO: publish folder metadata to nats 108 ··· 288 match track { 289 Some(track) => { 290 println!("Track exists: {}", title.bright_green()); 291 + let parent_path = Path::new(&path) 292 + .parent() 293 + .map(|p| p.to_string_lossy().to_string()); 294 + let status = create_dropbox_path(&pool, &entry, &track, &dropbox_id, parent_path).await; 295 println!("status: {:?}", status); 296 297 // TODO: publish file metadata to nats ··· 339 340 let track = get_track_by_hash(&pool, &hash).await?; 341 if let Some(track) = track { 342 + let parent_path = Path::new(&path) 343 + .parent() 344 + .map(|p| p.to_string_lossy().to_string()); 345 + create_dropbox_path(&pool, &entry, &track, &dropbox_id, parent_path).await?; 346 347 // TODO: publish file metadata to nats 348