- Expanded IMoonrakerClient interface with 6 strongly-typed methods: - GetServerInfoAsync (Moonraker /server/info) - IsReachableAsync (connectivity check) - GetPrinterInfoAsync (Moonraker /printer/info) - GetPrintHistoryAsync (Moonraker /server/history/items) - GetPrintStatsAsync (Moonraker /printer/objects/query?print_stats) - GetDisplayStatusAsync (Moonraker /printer/objects/query?display_status) - GetFilamentUsageAsync (retained for backward compatibility) - Created Domain/DTOs/Moonraker/ with 7 DTOs: - MoonrakerServerInfo, MoonrakerPrinterInfo, MoonrakerPrintJob - MoonrakerHistoryResponse, MoonrakerPrintStats - MoonrakerDisplayStatus, MoonrakerRequest - Updated MoonrakerClient implementation to support all new methods with proper JSON parsing and mapping helpers - Full XML doc comments on all public members
36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
namespace Extrudex.Domain.DTOs.Moonraker;
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public class MoonrakerPrintStats
|
|
{
|
|
/// <summary>
|
|
/// Current print state: "standby", "printing", "paused", "complete", "error", "cancelled".
|
|
/// </summary>
|
|
public string State { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Total filament used in millimeters for the current print session.
|
|
/// </summary>
|
|
public decimal FilamentUsedMm { get; set; }
|
|
|
|
/// <summary>
|
|
/// Total print duration in seconds for the current print session.
|
|
/// </summary>
|
|
public decimal PrintDurationSeconds { get; set; }
|
|
|
|
/// <summary>
|
|
/// Filename of the G-code file currently being printed.
|
|
/// Null if no print is active.
|
|
/// </summary>
|
|
public string? Filename { get; set; }
|
|
|
|
/// <summary>
|
|
/// Detailed message from Klipper about the current print state.
|
|
/// May contain error details when state is "error".
|
|
/// </summary>
|
|
public string? Message { get; set; }
|
|
} |