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.
Prowlarr/src/Prowlarr.Api.V1/Indexers/IndexerStatusModule.cs

35 lines
1.1 KiB

using System.Collections.Generic;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ThingiProvider.Events;
using NzbDrone.SignalR;
using Prowlarr.Http;
namespace Prowlarr.Api.V1.Indexers
{
public class IndexerStatusModule : ProwlarrRestModuleWithSignalR<IndexerStatusResource, IndexerStatus>,
IHandle<ProviderStatusChangedEvent<IIndexer>>
{
private readonly IIndexerStatusService _indexerStatusService;
public IndexerStatusModule(IBroadcastSignalRMessage signalRBroadcaster, IIndexerStatusService indexerStatusService)
: base(signalRBroadcaster)
{
_indexerStatusService = indexerStatusService;
GetResourceAll = GetAll;
}
private List<IndexerStatusResource> GetAll()
{
return _indexerStatusService.GetBlockedProviders().ToResource();
}
public void Handle(ProviderStatusChangedEvent<IIndexer> message)
{
BroadcastResourceChange(ModelAction.Sync);
}
}
}