* initial fixes * 0.8.0 beta fixes * run actions * run fmt * Fix windows build * Add purge cache opt * add must revalidate to project req * lint + clippy * fix processes, open folder * Update migrator to use old launcher cache for perf * fix empty dirs not moving * fix lint + create natives dir if not exist * fix large request batches * finish * Fix deep linking on mac * fix comp err * fix comp err (2) --------- Signed-off-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
39 lines
950 B
Rust
39 lines
950 B
Rust
//! Theseus profile management interface
|
|
|
|
pub use crate::{
|
|
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
|
State,
|
|
};
|
|
|
|
/// Gets entire settings
|
|
#[tracing::instrument]
|
|
pub async fn get() -> crate::Result<Settings> {
|
|
let state = State::get().await?;
|
|
let settings = Settings::get(&state.pool).await?;
|
|
Ok(settings)
|
|
}
|
|
|
|
/// Sets entire settings
|
|
#[tracing::instrument]
|
|
pub async fn set(settings: Settings) -> crate::Result<()> {
|
|
let state = State::get().await?;
|
|
settings.update(&state.pool).await?;
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[tracing::instrument]
|
|
pub async fn cancel_directory_change() -> crate::Result<()> {
|
|
let pool = crate::state::db::connect().await?;
|
|
let mut settings = Settings::get(&pool).await?;
|
|
|
|
if let Some(prev_custom_dir) = settings.prev_custom_dir {
|
|
settings.prev_custom_dir = None;
|
|
settings.custom_dir = Some(prev_custom_dir);
|
|
}
|
|
|
|
settings.update(&pool).await?;
|
|
|
|
Ok(())
|
|
}
|