Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Sonarr/commit/438e3199ded5a99a1b59b3e583cb0d5fdf47fd30
You should set ROOT_URL correctly, otherwise the web may not work correctly.
6 changed files with
48 additions and
37 deletions
@ -64,7 +64,7 @@ namespace NzbDrone.Api.Indexers
indexer . InjectFrom ( indexerResource ) ;
indexer . Settings = SchemaDeserializer . DeserializeSchema ( indexer . Settings , indexerResource . Fields ) ;
Validate Setting( indexer . Settings ) ;
Validate Indexer( indexer ) ;
indexer = _indexerService . Update ( indexer ) ;
@ -75,13 +75,16 @@ namespace NzbDrone.Api.Indexers
}
private static void Validate Setting( IIndexerSetting setting )
private static void Validate Indexer( Indexer indexer )
{
var validationResult = setting . Validate ( ) ;
if ( ! validationResult . IsValid )
if ( indexer . Enable )
{
throw new ValidationException ( validationResult . Errors ) ;
var validationResult = indexer . Settings . Validate ( ) ;
if ( ! validationResult . IsValid )
{
throw new ValidationException ( validationResult . Errors ) ;
}
}
}
@ -100,7 +103,7 @@ namespace NzbDrone.Api.Indexers
indexer . InjectFrom ( indexerResource ) ;
indexer . Settings = SchemaDeserializer . DeserializeSchema ( indexer . Settings , indexerResource . Fields ) ;
Validate Setting( indexer . Settings ) ;
Validate Indexer( indexer ) ;
return indexer ;
}
@ -6,15 +6,4 @@ namespace NzbDrone.Core.Indexers
{
ValidationResult Validate ( ) ;
}
public class NullSetting : IIndexerSetting
{
public static readonly NullSetting Instance = new NullSetting ( ) ;
public ValidationResult Validate ( )
{
return new ValidationResult ( ) ;
}
}
}
@ -7,12 +7,22 @@ using NzbDrone.Core.Validation;
namespace NzbDrone.Core.Indexers.Newznab
{
public class NewznabSettingsValidator : AbstractValidator < NewznabSettings >
{
public NewznabSettingsValidator ( )
{
RuleFor ( c = > c . Url ) . ValidRootUrl ( ) ;
}
}
public class NewznabSettings : IIndexerSetting
{
private static readonly NewznabSettingsValidator Validator = new NewznabSettingsValidator ( ) ;
public NewznabSettings ( )
{
Categories = new [ ] { 5030 , 5040 } ;
//RuleFor(c => c.Url).ValidRootUrl();
}
[FieldDefinition(0, Label = "URL")]
@ -23,18 +33,9 @@ namespace NzbDrone.Core.Indexers.Newznab
public IEnumerable < Int32 > Categories { get ; set ; }
public bool IsValid
{
get
{
return ! string . IsNullOrWhiteSpace ( Url ) ;
}
}
public ValidationResult Validate ( )
{
return new ValidationResult ( ) ;
//return Validate(this);
return Validator . Validate ( this ) ;
}
}
}
@ -0,0 +1,14 @@
using FluentValidation.Results ;
namespace NzbDrone.Core.Indexers
{
public class NullSetting : IIndexerSetting
{
public static readonly NullSetting Instance = new NullSetting ( ) ;
public ValidationResult Validate ( )
{
return new ValidationResult ( ) ;
}
}
}
@ -1,18 +1,22 @@
using System ;
using FluentValidation ;
using FluentValidation.Results ;
using Newtonsoft.Json ;
using NzbDrone.Core.Annotations ;
namespace NzbDrone.Core.Indexers.Omgwtfnzbs
{
public class OmgwtfnzbsSettingsValidator : AbstractValidator < OmgwtfnzbsSettings >
{
public OmgwtfnzbsSettingsValidator ( )
{
RuleFor ( c = > c . Username ) . NotEmpty ( ) ;
RuleFor ( c = > c . ApiKey ) . NotEmpty ( ) ;
}
}
public class OmgwtfnzbsSettings : IIndexerSetting
{
// public OmgwtfnzbsSettings()
// {
// RuleFor(c => c.Username).NotEmpty();
// RuleFor(c => c.ApiKey).NotEmpty();
// }
private static readonly OmgwtfnzbsSettingsValidator Validator = new OmgwtfnzbsSettingsValidator ( ) ;
[FieldDefinition(0, Label = "Username")]
public String Username { get ; set ; }
@ -22,8 +26,7 @@ namespace NzbDrone.Core.Indexers.Omgwtfnzbs
public ValidationResult Validate ( )
{
return new ValidationResult ( ) ;
//return Validate(this);
return Validator . Validate ( this ) ;
}
}
}
@ -210,6 +210,7 @@
<Compile Include= "Indexers\IndexerSettingUpdatedEvent.cs" />
<Compile Include= "Indexers\IndexerWithSetting.cs" />
<Compile Include= "Indexers\Newznab\SizeParsingException.cs" />
<Compile Include= "Indexers\NullSetting.cs" />
<Compile Include= "Indexers\RssSyncCommand.cs" />
<Compile Include= "Indexers\XElementExtensions.cs" />
<Compile Include= "Instrumentation\Commands\ClearLogCommand.cs" />