Mountain/Binary/Build/TlsCommands/
tls_get_all_certs.rs1#![allow(non_snake_case)]
2
3use std::{
7 collections::HashMap,
8 sync::{Arc, Mutex},
9};
10
11use tauri::{AppHandle, Manager};
12
13use crate::{
14 Binary::Build::CertificateManager::{CertificateInfo, CertificateManager},
15 dev_log,
16};
17
18#[tauri::command]
19pub async fn tls_get_all_certs(app_handle:AppHandle) -> Result<HashMap<String, CertificateInfo>, String> {
20 dev_log!("security", "getting all server certificates");
21
22 let state = app_handle
23 .try_state::<Arc<Mutex<CertificateManager>>>()
24 .ok_or("Certificate manager not found")?;
25 let cert_manager = state.clone();
26
27 let manager = cert_manager.lock().map_err(|e| format!("Failed to acquire lock: {}", e))?;
28 Ok(manager.get_all_certs())
29}