From bf775ebc4c77aac51f4695e65073b9abd1f0ea3c Mon Sep 17 00:00:00 2001 From: Antoine Gersant <antoine.gersant@lesforges.org> Date: Thu, 9 Jan 2025 21:59:59 -0800 Subject: [PATCH] Playlist migration --- .gitignore | 3 - src/app.rs | 25 +--- src/app/legacy.rs | 214 +++++++++++++++++++++++---- src/main.rs | 2 +- src/server/error.rs | 1 + test-data/legacy_db_blank.sqlite | Bin 0 -> 69632 bytes test-data/legacy_db_populated.sqlite | Bin 0 -> 274432 bytes 7 files changed, 193 insertions(+), 52 deletions(-) create mode 100644 test-data/legacy_db_blank.sqlite create mode 100644 test-data/legacy_db_populated.sqlite diff --git a/.gitignore b/.gitignore index b6aaed4..8ea7b59 100644 --- a/.gitignore +++ b/.gitignore @@ -11,9 +11,6 @@ test-output TestConfig.toml # Runtime artifacts -*.sqlite -**/*.sqlite-shm -**/*.sqlite-wal auth.secret collection.index polaris.log diff --git a/src/app.rs b/src/app.rs index 8500ed4..23a9824 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,7 +1,5 @@ -use std::cmp::min; use std::fs; use std::path::{Path, PathBuf}; -use std::time::Duration; use log::info; use rand::rngs::OsRng; @@ -109,6 +107,8 @@ pub enum Error { InvalidDirectory(String), #[error("The following virtual path could not be mapped to a real path: `{0}`")] CouldNotMapToRealPath(PathBuf), + #[error("The following real path could not be mapped to a virtual path: `{0}`")] + CouldNotMapToVirtualPath(PathBuf), #[error("User not found")] UserNotFound, #[error("Directory not found: {0}")] @@ -275,27 +275,14 @@ impl App { self.config_manager.apply_config(config).await?; self.config_manager.save_config().await?; - self.scanner.try_trigger_scan(); - let mut wait_seconds = 1; - loop { - tokio::time::sleep(Duration::from_secs(wait_seconds)).await; - if matches!( - self.scanner.get_status().await.state, - scanner::State::UpToDate - ) { - break; - } else { - info!("Migration is waiting for collection scan to finish"); - wait_seconds = min(2 * wait_seconds, 30); - } - } - info!("Migrating playlists"); for (name, owner, songs) in read_legacy_playlists( db_file_path, - self.config_manager.clone(), self.index_manager.clone(), - )? { + self.scanner.clone(), + ) + .await? + { self.playlist_manager .save_playlist(&name, &owner, songs) .await?; diff --git a/src/app/legacy.rs b/src/app/legacy.rs index ae06b58..a07fd25 100644 --- a/src/app/legacy.rs +++ b/src/app/legacy.rs @@ -1,8 +1,12 @@ -use std::{path::PathBuf, str::FromStr}; +use std::{ + collections::HashMap, + path::{Path, PathBuf}, + str::FromStr, +}; use rusqlite::Connection; -use crate::app::{config, index, Error}; +use crate::app::{config, index, scanner, Error}; pub fn read_legacy_auth_secret(db_file_path: &PathBuf) -> Result<[u8; 32], Error> { let connection = Connection::open(db_file_path)?; @@ -18,14 +22,26 @@ pub fn read_legacy_config( ) -> Result<Option<config::storage::Config>, Error> { let connection = Connection::open(db_file_path)?; - // Album art pattern let album_art_pattern: String = connection.query_row( "SELECT index_album_art_pattern FROM misc_settings", [], |row| row.get(0), )?; - // Mount directories + let mount_dirs = read_mount_dirs(db_file_path)?; + let users = read_users(db_file_path)?; + + Ok(Some(config::storage::Config { + album_art_pattern: Some(album_art_pattern), + mount_dirs, + ddns_update_url: None, + users: users.into_values().collect(), + })) +} + +fn read_mount_dirs(db_file_path: &PathBuf) -> Result<Vec<config::storage::MountDir>, Error> { + let connection = Connection::open(db_file_path)?; + let mut mount_dirs_statement = connection.prepare("SELECT source, name FROM mount_points")?; let mount_dirs_rows = mount_dirs_statement.query_and_then([], |row| { let source_string = row.get::<_, String>(0)?; @@ -37,40 +53,108 @@ pub fn read_legacy_config( name: row.get::<_, String>(1)?, }) })?; + let mut mount_dirs = vec![]; for mount_dir_result in mount_dirs_rows { mount_dirs.push(mount_dir_result?); } - // Users - let mut users_statement = connection.prepare("SELECT name, password_hash, admin FROM users")?; - let users_rows = users_statement.query_map([], |row| { - Ok(config::storage::User { - name: row.get(0)?, - admin: row.get(2)?, - initial_password: None, - hashed_password: row.get(1)?, - }) - })?; - let mut users = vec![]; - for user_result in users_rows { - users.push(user_result?); - } - - Ok(Some(config::storage::Config { - album_art_pattern: Some(album_art_pattern), - mount_dirs, - ddns_update_url: None, - users, - })) + Ok(mount_dirs) } -pub fn read_legacy_playlists( +fn read_users(db_file_path: &PathBuf) -> Result<HashMap<u32, config::storage::User>, Error> { + let connection = Connection::open(db_file_path)?; + let mut users_statement = + connection.prepare("SELECT id, name, password_hash, admin FROM users")?; + let users_rows = users_statement.query_map([], |row| { + Ok(( + row.get(0)?, + config::storage::User { + name: row.get(1)?, + admin: row.get(3)?, + initial_password: None, + hashed_password: row.get(2)?, + }, + )) + })?; + + let mut users = HashMap::new(); + for users_row in users_rows { + let (id, user) = users_row?; + users.insert(id, user); + } + + Ok(users) +} + +fn virtualize_path( + real_path: &PathBuf, + mount_dirs: &Vec<config::storage::MountDir>, +) -> Result<PathBuf, Error> { + for mount_dir in mount_dirs { + if let Ok(tail) = real_path.strip_prefix(&mount_dir.source) { + return Ok(Path::new(&mount_dir.name).join(tail)); + } + } + Err(Error::CouldNotMapToVirtualPath(real_path.clone())) +} + +pub async fn read_legacy_playlists( db_file_path: &PathBuf, - config_manager: config::Manager, index_manager: index::Manager, + scanner: scanner::Scanner, ) -> Result<Vec<(String, String, Vec<index::Song>)>, Error> { - Ok(vec![]) + scanner.run_scan().await?; + + let users = read_users(db_file_path)?; + let mount_dirs = read_mount_dirs(db_file_path)?; + let connection = Connection::open(db_file_path)?; + + let mut playlists_statement = connection.prepare("SELECT id, owner, name FROM playlists")?; + let playlists_rows = + playlists_statement.query_map([], |row| Ok((row.get(0)?, row.get(1)?, row.get(2)?)))?; + let mut playlists = HashMap::new(); + for playlists_row in playlists_rows { + let (id, owner, name): (u32, u32, String) = playlists_row?; + playlists.insert(id, (users.get(&owner).ok_or(Error::UserNotFound)?, name)); + } + + let mut playlists_by_user: HashMap<String, HashMap<String, Vec<index::Song>>> = HashMap::new(); + let mut songs_statement = + connection.prepare("SELECT playlist, path FROM playlist_songs ORDER BY ordering")?; + let mut songs_rows = songs_statement.query([])?; + while let Some(row) = songs_rows.next()? { + let playlist = playlists.get(&row.get(0)?).ok_or(Error::PlaylistNotFound)?; + let user = playlist.0.name.clone(); + let name = playlist.1.clone(); + let real_path = PathBuf::from(row.get::<_, String>(1)?); + let Ok(virtual_path) = virtualize_path(&real_path, &mount_dirs) else { + continue; + }; + let Ok(song) = index_manager + .get_songs(vec![virtual_path]) + .await + .pop() + .unwrap() + else { + continue; + }; + playlists_by_user + .entry(user) + .or_default() + .entry(name) + .or_default() + .push(song); + } + + let mut results = vec![]; + for (user, playlists) in playlists_by_user { + for (playlist_name, songs) in playlists { + results.push((playlist_name.clone(), user.clone(), songs)); + } + } + + Ok(results) } pub async fn delete_legacy_db(db_file_path: &PathBuf) -> Result<(), Error> { @@ -85,7 +169,10 @@ mod test { use std::path::PathBuf; use super::*; - use crate::app::config; + use crate::{ + app::{config, test}, + test_name, + }; #[test] fn can_read_auth_secret() { @@ -145,4 +232,73 @@ mod test { assert_eq!(actual, expected); } + + #[tokio::test] + async fn can_read_blank_playlists() { + let ctx = test::ContextBuilder::new(test_name!()).build().await; + + let actual = read_legacy_playlists( + &PathBuf::from_iter(["test-data", "legacy_db_blank.sqlite"]), + ctx.index_manager, + ctx.scanner, + ) + .await + .unwrap(); + + let expected = vec![]; + + assert_eq!(actual, expected); + } + + #[tokio::test] + async fn can_read_populated_playlists() { + let ctx = test::ContextBuilder::new(test_name!()).build().await; + let db_file_path = PathBuf::from_iter(["test-data", "legacy_db_populated.sqlite"]); + + let config = read_legacy_config(&db_file_path).unwrap().unwrap(); + ctx.config_manager.apply_config(config).await.unwrap(); + + let actual = read_legacy_playlists( + &db_file_path, + ctx.index_manager.clone(), + ctx.scanner.clone(), + ) + .await + .unwrap(); + + #[rustfmt::skip] + let song_paths = vec![ + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "01 - Otemoyan.mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "02 - Asadoya Yunta.mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "03 - Fortunate 1mark (A-4 Mix).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "04 - Hanagasa Ondo.mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "05 - Cantata No.147 (Video Mix).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "06 - Kokirikobushi (Video Mix).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "07 - Monkey Turn (Mahoroba Mix).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "08 - Otemoyan (Inst).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "09 - Asadoya Yunta (Inst).mp3"]), + PathBuf::from_iter(["root", "Omodaka","2011 - Cantata No.147", "10 - Hanagasa Ondo (Inst).mp3"]), + PathBuf::from_iter(["root", "Holy Konni","2013 - Fetushouse", "01 - Kate Moss Magic.mp3"]), + PathBuf::from_iter(["root", "Holy Konni","2013 - Fetushouse", "02 - Self Portrait 19.mp3"]), + PathBuf::from_iter(["root", "Holy Konni","2013 - Fetushouse", "03 - Vlieg Berg-Stop Nie.mp3"]), + PathBuf::from_iter(["root", "Holy Konni","2013 - Fetushouse", "04 - DREAM CRY BREAST LIFE.mp3"]), + PathBuf::from_iter(["root", "Holy Konni","2013 - Fetushouse", "05 - Natalie Reborn.mp3"]), + ]; + + let songs: Vec<index::Song> = ctx + .index_manager + .get_songs(song_paths) + .await + .into_iter() + .map(|s| s.unwrap()) + .collect(); + + let expected = vec![( + "Example Playlist".to_owned(), + "example_user".to_owned(), + songs, + )]; + + assert_eq!(actual, expected); + } } diff --git a/src/main.rs b/src/main.rs index 0331921..d9d2268 100644 --- a/src/main.rs +++ b/src/main.rs @@ -128,7 +128,7 @@ fn main() -> Result<(), Error> { info!("Cache files location is {:#?}", paths.cache_dir_path); info!("Data files location is {:#?}", paths.data_dir_path); info!("Config file location is {:#?}", paths.config_file_path); - info!("Database file location is {:#?}", paths.db_file_path); + info!("Legacy database file location is {:#?}", paths.db_file_path); info!("Log file location is {:#?}", paths.log_file_path); #[cfg(unix)] if !cli_options.foreground { diff --git a/src/server/error.rs b/src/server/error.rs index 11245f4..16bc717 100644 --- a/src/server/error.rs +++ b/src/server/error.rs @@ -132,6 +132,7 @@ impl From<app::Error> for APIError { app::Error::IndexSerializationError => APIError::Internal, app::Error::CouldNotMapToRealPath(_) => APIError::VFSPathNotFound, + app::Error::CouldNotMapToVirtualPath(_) => APIError::Internal, app::Error::UserNotFound => APIError::UserNotFound, app::Error::DirectoryNotFound(d) => APIError::DirectoryNotFound(d), app::Error::ArtistNotFound => APIError::ArtistNotFound, diff --git a/test-data/legacy_db_blank.sqlite b/test-data/legacy_db_blank.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..73a36dd380d71a5501f5019ffb5b0eb27e0b180a GIT binary patch literal 69632 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 F{{d{(8nOTY literal 0 HcmV?d00001 diff --git a/test-data/legacy_db_populated.sqlite b/test-data/legacy_db_populated.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..4bc3b27bc1fa0d3600cdd83c235a8d7d8c504d5f GIT binary patch literal 274432 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 literal 0 HcmV?d00001