Skip to main content

Mountain/Binary/Build/DnsCommands/
dns_get_health_status.rs

1
2//! `dns_get_health_status` Tauri command - aggregated server /
3//! zone / forward status snapshot.
4
5use tauri::State;
6
7use crate::Binary::Build::{DnsCommands::DnsHealthStatus::DnsHealthStatus, Scheme::DnsPort};
8
9#[tauri::command]
10pub fn dns_get_health_status(dns_port:State<DnsPort>) -> Result<DnsHealthStatus, String> {
11	let port = dns_port.0;
12
13	if port == 0 {
14		return Ok(DnsHealthStatus {
15			server_status:"stopped".to_string(),
16			zone_status:"inactive".to_string(),
17			forward_status:"inactive".to_string(),
18			last_error:Some("DNS server is not running".to_string()),
19		});
20	}
21
22	Ok(DnsHealthStatus {
23		server_status:"running".to_string(),
24		zone_status:"active".to_string(),
25		forward_status:"active".to_string(),
26		last_error:None,
27	})
28}