using FluentValidation; using LiteCqrs; using TeleWave.Application.Common.Models; using TeleWave.Domain.Broadcast; namespace TeleWave.Application.Broadcast.UpdateViewerSettings; /// /// Оверлеи и аналоговый фильтр канала (см. 6.8). Отдельной командой, а не в общих настройках: /// это про то, как канал выглядит у зрителя, и правится другими руками и в другой момент. /// public sealed record UpdateViewerSettingsCommand( Guid ChannelId, Guid? LogoImageId, LogoCorner LogoCorner, double LogoOpacity, bool ShowClock, double AnalogFilterStrength ) : ICommand; public sealed class UpdateViewerSettingsCommandValidator : AbstractValidator { public UpdateViewerSettingsCommandValidator() { RuleFor(x => x.LogoOpacity).InclusiveBetween(0.0, 1.0); RuleFor(x => x.AnalogFilterStrength).InclusiveBetween(0.0, 1.0); } }