use serde::{Serialize, Deserialize}; use tauri::State; use crate::state::AppState; use crate::storage; #[derive(Copy, Clone, Serialize, Deserialize)] pub struct Request { pub id: u64, } #[derive(Serialize, Deserialize)] pub struct RequestResponse { pub id: u64, pub approval: Approval, } #[derive(Serialize, Deserialize)] pub enum Approval { Approved, Denied, } #[tauri::command] pub fn respond(response: RequestResponse, app_state: State<'_, AppState>) -> Result<(), String> { app_state.send_response(response) .map_err(|e| format!("Error responding to request: {e}")) } #[tauri::command] pub fn unlock(passphrase: String, app_state: State<'_, AppState>) -> bool { let root_credentials = storage::load(&passphrase); app_state.set_creds(root_credentials); // for now true }