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