namespace Extrudex.Domain.DTOs.Moonraker;
///
/// Response DTO for the Moonraker /server/info endpoint.
/// Contains server identification and operational state.
/// Used to verify connectivity and determine Moonraker version.
///
public class MoonrakerServerInfo
{
///
/// The hostname of the Moonraker server (e.g., "mainsail").
///
public string Hostname { get; set; } = string.Empty;
///
/// Moonraker software version string (e.g., "0.8.0-89ee464").
///
public string SoftwareVersion { get; set; } = string.Empty;
///
/// CPU model string reported by the host system.
///
public string CpuInfo { get; set; } = string.Empty;
///
/// Whether Klipper is currently connected to the MCU.
///
public bool KlippyConnected { get; set; }
///
/// The current Klipper state (e.g., "ready", "startup", "error").
///
public string KlippyState { get; set; } = string.Empty;
///
/// Whether the Moonraker API requires an authentication token.
///
public bool ApiKeyRequired { get; set; }
///
/// List of registered Moonraker plugin names.
///
public List Plugins { get; set; } = [];
}