30 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|