1#[cfg(feature = "server")]
2pub fn get_mac_address() -> Option<String> {
3 use pnet::datalink;
4 let interfaces = datalink::interfaces();
5 for iface in interfaces {
6 if iface.is_up() && !iface.is_loopback() {
8 if let Some(mac) = iface.mac {
9 if mac.octets() != [0, 0, 0, 0, 0, 0] {
10 return Some(mac.to_string().replace(":", ""));
11 }
12 }
13 }
14 }
15 None
16}
17#[cfg(feature = "server")]
18pub async fn reload_existing_site() -> Result<(String, crate::clock::Clock), String> {
19 use log::info;
20 match crate::db::get_local_state() {
21 Ok((site_id, clock)) => {
22 info!("Existing site state reloaded");
23 Ok((site_id, clock))
24 }
25 Err(e) => {
26 info!("No existing site state found, creating a new one.");
27 Err(format!("Failed to reload existing site: {}", e))
28 }
29 }
30}