Files
TeleWave/backend/src/TeleWave.Application/Broadcast/UpdateViewerSettings/UpdateViewerSettingsCommand.cs
T

30 lines
1.0 KiB
C#

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