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