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