creddy/src-tauri/src/ipc.rs

42 lines
824 B
Rust
Raw Normal View History

2022-11-29 00:16:33 +00:00
use serde::{Serialize, Deserialize};
use tauri::State;
use crate::state::AppState;
use crate::storage;
2022-11-30 00:13:09 +00:00
#[derive(Copy, Clone, Serialize, Deserialize)]
pub struct Request {
pub id: u64,
}
2022-11-29 00:16:33 +00:00
#[derive(Serialize, Deserialize)]
pub struct RequestResponse {
pub id: u64,
pub approval: Approval,
}
#[derive(Serialize, Deserialize)]
pub enum Approval {
Approved,
Denied,
}
2022-11-29 00:16:33 +00:00
#[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);
2022-11-30 00:13:09 +00:00
app_state.set_creds(root_credentials); // for now
2022-11-29 00:16:33 +00:00
true
}