Rust backend: SQLite (WAL mode, 8 tables), vault encryption (Argon2id + AES-256-GCM), settings/connections/credentials services, 19 Tauri command wrappers. 46/46 tests passing. Vue 3 frontend: unlock/create vault flow, Pinia app store, Tailwind CSS v4 dark theme with Wraith branding. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
594 B
Rust
20 lines
594 B
Rust
use tauri::State;
|
|
|
|
use crate::AppState;
|
|
|
|
/// Retrieve the value for `key` from the settings store.
|
|
///
|
|
/// Returns `None` if the key has never been set.
|
|
#[tauri::command]
|
|
pub fn get_setting(key: String, state: State<'_, AppState>) -> Option<String> {
|
|
state.settings.get(&key)
|
|
}
|
|
|
|
/// Insert or update the value for `key` in the settings store.
|
|
///
|
|
/// Uses SQLite UPSERT semantics — creates the row if absent, overwrites if present.
|
|
#[tauri::command]
|
|
pub fn set_setting(key: String, value: String, state: State<'_, AppState>) -> Result<(), String> {
|
|
state.settings.set(&key, &value)
|
|
}
|