|
|
|
@ -72,26 +72,34 @@ namespace Sonarr.Api.V3.Series
|
|
|
|
|
_commandQueueManager = commandQueueManager;
|
|
|
|
|
_rootFolderService = rootFolderService;
|
|
|
|
|
|
|
|
|
|
Http.Validation.RuleBuilderExtensions.ValidId(SharedValidator.RuleFor(s => s.QualityProfileId));
|
|
|
|
|
|
|
|
|
|
SharedValidator.RuleFor(s => s.Path)
|
|
|
|
|
.Cascade(CascadeMode.Stop)
|
|
|
|
|
SharedValidator.RuleFor(s => s.Path).Cascade(CascadeMode.Stop)
|
|
|
|
|
.IsValidPath()
|
|
|
|
|
.SetValidator(rootFolderValidator)
|
|
|
|
|
.SetValidator(mappedNetworkDriveValidator)
|
|
|
|
|
.SetValidator(seriesPathValidator)
|
|
|
|
|
.SetValidator(seriesAncestorValidator)
|
|
|
|
|
.SetValidator(systemFolderValidator)
|
|
|
|
|
.When(s => !s.Path.IsNullOrWhiteSpace());
|
|
|
|
|
|
|
|
|
|
SharedValidator.RuleFor(s => s.QualityProfileId).SetValidator(qualityProfileExistsValidator);
|
|
|
|
|
.When(s => s.Path.IsNotNullOrWhiteSpace());
|
|
|
|
|
|
|
|
|
|
PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => s.RootFolderPath.IsNullOrWhiteSpace());
|
|
|
|
|
PostValidator.RuleFor(s => s.RootFolderPath)
|
|
|
|
|
PostValidator.RuleFor(s => s.Path).Cascade(CascadeMode.Stop)
|
|
|
|
|
.NotEmpty()
|
|
|
|
|
.IsValidPath()
|
|
|
|
|
.When(s => s.RootFolderPath.IsNullOrWhiteSpace());
|
|
|
|
|
PostValidator.RuleFor(s => s.RootFolderPath).Cascade(CascadeMode.Stop)
|
|
|
|
|
.NotEmpty()
|
|
|
|
|
.IsValidPath()
|
|
|
|
|
.SetValidator(rootFolderExistsValidator)
|
|
|
|
|
.SetValidator(seriesFolderAsRootFolderValidator)
|
|
|
|
|
.When(s => s.Path.IsNullOrWhiteSpace());
|
|
|
|
|
|
|
|
|
|
PutValidator.RuleFor(s => s.Path).Cascade(CascadeMode.Stop)
|
|
|
|
|
.NotEmpty()
|
|
|
|
|
.IsValidPath();
|
|
|
|
|
|
|
|
|
|
SharedValidator.RuleFor(s => s.QualityProfileId).Cascade(CascadeMode.Stop)
|
|
|
|
|
.ValidId()
|
|
|
|
|
.SetValidator(qualityProfileExistsValidator);
|
|
|
|
|
|
|
|
|
|
PostValidator.RuleFor(s => s.Title).NotEmpty();
|
|
|
|
|
PostValidator.RuleFor(s => s.TvdbId).GreaterThan(0).SetValidator(seriesExistsValidator);
|
|
|
|
|
}
|
|
|
|
|