Skip to main content

Mountain/Binary/Build/DnsCommands/
dns_get_health_status.rs

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