Integrate Serilog and add configuration classes
Enhanced logging with Serilog, including request logging and structured exception handling during startup. Added support for the Options Pattern with new configuration classes: `DocumentOperatorSettings`, `RedisSettings`, and `ApiKeySettings`. Introduced `TenantInfo` class for tenant management. Updated project files to include new dependencies and removed unused `Configuration` folder reference.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
namespace DocumentOperator.Infrastructure.Configuration;
|
||||
|
||||
public class ApiKeySettings
|
||||
{
|
||||
public const string SectionName = "ApiKeySettings";
|
||||
|
||||
public bool EnableValidation { get; set; } = true;
|
||||
public Dictionary<string, TenantInfo> Keys { get; set; } = new();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace DocumentOperator.Infrastructure.Configuration;
|
||||
|
||||
public class DocumentOperatorSettings
|
||||
{
|
||||
public const string SectionName = "DocumentOperatorSettings";
|
||||
|
||||
public string TempFolderPath { get; set; } = string.Empty;
|
||||
public int TempFileRetentionHours { get; set; }
|
||||
public int MaxPdfSizeMB { get; set; }
|
||||
public bool EnableDetailedLogging { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace DocumentOperator.Infrastructure.Configuration;
|
||||
|
||||
public class RedisSettings
|
||||
{
|
||||
public const string SectionName = "RedisSettings";
|
||||
|
||||
public string ConnectionString { get; set; } = "localhost:6379";
|
||||
public string InstanceName { get; set; } = "DocumentOperator:";
|
||||
public int CacheExpirationMinutes { get; set; } = 60;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace DocumentOperator.Infrastructure.Configuration;
|
||||
|
||||
public class TenantInfo
|
||||
{
|
||||
public string TenantId { get; set; } = string.Empty;
|
||||
public string TenantName { get; set; } = string.Empty;
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
Reference in New Issue
Block a user