You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.3 KiB
39 lines
1.3 KiB
using NzbDrone.Core.Indexers;
|
|
using NzbDrone.Core.Indexers.Gazelle;
|
|
using NzbDrone.Core.Localization;
|
|
using NzbDrone.Core.ThingiProvider.Events;
|
|
|
|
namespace NzbDrone.Core.HealthCheck.Checks
|
|
{
|
|
[CheckOn(typeof(ProviderAddedEvent<IIndexer>))]
|
|
[CheckOn(typeof(ProviderDeletedEvent<IIndexer>))]
|
|
[CheckOn(typeof(ProviderUpdatedEvent<IIndexer>))]
|
|
public class RedactedGazelleCheck : HealthCheckBase
|
|
{
|
|
private readonly IIndexerFactory _indexerFactory;
|
|
|
|
public RedactedGazelleCheck(IIndexerFactory indexerFactory, ILocalizationService localizationService)
|
|
: base(localizationService)
|
|
{
|
|
_indexerFactory = indexerFactory;
|
|
}
|
|
|
|
public override HealthCheck Check()
|
|
{
|
|
var indexers = _indexerFactory.GetAvailableProviders();
|
|
|
|
foreach (var indexer in indexers)
|
|
{
|
|
var definition = (IndexerDefinition)indexer.Definition;
|
|
|
|
if (definition.Settings is GazelleSettings { BaseUrl: "https://redacted.ch" })
|
|
{
|
|
return new HealthCheck(GetType(), HealthCheckResult.Warning, "You have set up Redacted as a Gazelle indexer, please reconfigure using the Redacted indexer setting");
|
|
}
|
|
}
|
|
|
|
return new HealthCheck(GetType());
|
|
}
|
|
}
|
|
}
|