2023-04-03 13:46:04 -07:00
|
|
|
//! Theseus profile management interface
|
2023-06-30 08:11:32 -07:00
|
|
|
|
2023-04-03 13:46:04 -07:00
|
|
|
pub use crate::{
|
2024-07-24 11:03:19 -07:00
|
|
|
state::{Hooks, MemorySettings, Profile, Settings, WindowSize},
|
2023-04-03 13:46:04 -07:00
|
|
|
State,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/// Gets entire settings
|
|
|
|
|
#[tracing::instrument]
|
|
|
|
|
pub async fn get() -> crate::Result<Settings> {
|
|
|
|
|
let state = State::get().await?;
|
2024-07-24 11:03:19 -07:00
|
|
|
let settings = Settings::get(&state.pool).await?;
|
|
|
|
|
Ok(settings)
|
2023-04-03 13:46:04 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Sets entire settings
|
|
|
|
|
#[tracing::instrument]
|
|
|
|
|
pub async fn set(settings: Settings) -> crate::Result<()> {
|
|
|
|
|
let state = State::get().await?;
|
2024-07-24 11:03:19 -07:00
|
|
|
settings.update(&state.pool).await?;
|
2023-07-21 20:16:07 -07:00
|
|
|
|
2023-04-03 13:46:04 -07:00
|
|
|
Ok(())
|
2023-04-05 10:07:59 -07:00
|
|
|
}
|