From 3258a3d7097167c33fd710a5a61004742cc8d895 Mon Sep 17 00:00:00 2001 From: quexeky Date: Sun, 10 Nov 2024 13:18:28 +1100 Subject: [PATCH] feat(library): Added option to change root directory Signed-off-by: quexeky --- desktop/pages/store/index.vue | 26 +++++++++++++++++++++++--- desktop/src-tauri/src/db.rs | 7 +++++-- desktop/src-tauri/src/lib.rs | 3 ++- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/desktop/pages/store/index.vue b/desktop/pages/store/index.vue index 77edfa89..7b7665fa 100644 --- a/desktop/pages/store/index.vue +++ b/desktop/pages/store/index.vue @@ -8,6 +8,7 @@ + + diff --git a/desktop/src-tauri/src/db.rs b/desktop/src-tauri/src/db.rs index af76da80..a76c5d9c 100644 --- a/desktop/src-tauri/src/db.rs +++ b/desktop/src-tauri/src/db.rs @@ -6,11 +6,12 @@ use std::{ }; use directories::BaseDirs; +use log::info; use rustbreak::{deser::Bincode, PathDatabase}; use serde::{Deserialize, Serialize}; use url::Url; -use crate::DB; +use crate::{AppState, DB}; #[derive(serde::Serialize, Clone, Deserialize)] #[serde(rename_all = "camelCase")] @@ -91,7 +92,9 @@ impl DatabaseImpls for DatabaseInterface { } } -fn change_root_directory>(new_dir: T) { +#[tauri::command] +pub fn change_root_directory(new_dir: String) { + info!("Changed root directory to {}", new_dir); let mut lock = DATA_ROOT_DIR.lock().unwrap(); *lock = new_dir.into(); } \ No newline at end of file diff --git a/desktop/src-tauri/src/lib.rs b/desktop/src-tauri/src/lib.rs index 24a8837e..0b868b72 100644 --- a/desktop/src-tauri/src/lib.rs +++ b/desktop/src-tauri/src/lib.rs @@ -10,7 +10,7 @@ mod tests; use crate::db::DatabaseImpls; use crate::downloads::download_agent::GameDownloadAgent; use auth::{auth_initiate, generate_authorization_header, recieve_handshake}; -use db::{DatabaseInterface, DATA_ROOT_DIR}; +use db::{change_root_directory, DatabaseInterface, DATA_ROOT_DIR}; use downloads::download_commands::*; use env_logger::Env; use http::{header::*, response::Builder as ResponseBuilder}; @@ -119,6 +119,7 @@ pub fn run() { // Library fetch_library, fetch_game, + change_root_directory, // Downloads queue_game_download, start_game_downloads,