Mountain/Binary/Build/TlsCommands/
tls_initialize.rs1
2use std::sync::{Arc, Mutex};
7
8use tauri::{AppHandle, Manager};
9
10use crate::{Binary::Build::CertificateManager::CertificateManager, dev_log};
11
12#[tauri::command]
13pub async fn tls_initialize(app_handle:AppHandle) -> Result<String, String> {
14 dev_log!("security", "TLS certificate manager initializing");
15
16 let state = app_handle
17 .try_state::<Arc<Mutex<CertificateManager>>>()
18 .ok_or("Certificate manager not initialized in app state")?;
19
20 let cert_manager = state.clone();
21
22 let mut manager = cert_manager.lock().map_err(|e| format!("Failed to acquire lock: {}", e))?;
23
24 manager
25 .initialize_ca()
26 .await
27 .map_err(|e| format!("Failed to initialize CA: {}", e))?;
28
29 dev_log!("security", "TLS certificate manager initialized");
30
31 Ok("TLS certificate manager initialized".to_string())
32}