using FluentValidation;

namespace TeleWave.Application.Library.BulkTagShows;

public sealed class BulkTagShowsCommandValidator : AbstractValidator<BulkTagShowsCommand>
{
    public BulkTagShowsCommandValidator()
    {
        RuleFor(x => x.ShowIds).NotEmpty();
        // Команда, которая ничего не меняет, — почти наверняка недосмотр вызывающей стороны.
        RuleFor(x => x)
            .Must(x => x.GenreIds is not null || x.SetAudience)
            .WithMessage("Нечего применять: не заданы ни жанры, ни рейтинг.");
    }
}
