Fixed: Sync Indexers on App Edit

This commit is contained in:
Qstick
2022-04-16 15:23:23 -05:00
parent 16f0486da2
commit cf01c52c34

View File

@@ -17,6 +17,7 @@ namespace NzbDrone.Core.Applications
IHandleAsync<ProviderDeletedEvent<IIndexer>>,
IHandleAsync<ProviderAddedEvent<IApplication>>,
IHandleAsync<ProviderUpdatedEvent<IIndexer>>,
IHandleAsync<ProviderUpdatedEvent<IApplication>>,
IHandleAsync<ProviderBulkUpdatedEvent<IIndexer>>,
IHandleAsync<ApiKeyChangedEvent>,
IExecute<ApplicationIndexerSyncCommand>
@@ -49,6 +50,19 @@ namespace NzbDrone.Core.Applications
}
}
public void HandleAsync(ProviderUpdatedEvent<IApplication> message)
{
var appDefinition = (ApplicationDefinition)message.Definition;
if (appDefinition.Enable)
{
var app = _applicationsFactory.GetInstance(appDefinition);
var indexers = _indexerFactory.Enabled().Select(i => (IndexerDefinition)i.Definition).ToList();
SyncIndexers(new List<IApplication> { app }, indexers);
}
}
public void HandleAsync(ProviderAddedEvent<IIndexer> message)
{
var enabledApps = _applicationsFactory.SyncEnabled();