mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Fixed: Sync on a mass Indexer edit
This commit is contained in:
@@ -16,6 +16,7 @@ namespace NzbDrone.Core.Applications
|
||||
IHandleAsync<ProviderDeletedEvent<IIndexer>>,
|
||||
IHandleAsync<ProviderAddedEvent<IApplication>>,
|
||||
IHandleAsync<ProviderUpdatedEvent<IIndexer>>,
|
||||
IHandleAsync<ProviderBulkUpdatedEvent<IIndexer>>,
|
||||
IHandleAsync<ApiKeyChangedEvent>,
|
||||
IExecute<ApplicationIndexerSyncCommand>
|
||||
{
|
||||
@@ -86,6 +87,15 @@ namespace NzbDrone.Core.Applications
|
||||
SyncIndexers(enabledApps, indexers);
|
||||
}
|
||||
|
||||
public void HandleAsync(ProviderBulkUpdatedEvent<IIndexer> message)
|
||||
{
|
||||
var enabledApps = _applicationsFactory.SyncEnabled();
|
||||
|
||||
var indexers = message.Definitions.Select(d => (IndexerDefinition)d).ToList();
|
||||
|
||||
SyncIndexers(enabledApps, indexers);
|
||||
}
|
||||
|
||||
public void Execute(ApplicationIndexerSyncCommand message)
|
||||
{
|
||||
var enabledApps = _applicationsFactory.SyncEnabled();
|
||||
|
@@ -0,0 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
using NzbDrone.Common.Messaging;
|
||||
|
||||
namespace NzbDrone.Core.ThingiProvider.Events
|
||||
{
|
||||
public class ProviderBulkUpdatedEvent<TProvider> : IEvent
|
||||
{
|
||||
public IEnumerable<ProviderDefinition> Definitions { get; private set; }
|
||||
|
||||
public ProviderBulkUpdatedEvent(IEnumerable<ProviderDefinition> definitions)
|
||||
{
|
||||
Definitions = definitions;
|
||||
}
|
||||
}
|
||||
}
|
@@ -113,6 +113,7 @@ namespace NzbDrone.Core.ThingiProvider
|
||||
public virtual void Update(IEnumerable<TProviderDefinition> definitions)
|
||||
{
|
||||
_providerRepository.UpdateMany(definitions.ToList());
|
||||
_eventAggregator.PublishEvent(new ProviderBulkUpdatedEvent<TProvider>(definitions));
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
|
Reference in New Issue
Block a user