using ErsatzTV.Core.Domain; using ErsatzTV.Core.Interfaces.Repositories; using Serilog.Events; namespace ErsatzTV.Application.Configuration; public class GetGeneralSettingsHandler : IRequestHandler { private readonly IConfigElementRepository _configElementRepository; public GetGeneralSettingsHandler(IConfigElementRepository configElementRepository) => _configElementRepository = configElementRepository; public async Task Handle(GetGeneralSettings request, CancellationToken cancellationToken) { Option maybeLogLevel = await _configElementRepository.GetValue(ConfigElementKey.MinimumLogLevel); return new GeneralSettingsViewModel { MinimumLogLevel = await maybeLogLevel.IfNoneAsync(LogEventLevel.Information) }; } }