aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/development/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src-tauri/src/development/mod.rs')
-rw-r--r--src-tauri/src/development/mod.rs84
1 files changed, 0 insertions, 84 deletions
diff --git a/src-tauri/src/development/mod.rs b/src-tauri/src/development/mod.rs
deleted file mode 100644
index 7184904c..00000000
--- a/src-tauri/src/development/mod.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-use crate::constants::NS_LAUNCHER_COMMITS_API_URL;
-use crate::github::{
- pull_requests::{check_github_api, download_zip_into_memory, get_launcher_download_link},
- CommitInfo,
-};
-
-#[tauri::command]
-pub async fn install_git_main(game_install_path: &str) -> Result<String, String> {
- // Get list of commits
- let commits: Vec<CommitInfo> = serde_json::from_value(
- check_github_api(NS_LAUNCHER_COMMITS_API_URL)
- .await
- .expect("Failed request"),
- )
- .unwrap();
-
- // Get latest commit...
- let latest_commit_sha = commits[0].sha.clone();
- // ...and according artifact download URL
- let download_url = get_launcher_download_link(latest_commit_sha.clone()).await?;
-
- let archive = match download_zip_into_memory(download_url).await {
- Ok(archive) => archive,
- Err(err) => return Err(err.to_string()),
- };
-
- let extract_directory = format!(
- "{}/___flightcore-temp/download-dir/launcher-pr-{}",
- game_install_path, latest_commit_sha
- );
- match std::fs::create_dir_all(extract_directory.clone()) {
- Ok(_) => (),
- Err(err) => {
- return Err(format!(
- "Failed creating temporary download directory: {}",
- err
- ))
- }
- };
-
- let target_dir = std::path::PathBuf::from(extract_directory.clone()); // Doesn't need to exist
- match zip_extract::extract(std::io::Cursor::new(archive), &target_dir, true) {
- Ok(()) => (),
- Err(err) => {
- return Err(format!("Failed unzip: {}", err));
- }
- };
-
- // Copy only necessary files from temp dir
- // Copy:
- // - NorthstarLauncher.exe
- // - Northstar.dll
- let files_to_copy = vec!["NorthstarLauncher.exe", "Northstar.dll"];
- for file_name in files_to_copy {
- let source_file_path = format!("{}/{}", extract_directory, file_name);
- let destination_file_path = format!("{}/{}", game_install_path, file_name);
- match std::fs::copy(source_file_path, destination_file_path) {
- Ok(_result) => (),
- Err(err) => {
- return Err(format!(
- "Failed to copy necessary file {} from temp dir: {}",
- file_name, err
- ))
- }
- };
- }
-
- // delete extract directory
- match std::fs::remove_dir_all(&extract_directory) {
- Ok(()) => (),
- Err(err) => {
- return Err(format!(
- "Failed to delete temporary download directory: {}",
- err
- ))
- }
- }
-
- log::info!(
- "All done with installing launcher from {}",
- latest_commit_sha
- );
- Ok(latest_commit_sha)
-}