WIP push-to-talk Letta chat frontend
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 61 lines 1.6 kB view raw
1use crate::{secrets::SecretName, state::AppState}; 2use std::str::FromStr; 3 4#[tauri::command] 5pub async fn has_secret(state: tauri::State<'_, AppState>, name: String) -> Result<bool, ()> { 6 match SecretName::from_str(&name) { 7 Ok(name) => { 8 let res = state 9 .secrets_manager 10 .has_secret(name) 11 .expect("failed to check credential existence"); 12 13 Ok(res) 14 } 15 Err(err) => { 16 eprintln!("invalid credential name: {}", err); 17 18 Ok(false) 19 } 20 } 21} 22 23#[tauri::command] 24pub fn set_secret( 25 state: tauri::State<'_, AppState>, 26 name: String, 27 value: String, 28) -> Result<(), ()> { 29 match SecretName::from_str(&name) { 30 Ok(name) => { 31 state 32 .secrets_manager 33 .set_secret(name, value) 34 .expect("failed to set credential"); 35 36 Ok(()) 37 } 38 Err(err) => { 39 eprintln!("failed to decode secret name: {}", err); 40 Err(()) 41 } 42 } 43} 44 45#[tauri::command] 46pub fn delete_secret(state: tauri::State<'_, AppState>, name: String) -> Result<(), ()> { 47 match SecretName::from_str(&name) { 48 Ok(name) => { 49 state 50 .secrets_manager 51 .delete_secret(name) 52 .expect("failed to delete credential"); 53 54 Ok(()) 55 } 56 Err(err) => { 57 eprintln!("failed to decode secret name: {}", err); 58 Err(()) 59 } 60 } 61}