using FluentValidation; using JetBrains.Annotations; using TrashLib.Config.Services; namespace TrashLib.Services.Sonarr.Config; [UsedImplicitly] internal class SonarrConfigurationValidator : AbstractValidator { public SonarrConfigurationValidator( ISonarrValidationMessages messages, IValidator serviceConfigValidator, IValidator releaseProfileConfigValidator) { Include(serviceConfigValidator); RuleForEach(x => x.ReleaseProfiles).SetValidator(releaseProfileConfigValidator); } } [UsedImplicitly] internal class ReleaseProfileConfigValidator : AbstractValidator { public ReleaseProfileConfigValidator(ISonarrValidationMessages messages) { RuleFor(x => x.TrashIds).NotEmpty().WithMessage(messages.ReleaseProfileTrashIds); } }