From 055c63bdeeb257bda1ec45090d6d0797f9e1262a Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 1 Mar 2022 00:49:29 -0500 Subject: [PATCH] Include played and unplayed results in the same next up request --- Emby.Server.Implementations/TV/TVSeriesManager.cs | 10 +++++++++- Jellyfin.Api/Controllers/TvShowsController.cs | 6 +++--- MediaBrowser.Model/Querying/NextUpQuery.cs | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/TV/TVSeriesManager.cs b/Emby.Server.Implementations/TV/TVSeriesManager.cs index a47650a32..c0d8487ce 100644 --- a/Emby.Server.Implementations/TV/TVSeriesManager.cs +++ b/Emby.Server.Implementations/TV/TVSeriesManager.cs @@ -140,7 +140,15 @@ namespace Emby.Server.Implementations.TV var currentUser = user; var allNextUp = seriesKeys - .Select(i => GetNextUp(i, currentUser, dtoOptions, request.Rewatching)); + .Select(i => GetNextUp(i, currentUser, dtoOptions, false)); + + if (request.EnableRewatching) + { + allNextUp = allNextUp.Concat( + seriesKeys.Select(i => GetNextUp(i, currentUser, dtoOptions, true)) + ) + .OrderByDescending(i => i.Item1); + } // If viewing all next up for all series, remove first episodes // But if that returns empty, keep those first episodes (avoid completely empty view) diff --git a/Jellyfin.Api/Controllers/TvShowsController.cs b/Jellyfin.Api/Controllers/TvShowsController.cs index 5d39d906f..636130543 100644 --- a/Jellyfin.Api/Controllers/TvShowsController.cs +++ b/Jellyfin.Api/Controllers/TvShowsController.cs @@ -68,7 +68,7 @@ namespace Jellyfin.Api.Controllers /// Optional. Starting date of shows to show in Next Up section. /// Whether to enable the total records count. Defaults to true. /// Whether to disable sending the first episode in a series as next up. - /// Whether to get a rewatching next up instead of standard next up. + /// Whether to include watched episode in next up results. /// A with the next up episodes. [HttpGet("NextUp")] [ProducesResponseType(StatusCodes.Status200OK)] @@ -86,7 +86,7 @@ namespace Jellyfin.Api.Controllers [FromQuery] DateTime? nextUpDateCutoff, [FromQuery] bool enableTotalRecordCount = true, [FromQuery] bool disableFirstEpisode = false, - [FromQuery] bool rewatching = false) + [FromQuery] bool enableRewatching = false) { var options = new DtoOptions { Fields = fields } .AddClientFields(Request) @@ -103,7 +103,7 @@ namespace Jellyfin.Api.Controllers EnableTotalRecordCount = enableTotalRecordCount, DisableFirstEpisode = disableFirstEpisode, NextUpDateCutoff = nextUpDateCutoff ?? DateTime.MinValue, - Rewatching = rewatching + EnableRewatching = enableRewatching }, options); diff --git a/MediaBrowser.Model/Querying/NextUpQuery.cs b/MediaBrowser.Model/Querying/NextUpQuery.cs index 7c65fda1a..133d6a916 100644 --- a/MediaBrowser.Model/Querying/NextUpQuery.cs +++ b/MediaBrowser.Model/Querying/NextUpQuery.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.Model.Querying EnableTotalRecordCount = true; DisableFirstEpisode = false; NextUpDateCutoff = DateTime.MinValue; - Rewatching = false; + EnableRewatching = false; } /// @@ -86,6 +86,6 @@ namespace MediaBrowser.Model.Querying /// /// Gets or sets a value indicating whether getting rewatching next up list. /// - public bool Rewatching { get; set; } + public bool EnableRewatching { get; set; } } }