diff --git a/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs b/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs index 6625a3bbb..a2a7e4ed1 100644 --- a/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs +++ b/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs @@ -16,14 +16,16 @@ namespace Ombi.Schedule.Jobs.Ombi private readonly ISettingsService _ombiSettings; private readonly IMovieRequestRepository _movieRequests; private readonly ITvRequestRepository _tvRequestRepository; + private readonly IMusicRequestRepository _musicRequestRepository; private readonly ILogger _logger; public AutoDeleteRequests(ISettingsService ombiSettings, IMovieRequestRepository movieRequest, - ILogger logger, ITvRequestRepository tvRequestRepository) + ILogger logger, ITvRequestRepository tvRequestRepository, IMusicRequestRepository musicRequestRepository) { _ombiSettings = ombiSettings; _movieRequests = movieRequest; _tvRequestRepository = tvRequestRepository; + _musicRequestRepository = _musicRequestRepository; _logger = logger; } @@ -37,6 +39,7 @@ namespace Ombi.Schedule.Jobs.Ombi var date = DateTime.UtcNow.AddDays(-settings.AutoDeleteAfterDays).Date; await ProcessMovieRequests(date); await ProcessTvRequests(date); + await ProcessMusicRequests(date); } private async Task ProcessMovieRequests(DateTime date) @@ -66,6 +69,20 @@ namespace Ombi.Schedule.Jobs.Ombi await _tvRequestRepository.DeleteRange(parentRequests); } + private async Task ProcessMusicRequests(DateTime date) + { + var requestsToDelete = await _musicRequestRepository.GetAll().Where(x => x.Available && x.MarkedAsAvailable.HasValue && x.MarkedAsAvailable.Value < date).ToListAsync(); + + _logger.LogInformation($"Deleting {requestsToDelete.Count} music requests that have now been scheduled for deletion, All available requests before {date::MM/dd/yyyy} will be deleted"); + foreach (var r in requestsToDelete) + { + _logger.LogInformation($"Deleting music title {r.Title} as it was approved on {r.MarkedAsApproved:MM/dd/yyyy hh:mm tt}"); + } + + await _musicRequestRepository.DeleteRange(requestsToDelete); + + } + private bool _disposed; protected virtual void Dispose(bool disposing)