aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/lib.rs
diff options
context:
space:
mode:
authorGeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com>2023-05-07 01:42:02 +0200
committerGitHub <noreply@github.com>2023-05-07 01:42:02 +0200
commit39240807a19538142fb46f23f61f54ded98a22aa (patch)
tree6ef65724b803ede99eba3021e1d7bf4c4e4cabbd /src-tauri/src/lib.rs
parentb2d64fe32fa0015d383a82ec8d637e08286e37ee (diff)
downloadFlightCore-39240807a19538142fb46f23f61f54ded98a22aa.tar.gz
FlightCore-39240807a19538142fb46f23f61f54ded98a22aa.zip
refactor: Prepare code for installing older Northstar versions (#305)
* refactor: Rename function Rename `install_northstar` to `install_latest_northstar` to better indicate what it does * refactor: Have updater just call installer * refactor: Move package selection to calling func During installation, package should already be known so get package name earlier as opposed to passing `Option<T>` * chore: Format fix * refactor: Allow passing NS version to install If no version is passed, fallback is to latest * refactor: Rename function Back to `install_northstar` from `install_latest_northstar` as the function can now install any Northstar version * refactor: Do a borrow instead of clone * refactor: Use `map` and `unwrap_or` instead of `match`
Diffstat (limited to 'src-tauri/src/lib.rs')
-rw-r--r--src-tauri/src/lib.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index 9a05e1db..b5a5a5e9 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -279,19 +279,9 @@ async fn do_install(
pub async fn install_northstar(
window: tauri::Window,
game_path: &str,
- northstar_package_name: Option<String>,
+ northstar_package_name: String,
+ version_number: Option<String>,
) -> Result<String, String> {
- let northstar_package_name = match northstar_package_name {
- Some(northstar_package_name) => {
- if northstar_package_name.len() <= 1 {
- "Northstar".to_string()
- } else {
- northstar_package_name
- }
- }
- None => "Northstar".to_string(),
- };
-
let index = thermite::api::get_package_index().unwrap().to_vec();
let nmod = index
.iter()
@@ -299,11 +289,14 @@ pub async fn install_northstar(
.ok_or_else(|| panic!("Couldn't find Northstar on thunderstore???"))
.unwrap();
+ // Use passed version or latest if no version was passed
+ let version = version_number.as_ref().unwrap_or(&nmod.latest);
+
log::info!("Install path \"{}\"", game_path);
match do_install(
window,
- nmod.versions.get(&nmod.latest).unwrap(),
+ nmod.versions.get(version).unwrap(),
std::path::Path::new(game_path),
)
.await