bindizr 0.1.0-beta.4

DNS Synchronization Service for BIND9
Documentation
use std::process;

use crate::{
    config,
    socket::types::{DaemonResponse, DaemonStatusResponse},
};

pub(super) fn get_status() -> Result<DaemonResponse, String> {
    let pid = Some(process::id());
    let version = env!("CARGO_PKG_VERSION");
    let status = DaemonStatusResponse {
        pid,
        version: version.to_string(),
        config: config::get_bindizr_config().clone(),
    };

    let response = DaemonResponse {
        message: "Status retrieved successfully".to_string(),
        data: serde_json::to_value(status)
            .map_err(|e| format!("Failed to serialize status response: {}", e))?,
    };
    Ok(response)
}