using ErsatzTV.Core; using ErsatzTV.Core.Domain; using ErsatzTV.Core.Interfaces.Repositories; namespace ErsatzTV.Application.Configuration; public class UpdateUiSettingsHandler(IConfigElementRepository configElementRepository) : IRequestHandler> { public async Task> Handle( UpdateUiSettings request, CancellationToken cancellationToken) { return await ApplyUpdate(request.UiSettings, cancellationToken); } private async Task ApplyUpdate(UiSettingsViewModel uiSettings, CancellationToken cancellationToken) { await configElementRepository.Upsert( ConfigElementKey.PagesIsDarkMode, uiSettings.IsDarkMode, cancellationToken); await configElementRepository.Upsert(ConfigElementKey.PagesLanguage, uiSettings.Language, cancellationToken); return Unit.Default; } }