From fbaa5d7ad4d3674f991ae73c672190cdd6ddac01 Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:07:43 +0200 Subject: refactor: Move `install_mod_wrapper` (#627) Move `install_mod_wrapper` to `mod_management` module to clean up `main.rs`. --- src-tauri/src/main.rs | 27 +-------------------------- src-tauri/src/mod_management/mod.rs | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 207a148a..3290912d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -136,7 +136,7 @@ fn main() { github::release_notes::get_northstar_release_notes, platform_specific::linux_checks, mod_management::get_installed_mods_and_properties, - install_mod_wrapper, + mod_management::install_mod_wrapper, clean_up_download_folder_wrapper, github::release_notes::get_newest_flightcore_version, mod_management::delete_northstar_mod, @@ -202,31 +202,6 @@ pub fn convert_release_candidate_number(version_number: String) -> String { version_number.replace("-rc", "0").replace("00", "") } -/// Installs the specified mod -#[tauri::command] -async fn install_mod_wrapper( - game_install: GameInstall, - thunderstore_mod_string: String, -) -> Result<(), String> { - match mod_management::fc_download_mod_and_install(&game_install, &thunderstore_mod_string).await - { - Ok(()) => (), - Err(err) => { - log::warn!("{err}"); - return Err(err); - } - }; - match repair_and_verify::clean_up_download_folder(&game_install, false) { - Ok(()) => Ok(()), - Err(err) => { - log::info!("Failed to delete download folder due to {}", err); - // Failure to delete download folder is not an error in mod install - // As such ignore. User can still force delete if need be - Ok(()) - } - } -} - /// Installs the specified mod #[tauri::command] async fn clean_up_download_folder_wrapper( diff --git a/src-tauri/src/mod_management/mod.rs b/src-tauri/src/mod_management/mod.rs index a9826522..ab639b11 100644 --- a/src-tauri/src/mod_management/mod.rs +++ b/src-tauri/src/mod_management/mod.rs @@ -89,6 +89,30 @@ impl std::ops::Deref for TempFile { } } +/// Installs the specified mod +#[tauri::command] +pub async fn install_mod_wrapper( + game_install: GameInstall, + thunderstore_mod_string: String, +) -> Result<(), String> { + match fc_download_mod_and_install(&game_install, &thunderstore_mod_string).await { + Ok(()) => (), + Err(err) => { + log::warn!("{err}"); + return Err(err); + } + }; + match crate::repair_and_verify::clean_up_download_folder(&game_install, false) { + Ok(()) => Ok(()), + Err(err) => { + log::info!("Failed to delete download folder due to {}", err); + // Failure to delete download folder is not an error in mod install + // As such ignore. User can still force delete if need be + Ok(()) + } + } +} + /// Returns a serde json object of the parsed `enabledmods.json` file pub fn get_enabled_mods(game_install: &GameInstall) -> Result { let enabledmods_json_path = format!( -- cgit v1.2.3