Added commands to read & store secrets

This commit is contained in:
Thorsten Sommer 2024-04-05 22:23:01 +02:00
parent 6bde4bb125
commit b02b39c023
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
4 changed files with 843 additions and 7 deletions

829
runtime/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -9,9 +9,10 @@ authors = ["Thorsten Sommer"]
tauri-build = { version = "1.5", features = [] }
[dependencies]
tauri = { version = "1.6", features = ["shell-open"] }
tauri = { version = "1.6", features = [ "path-all", "shell-open"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
keyring = "2"
[features]
# this feature is used for production builds or when `devPath` points to the filesystem

View File

@ -1,8 +1,23 @@
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use keyring::Entry;
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![store_secret, get_secret])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
#[tauri::command]
fn store_secret(destination: String, user_name: String, secret: String) {
let entry = Entry::new(&format!("mindwork-ai-studio::{}", destination), user_name.as_str()).unwrap();
entry.set_password(secret.as_str()).unwrap();
}
#[tauri::command]
fn get_secret(destination: String, user_name: String) -> String {
let entry = Entry::new(&format!("mindwork-ai-studio::{}", destination), user_name.as_str()).unwrap();
entry.get_password().unwrap()
}

View File

@ -14,6 +14,9 @@
"shell": {
"all": false,
"open": true
},
"path": {
"all": true
}
},
"windows": [