namespace Extrudex.Domain.DTOs.Moonraker;

/// <summary>
/// Request DTO for querying the Moonraker API.
/// Encapsulates the connection parameters needed to reach a specific
/// Moonraker instance on a Klipper-based printer.
/// </summary>
public class MoonrakerRequest
{
    /// <summary>
    /// Hostname or IP address of the Moonraker printer.
    /// </summary>
    public string HostnameOrIp { get; set; } = string.Empty;

    /// <summary>
    /// Port number for the Moonraker API. Default: 7125.
    /// </summary>
    public int Port { get; set; } = 7125;

    /// <summary>
    /// Optional API key for authenticating with Moonraker.
    /// Required when the server has API key authentication enabled.
    /// </summary>
    public string? ApiKey { get; set; }
}