peillute/
utils.rs

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        // Ignore loopback et interfaces sans MAC
7        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}