Mountain/Binary/Build/TlsCommands/
tls_delete_cert.rs1#![allow(non_snake_case)]
2
3use std::sync::{Arc, Mutex};
9
10use tauri::{AppHandle, Manager};
11
12use crate::{Binary::Build::CertificateManager::CertificateManager, dev_log};
13
14#[tauri::command]
15pub async fn tls_delete_cert(app_handle:AppHandle, hostname:String) -> Result<String, String> {
16 dev_log!("security", "deleting certificate for {}", hostname);
17
18 let state = app_handle
19 .try_state::<Arc<Mutex<CertificateManager>>>()
20 .ok_or("Certificate manager not found")?;
21
22 let cert_manager = state.clone();
23
24 {
25 let mut manager = cert_manager.lock().map_err(|e| format!("Failed to acquire lock: {}", e))?;
26
27 let _result = manager.renew_certificate(&hostname);
28 }
29
30 Ok(format!("Certificate deleted for {}", hostname))
31}