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);
}
}