1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-07-04 11:07:59 +02:00

New: Refresh cache for tracked queue on movie add

This commit is contained in:
Bogdan 2024-06-06 12:32:39 +03:00
parent c8b409ed0b
commit 8a5c0ffd18

View File

@ -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())
{