Skip to main content

Mountain/Binary/Build/TlsCommands/
tls_get_all_certs.rs

1
2//! `tls_get_all_certs` Tauri command - hostname → cert info
3//! map for the diagnostic panel.
4
5use 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}