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.
Lidarr/src/NzbDrone.Core/HealthCheck/Checks/RedactedGazelleCheck.cs

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());
}
}
}