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<ProviderDeletedEvent<IIndexer>>,
|
||||||
IHandleAsync<ProviderAddedEvent<IApplication>>,
|
IHandleAsync<ProviderAddedEvent<IApplication>>,
|
||||||
IHandleAsync<ProviderUpdatedEvent<IIndexer>>,
|
IHandleAsync<ProviderUpdatedEvent<IIndexer>>,
|
||||||
|
IHandleAsync<ProviderBulkUpdatedEvent<IIndexer>>,
|
||||||
IHandleAsync<ApiKeyChangedEvent>,
|
IHandleAsync<ApiKeyChangedEvent>,
|
||||||
IExecute<ApplicationIndexerSyncCommand>
|
IExecute<ApplicationIndexerSyncCommand>
|
||||||
{
|
{
|
||||||
@@ -86,6 +87,15 @@ namespace NzbDrone.Core.Applications
|
|||||||
SyncIndexers(enabledApps, indexers);
|
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)
|
public void Execute(ApplicationIndexerSyncCommand message)
|
||||||
{
|
{
|
||||||
var enabledApps = _applicationsFactory.SyncEnabled();
|
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)
|
public virtual void Update(IEnumerable<TProviderDefinition> definitions)
|
||||||
{
|
{
|
||||||
_providerRepository.UpdateMany(definitions.ToList());
|
_providerRepository.UpdateMany(definitions.ToList());
|
||||||
|
_eventAggregator.PublishEvent(new ProviderBulkUpdatedEvent<TProvider>(definitions));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Delete(int id)
|
public void Delete(int id)
|
||||||
|
Reference in New Issue
Block a user