mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-10-29 23:12:39 +01:00
Fixed: Refresh tags after updating autotags
This commit is contained in:
parent
a929548ae3
commit
6a332b40ac
@ -2,6 +2,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Cache;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
using NzbDrone.Core.RootFolders;
|
||||
using NzbDrone.Core.Tv;
|
||||
|
||||
@ -22,14 +23,18 @@ namespace NzbDrone.Core.AutoTagging
|
||||
{
|
||||
private readonly IAutoTaggingRepository _repository;
|
||||
private readonly RootFolderService _rootFolderService;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly ICached<Dictionary<int, AutoTag>> _cache;
|
||||
|
||||
public AutoTaggingService(IAutoTaggingRepository repository,
|
||||
RootFolderService rootFolderService,
|
||||
IEventAggregator eventAggregator,
|
||||
ICacheManager cacheManager)
|
||||
{
|
||||
_repository = repository;
|
||||
_rootFolderService = rootFolderService;
|
||||
_eventAggregator = eventAggregator;
|
||||
|
||||
_cache = cacheManager.GetCache<Dictionary<int, AutoTag>>(typeof(AutoTag), "autoTags");
|
||||
}
|
||||
|
||||
@ -51,13 +56,17 @@ namespace NzbDrone.Core.AutoTagging
|
||||
public void Update(AutoTag autoTag)
|
||||
{
|
||||
_repository.Update(autoTag);
|
||||
|
||||
_cache.Clear();
|
||||
_eventAggregator.PublishEvent(new AutoTagsUpdatedEvent());
|
||||
}
|
||||
|
||||
public AutoTag Insert(AutoTag autoTag)
|
||||
{
|
||||
var result = _repository.Insert(autoTag);
|
||||
|
||||
_cache.Clear();
|
||||
_eventAggregator.PublishEvent(new AutoTagsUpdatedEvent());
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -65,7 +74,9 @@ namespace NzbDrone.Core.AutoTagging
|
||||
public void Delete(int id)
|
||||
{
|
||||
_repository.Delete(id);
|
||||
|
||||
_cache.Clear();
|
||||
_eventAggregator.PublishEvent(new AutoTagsUpdatedEvent());
|
||||
}
|
||||
|
||||
public List<AutoTag> AllForTag(int tagId)
|
||||
|
8
src/NzbDrone.Core/AutoTagging/AutoTagsUpdatedEvent.cs
Normal file
8
src/NzbDrone.Core/AutoTagging/AutoTagsUpdatedEvent.cs
Normal file
@ -0,0 +1,8 @@
|
||||
using NzbDrone.Common.Messaging;
|
||||
|
||||
namespace NzbDrone.Core.AutoTagging
|
||||
{
|
||||
public class AutoTagsUpdatedEvent : IEvent
|
||||
{
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NzbDrone.Core.AutoTagging;
|
||||
using NzbDrone.Core.Datastore.Events;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
using NzbDrone.Core.Tags;
|
||||
@ -11,7 +12,9 @@ using Sonarr.Http.REST.Attributes;
|
||||
namespace Sonarr.Api.V3.Tags
|
||||
{
|
||||
[V3ApiController]
|
||||
public class TagController : RestControllerWithSignalR<TagResource, Tag>, IHandle<TagsUpdatedEvent>
|
||||
public class TagController : RestControllerWithSignalR<TagResource, Tag>,
|
||||
IHandle<TagsUpdatedEvent>,
|
||||
IHandle<AutoTagsUpdatedEvent>
|
||||
{
|
||||
private readonly ITagService _tagService;
|
||||
|
||||
@ -60,5 +63,11 @@ namespace Sonarr.Api.V3.Tags
|
||||
{
|
||||
BroadcastResourceChange(ModelAction.Sync);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public void Handle(AutoTagsUpdatedEvent message)
|
||||
{
|
||||
BroadcastResourceChange(ModelAction.Sync);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user