namespace PrintService.Models; /// /// Application settings loaded from appsettings.json /// public class AppSettings { /// /// Path to monitor for incoming capture files /// public string CapturesPath { get; set; } = "Captures"; /// /// Path for queued files (after moving from Captures) /// public string QueuePath { get; set; } = "Queue"; /// /// Path for failed jobs /// public string ErrorPath { get; set; } = "Errors"; /// /// Default archive path /// public string ArchivePath { get; set; } = "Archive"; /// /// Maximum retry attempts before moving to error folder /// public int MaxRetryAttempts { get; set; } = 3; /// /// Debounce delay in milliseconds for file system watcher /// public int DebounceDelayMs { get; set; } = 200; /// /// Named pipe name for IPC communication /// public string PipeName { get; set; } = "PrintServicePipe"; /// /// Document type configurations /// public List DocumentTypes { get; set; } = new(); /// /// Queue state file path /// public string QueueStateFile { get; set; } = "queue_state.json"; /// /// Enable detailed logging /// public bool VerboseLogging { get; set; } = false; }