namespace Extrudex.Domain.DTOs.Moonraker;
///
/// Response DTO for Moonraker /printer/objects/query?print_stats endpoint.
/// Contains real-time print statistics including current job state,
/// filament consumed, and file being printed.
///
public class MoonrakerPrintStats
{
///
/// Current print state: "standby", "printing", "paused", "complete", "error", "cancelled".
///
public string State { get; set; } = string.Empty;
///
/// Total filament used in millimeters for the current print session.
///
public decimal FilamentUsedMm { get; set; }
///
/// Total print duration in seconds for the current print session.
///
public decimal PrintDurationSeconds { get; set; }
///
/// Filename of the G-code file currently being printed.
/// Null if no print is active.
///
public string? Filename { get; set; }
///
/// Detailed message from Klipper about the current print state.
/// May contain error details when state is "error".
///
public string? Message { get; set; }
}