fix(download manager): fix incorrect error assumptions & update types

This commit is contained in:
DecDuck
2024-12-31 00:08:05 +11:00
parent 4273b0ef90
commit ca3f9ca463
6 changed files with 31 additions and 22 deletions
+11 -2
View File
@@ -1,16 +1,17 @@
use std::sync::Mutex;
use log::info;
use serde::{Deserialize, Serialize};
use tauri::Emitter;
use tauri::{AppHandle, Manager};
use urlencoding::encode;
use crate::db::DatabaseImpls;
use crate::db::GameVersion;
use crate::db::GameStatus;
use crate::db::GameVersion;
use crate::downloads::download_manager::{DownloadManagerStatus, GameDownloadStatus};
use crate::process::process_manager::Platform;
use crate::remote::RemoteAccessError;
use crate::remote::{DropServerError, RemoteAccessError};
use crate::state::{GameStatusManager, GameStatusWithTransient};
use crate::{auth::generate_authorization_header, AppState, DB};
@@ -288,6 +289,14 @@ pub fn on_game_complete(
.header("Authorization", header)
.send()?;
if response.status() != 200 {
return Err(RemoteAccessError::InvalidResponse(
response.json::<DropServerError>().map_err(|e| {
RemoteAccessError::Generic(format!("failed to parse server error: {}", e))
})?,
));
}
let data = response.json::<GameVersion>()?;
let mut handle = DB.borrow_data_mut().unwrap();