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;
}