mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-13 16:52:56 -07:00
Added the Digital Release Date back in.
Improved performance and system load when loading content #4082
This commit is contained in:
parent
4082f6ad41
commit
0c4bd10b0f
25 changed files with 320 additions and 227 deletions
|
@ -30,7 +30,7 @@ namespace Ombi.Core.Engine
|
|||
public MovieRequestEngine(IMovieDbApi movieApi, IRequestServiceMain requestService, IPrincipal user,
|
||||
INotificationHelper helper, IRuleEvaluator r, IMovieSender sender, ILogger<MovieRequestEngine> log,
|
||||
OmbiUserManager manager, IRepository<RequestLog> rl, ICacheService cache,
|
||||
ISettingsService<OmbiSettings> ombiSettings, IRepository<RequestSubscription> sub)
|
||||
ISettingsService<OmbiSettings> ombiSettings, IRepository<RequestSubscription> sub, IMediaCacheService mediaCacheService)
|
||||
: base(user, requestService, r, manager, cache, ombiSettings, sub)
|
||||
{
|
||||
MovieApi = movieApi;
|
||||
|
@ -38,6 +38,7 @@ namespace Ombi.Core.Engine
|
|||
Sender = sender;
|
||||
Logger = log;
|
||||
_requestLog = rl;
|
||||
_mediaCacheService = mediaCacheService;
|
||||
}
|
||||
|
||||
private IMovieDbApi MovieApi { get; }
|
||||
|
@ -45,6 +46,7 @@ namespace Ombi.Core.Engine
|
|||
private IMovieSender Sender { get; }
|
||||
private ILogger<MovieRequestEngine> Logger { get; }
|
||||
private readonly IRepository<RequestLog> _requestLog;
|
||||
private readonly IMediaCacheService _mediaCacheService;
|
||||
|
||||
/// <summary>
|
||||
/// Requests the movie.
|
||||
|
@ -371,7 +373,6 @@ namespace Ombi.Core.Engine
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
public async Task<RequestEngineResult> UpdateAdvancedOptions(MediaAdvancedOptions options)
|
||||
{
|
||||
var request = await MovieRepository.Find(options.RequestId);
|
||||
|
@ -527,6 +528,7 @@ namespace Ombi.Core.Engine
|
|||
// We are denying a request
|
||||
await NotificationHelper.Notify(request, NotificationType.RequestDeclined);
|
||||
await MovieRepository.Update(request);
|
||||
await _mediaCacheService.Purge();
|
||||
|
||||
return new RequestEngineResult
|
||||
{
|
||||
|
@ -555,6 +557,7 @@ namespace Ombi.Core.Engine
|
|||
{
|
||||
await NotificationHelper.Notify(request, NotificationType.RequestApproved);
|
||||
}
|
||||
await _mediaCacheService.Purge();
|
||||
|
||||
return await ProcessSendingMovie(request);
|
||||
}
|
||||
|
@ -562,8 +565,8 @@ namespace Ombi.Core.Engine
|
|||
public async Task<RequestEngineResult> RequestCollection(int collectionId, CancellationToken cancellationToken)
|
||||
{
|
||||
var langCode = await DefaultLanguageCode(null);
|
||||
var collections = await Cache.GetOrAdd($"GetCollection{collectionId}{langCode}",
|
||||
async () => await MovieApi.GetCollection(langCode, collectionId, cancellationToken), DateTime.Now.AddDays(1), cancellationToken);
|
||||
var collections = await Cache.GetOrAddAsync($"GetCollection{collectionId}{langCode}",
|
||||
() => MovieApi.GetCollection(langCode, collectionId, cancellationToken), DateTimeOffset.Now.AddDays(1));
|
||||
|
||||
var results = new List<RequestEngineResult>();
|
||||
foreach (var collection in collections.parts)
|
||||
|
@ -639,6 +642,7 @@ namespace Ombi.Core.Engine
|
|||
results.RootPathOverride = request.RootPathOverride;
|
||||
|
||||
await MovieRepository.Update(results);
|
||||
await _mediaCacheService.Purge();
|
||||
return results;
|
||||
}
|
||||
|
||||
|
@ -651,12 +655,14 @@ namespace Ombi.Core.Engine
|
|||
{
|
||||
var request = await MovieRepository.GetAll().FirstOrDefaultAsync(x => x.Id == requestId);
|
||||
await MovieRepository.Delete(request);
|
||||
await _mediaCacheService.Purge();
|
||||
}
|
||||
|
||||
public async Task RemoveAllMovieRequests()
|
||||
{
|
||||
var request = MovieRepository.GetAll();
|
||||
await MovieRepository.DeleteRange(request);
|
||||
await _mediaCacheService.Purge();
|
||||
}
|
||||
|
||||
public async Task<bool> UserHasRequest(string userId)
|
||||
|
@ -692,6 +698,7 @@ namespace Ombi.Core.Engine
|
|||
|
||||
request.Available = false;
|
||||
await MovieRepository.Update(request);
|
||||
await _mediaCacheService.Purge();
|
||||
|
||||
return new RequestEngineResult
|
||||
{
|
||||
|
@ -715,6 +722,7 @@ namespace Ombi.Core.Engine
|
|||
request.MarkedAsAvailable = DateTime.Now;
|
||||
await NotificationHelper.Notify(request, NotificationType.RequestAvailable);
|
||||
await MovieRepository.Update(request);
|
||||
await _mediaCacheService.Purge();
|
||||
|
||||
return new RequestEngineResult
|
||||
{
|
||||
|
@ -733,6 +741,8 @@ namespace Ombi.Core.Engine
|
|||
await NotificationHelper.NewRequest(model);
|
||||
}
|
||||
|
||||
await _mediaCacheService.Purge();
|
||||
|
||||
await _requestLog.Add(new RequestLog
|
||||
{
|
||||
UserId = requestOnBehalf.HasValue() ? requestOnBehalf : (await GetUser()).Id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue