about summary refs log tree commit diff
path: root/ModerationClient/Services/ModerationClientConfiguration.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ModerationClient/Services/ModerationClientConfiguration.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/ModerationClient/Services/ModerationClientConfiguration.cs b/ModerationClient/Services/ModerationClientConfiguration.cs
new file mode 100644

index 0000000..f770fef --- /dev/null +++ b/ModerationClient/Services/ModerationClientConfiguration.cs
@@ -0,0 +1,31 @@ +using System; +using System.Collections; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Linq; +using ArcaneLibs; +using ArcaneLibs.Extensions; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; + +namespace MatrixUtils.Desktop; + +public class ModerationClientConfiguration +{ + private ILogger<ModerationClientConfiguration> _logger; + + [RequiresUnreferencedCode("Uses reflection binding")] + public ModerationClientConfiguration(ILogger<ModerationClientConfiguration> logger, IConfiguration config, HostBuilderContext host) + { + _logger = logger; + logger.LogInformation("Loading configuration for environment: {}...", host.HostingEnvironment.EnvironmentName); + config.GetSection("ModerationClient").Bind(this); + DataStoragePath = Util.ExpandPath(DataStoragePath); + CacheStoragePath = Util.ExpandPath(CacheStoragePath); + } + + public string? DataStoragePath { get; set; } = ""; + public string? CacheStoragePath { get; set; } = ""; + public string? SentryDsn { get; set; } +} \ No newline at end of file