diff --git a/.azuredevops/pipelines/publish-job.yml b/.azuredevops/pipelines/publish-job.yml index 250bb4b66..23449f30c 100644 --- a/.azuredevops/pipelines/publish-job.yml +++ b/.azuredevops/pipelines/publish-job.yml @@ -62,17 +62,17 @@ stages: $response = Invoke-WebRequest -Uri "https://ombireleasenote.azurewebsites.net/api/ReleaseNotesFunction?buildId=$(Build.BuildId)" Write-Host "##vso[task.setvariable variable=ReleaseNotes;]$response" - - task: GitHubRelease@1 - inputs: - gitHubConnection: 'github.com_tidusjar' - repositoryName: 'tidusjar/Ombi' - action: 'create' - target: '$(Build.SourceVersion)' - tagSource: 'userSpecifiedTag' - tag: '$(gitTag)' - isDraft: true - changeLogCompareToRelease: 'lastNonDraftRelease' - changeLogType: 'commitBased' + # - task: GitHubRelease@1 + # inputs: + # gitHubConnection: 'github.com_tidusjar' + # repositoryName: 'tidusjar/Ombi' + # action: 'create' + # target: '$(Build.SourceVersion)' + # tagSource: 'userSpecifiedTag' + # tag: '$(gitTag)' + # isDraft: true + # changeLogCompareToRelease: 'lastNonDraftRelease' + # changeLogType: 'commitBased' - task: GitHubRelease@1 inputs: @@ -90,4 +90,4 @@ stages: isPreRelease: true changeLogCompareToRelease: 'lastNonDraftRelease' changeLogType: 'commitBased' - condition: and(succeeded(), eq(variables['PublishToGithub'], 'true')) + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/feature/v4')) diff --git a/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs b/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs new file mode 100644 index 000000000..4d561c4ca --- /dev/null +++ b/src/Ombi.Schedule/Jobs/Ombi/AutoDeleteRequests.cs @@ -0,0 +1,69 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using Ombi.Core; +using Ombi.Core.Senders; +using Ombi.Core.Settings; +using Ombi.Settings.Settings.Models; +using Ombi.Store.Entities; +using Ombi.Store.Repository; +using Ombi.Store.Repository.Requests; +using Quartz; + +namespace Ombi.Schedule.Jobs.Ombi +{ + public interface IAutoDeleteRequests : IBaseJob { } + public class AutoDeleteRequests : IAutoDeleteRequests + { + + private readonly ISettingsService _ombiSettings; + private readonly IMovieRequestRepository _movieRequests; + + public AutoDeleteRequests(ISettingsService ombiSettings, IMovieRequestRepository movieRequest) + { + _ombiSettings = ombiSettings; + _movieRequests = movieRequest; + } + + public async Task Execute(IJobExecutionContext job) + { + var settings = await _ombiSettings.GetSettingsAsync(); + if (!settings.AutoDeleteAvailableRequests) + { + return; + } + await ProcessMovieRequests(settings.AutoDeleteAfterDays); + } + + private async Task ProcessMovieRequests(int deleteAfterDays) + { + var date = DateTime.UtcNow.AddDays(-deleteAfterDays).Date; + var requestsToDelete = await _movieRequests.GetAll().Where(x => x.Available && x.MarkedAsAvailable.HasValue && x.MarkedAsAvailable.Value < date).ToListAsync(); + + foreach (var request in requestsToDelete) + { + + } + } + + private bool _disposed; + + protected virtual void Dispose(bool disposing) + { + if (_disposed) + return; + + if (disposing) + { + } + _disposed = true; + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + } +} \ No newline at end of file diff --git a/src/Ombi.Schedule/Jobs/Ombi/ResendFailedRequests.cs b/src/Ombi.Schedule/Jobs/Ombi/ResendFailedRequests.cs index 344e3a874..0072ec010 100644 --- a/src/Ombi.Schedule/Jobs/Ombi/ResendFailedRequests.cs +++ b/src/Ombi.Schedule/Jobs/Ombi/ResendFailedRequests.cs @@ -36,7 +36,7 @@ namespace Ombi.Schedule.Jobs.Ombi public async Task Execute(IJobExecutionContext job) { // Get all the failed ones! - var failedRequests = _requestQueue.GetAll().Where(x => !x.Completed.HasValue); + var failedRequests = _requestQueue.GetAll().Where(x => x.Completed == null); foreach (var request in failedRequests) { diff --git a/src/Ombi.Settings/Settings/Models/OmbiSettings.cs b/src/Ombi.Settings/Settings/Models/OmbiSettings.cs index d7af8ffe4..11812e439 100644 --- a/src/Ombi.Settings/Settings/Models/OmbiSettings.cs +++ b/src/Ombi.Settings/Settings/Models/OmbiSettings.cs @@ -12,5 +12,7 @@ public bool HideRequestsUsers { get; set; } public bool DisableHealthChecks { get; set; } public string DefaultLanguageCode { get; set; } = "en"; + public bool AutoDeleteAvailableRequests { get; set; } + public int AutoDeleteAfterDays { get; set; } } } \ No newline at end of file diff --git a/src/Ombi/ClientApp/src/app/settings/settingsmenu.component.html b/src/Ombi/ClientApp/src/app/settings/settingsmenu.component.html index 0ac94c6e0..20b843139 100644 --- a/src/Ombi/ClientApp/src/app/settings/settingsmenu.component.html +++ b/src/Ombi/ClientApp/src/app/settings/settingsmenu.component.html @@ -1,7 +1,7 @@ - - + +