diff options
author | GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> | 2023-10-13 14:07:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 14:07:43 +0200 |
commit | fbaa5d7ad4d3674f991ae73c672190cdd6ddac01 (patch) | |
tree | 2439e5e4856a350bc6f074f5963a27c825996a01 /src-tauri | |
parent | b58d8d138919ec911369b644d7a49c94215c77a9 (diff) | |
download | FlightCore-fbaa5d7ad4d3674f991ae73c672190cdd6ddac01.tar.gz FlightCore-fbaa5d7ad4d3674f991ae73c672190cdd6ddac01.zip |
refactor: Move `install_mod_wrapper` (#627)
Move `install_mod_wrapper` to `mod_management` module to clean up `main.rs`.
Diffstat (limited to 'src-tauri')
-rw-r--r-- | src-tauri/src/main.rs | 27 | ||||
-rw-r--r-- | 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, @@ -204,31 +204,6 @@ pub fn convert_release_candidate_number(version_number: String) -> String { /// 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( game_install: GameInstall, force: bool, 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<serde_json::value::Value, String> { let enabledmods_json_path = format!( |