41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
namespace Extrudex.Infrastructure.Configuration;
|
|
|
|
/// <summary>
|
|
/// Configuration options for the MoonrakerPrinterSync background service.
|
|
/// Bound from appsettings.json under the "MoonrakerPrinterSync" section.
|
|
/// Controls polling interval, timeouts, and feature toggles for the
|
|
/// printer status and print job mapping service.
|
|
/// </summary>
|
|
public class MoonrakerPrinterSyncOptions
|
|
{
|
|
/// <summary>
|
|
/// The section name in appsettings.json where these options are bound.
|
|
/// </summary>
|
|
public const string SectionName = "MoonrakerPrinterSync";
|
|
|
|
/// <summary>
|
|
/// How often the background service polls Moonraker printers for status
|
|
/// and print job data. Default: 1 minute.
|
|
/// </summary>
|
|
public TimeSpan PollingInterval { get; set; } = TimeSpan.FromMinutes(1);
|
|
|
|
/// <summary>
|
|
/// Timeout for individual HTTP requests to a Moonraker printer.
|
|
/// Default: 15 seconds.
|
|
/// </summary>
|
|
public TimeSpan RequestTimeout { get; set; } = TimeSpan.FromSeconds(15);
|
|
|
|
/// <summary>
|
|
/// Whether the Moonraker printer sync service is enabled.
|
|
/// Set to false to disable without removing the service registration.
|
|
/// Default: true.
|
|
/// </summary>
|
|
public bool Enabled { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Maximum number of print history items to fetch per printer per sync cycle.
|
|
/// Controls the batch size when syncing print jobs from Moonraker.
|
|
/// Default: 25.
|
|
/// </summary>
|
|
public int HistoryBatchSize { get; set; } = 25;
|
|
} |