namespace Extrudex.Infrastructure.Configuration; /// /// Configuration options for the FilamentUsageSync background job. /// Bound from appsettings.json under the "FilamentUsageSync" section. /// Controls polling interval and per-printer timeout settings. /// public class FilamentUsageSyncOptions { /// /// The section name in appsettings.json where these options are bound. /// public const string SectionName = "FilamentUsageSync"; /// /// How often the background job polls printers for usage data. /// Default: 5 minutes. Minimum recommended: 1 minute. /// public TimeSpan PollingInterval { get; set; } = TimeSpan.FromMinutes(5); /// /// Timeout for individual HTTP requests to a Moonraker printer. /// Default: 30 seconds. /// public TimeSpan RequestTimeout { get; set; } = TimeSpan.FromSeconds(30); /// /// Whether the sync job is enabled. Set to false to disable /// the background job without removing its registration. /// Default: true. /// public bool Enabled { get; set; } = true; }