mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-29 13:25:13 +02:00
Repurposed the Missing page to include filter options and display episodes that haven't reached cutoff.
--HG-- rename : src/NzbDrone.Api/Missing/MissingModule.cs => src/NzbDrone.Api/Wanted/MissingModule.cs rename : src/UI/Missing/ControlsColumnTemplate.html => src/UI/Wanted/ControlsColumnTemplate.html rename : src/UI/Missing/MissingCollection.js => src/UI/Wanted/Missing/MissingCollection.js rename : src/UI/Missing/MissingLayout.js => src/UI/Wanted/WantedLayout.js rename : src/UI/Missing/MissingLayoutTemplate.html => src/UI/Wanted/WantedLayoutTemplate.html extra : source : 2c76f3e423d39446f3bd7799b7344d7be63c70f5
This commit is contained in:

committed by
Mark McDowall

parent
935c26d03e
commit
d416dd4177
45
src/NzbDrone.Api/Wanted/CutoffModule.cs
Normal file
45
src/NzbDrone.Api/Wanted/CutoffModule.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System.Linq;
|
||||
using NzbDrone.Api.Episodes;
|
||||
using NzbDrone.Api.Extensions;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Qualities;
|
||||
|
||||
namespace NzbDrone.Api.Wanted
|
||||
{
|
||||
public class CutoffModule : NzbDroneRestModule<EpisodeResource>
|
||||
{
|
||||
private readonly IEpisodeService _episodeService;
|
||||
private readonly SeriesRepository _seriesRepository;
|
||||
|
||||
public CutoffModule(IEpisodeService episodeService, SeriesRepository seriesRepository)
|
||||
:base("wanted/cutoff")
|
||||
{
|
||||
_episodeService = episodeService;
|
||||
_seriesRepository = seriesRepository;
|
||||
GetResourcePaged = GetCutoffUnmetEpisodes;
|
||||
}
|
||||
|
||||
private PagingResource<EpisodeResource> GetCutoffUnmetEpisodes(PagingResource<EpisodeResource> pagingResource)
|
||||
{
|
||||
var pagingSpec = new PagingSpec<Episode>
|
||||
{
|
||||
Page = pagingResource.Page,
|
||||
PageSize = pagingResource.PageSize,
|
||||
SortKey = pagingResource.SortKey,
|
||||
SortDirection = pagingResource.SortDirection
|
||||
};
|
||||
|
||||
if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false")
|
||||
pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false;
|
||||
else
|
||||
pagingSpec.FilterExpression = v => v.Monitored == true && v.Series.Monitored == true;
|
||||
|
||||
PagingResource<EpisodeResource> resource = ApplyToPage(_episodeService.GetCutoffUnmetEpisodes, pagingSpec);
|
||||
|
||||
resource.Records = resource.Records.LoadSubtype(e => e.SeriesId, _seriesRepository).ToList();
|
||||
|
||||
return resource;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user