mirror of
https://github.com/Radarr/Radarr
synced 2025-02-21 13:57:02 +00:00
New: Refresh cache for tracked queue on movie add
This commit is contained in:
parent
c8b409ed0b
commit
8a5c0ffd18
1 changed files with 22 additions and 4 deletions
|
@ -28,6 +28,7 @@ public interface ITrackedDownloadService
|
|||
}
|
||||
|
||||
public class TrackedDownloadService : ITrackedDownloadService,
|
||||
IHandle<MovieAddedEvent>,
|
||||
IHandle<MoviesDeletedEvent>
|
||||
{
|
||||
private readonly IParsingService _parsingService;
|
||||
|
@ -250,12 +251,29 @@ private void LogItemChange(TrackedDownload trackedDownload, DownloadClientItem e
|
|||
}
|
||||
}
|
||||
|
||||
public void Handle(MovieAddedEvent message)
|
||||
{
|
||||
var cachedItems = _cache.Values
|
||||
.Where(t =>
|
||||
t.RemoteMovie?.Movie == null ||
|
||||
message.Movie?.TmdbId == t.RemoteMovie.Movie.TmdbId)
|
||||
.ToList();
|
||||
|
||||
if (cachedItems.Any())
|
||||
{
|
||||
cachedItems.ForEach(UpdateCachedItem);
|
||||
|
||||
_eventAggregator.PublishEvent(new TrackedDownloadRefreshedEvent(GetTrackedDownloads()));
|
||||
}
|
||||
}
|
||||
|
||||
public void Handle(MoviesDeletedEvent message)
|
||||
{
|
||||
var cachedItems = _cache.Values.Where(t =>
|
||||
t.RemoteMovie?.Movie != null &&
|
||||
message.Movies.Any(m => m.Id == t.RemoteMovie.Movie.Id))
|
||||
.ToList();
|
||||
var cachedItems = _cache.Values
|
||||
.Where(t =>
|
||||
t.RemoteMovie?.Movie != null &&
|
||||
message.Movies.Any(m => m.Id == t.RemoteMovie.Movie.Id || m.TmdbId == t.RemoteMovie.Movie.TmdbId))
|
||||
.ToList();
|
||||
|
||||
if (cachedItems.Any())
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue