diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-04-11 17:48:00 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-04-11 17:48:00 +0200 |
| commit | e0f50f504afe5713f64d644a464f39e903d9ef6b (patch) | |
| tree | c974d8bfdaa09ebca7dcfd7bced957ef59836240 /Jellyfin.Api/Controllers/ItemsController.cs | |
| parent | b7da5c18605c2f953204645005dc9bd6729b6921 (diff) | |
| parent | eacdc83fda01b712d2f9821e6624449304395486 (diff) | |
Merge remote-tracking branch 'upstream/master' into epg-fixes
Diffstat (limited to 'Jellyfin.Api/Controllers/ItemsController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/ItemsController.cs | 45 |
1 files changed, 8 insertions, 37 deletions
diff --git a/Jellyfin.Api/Controllers/ItemsController.cs b/Jellyfin.Api/Controllers/ItemsController.cs index 9674ecd092..39760556a6 100644 --- a/Jellyfin.Api/Controllers/ItemsController.cs +++ b/Jellyfin.Api/Controllers/ItemsController.cs @@ -11,6 +11,7 @@ using Jellyfin.Extensions; using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Dto; @@ -270,15 +271,17 @@ public class ItemsController : BaseJellyfinApiController var dtoOptions = new DtoOptions { Fields = fields } .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes); + var item = _libraryManager.GetParentItem(parentId, userId); + QueryResult<BaseItem> result; + if (includeItemTypes.Length == 1 - && includeItemTypes[0] == BaseItemKind.BoxSet) + && includeItemTypes[0] == BaseItemKind.BoxSet + && item is not BoxSet) { parentId = null; + item = _libraryManager.GetUserRootFolder(); } - var item = _libraryManager.GetParentItem(parentId, userId); - QueryResult<BaseItem> result; - if (item is not Folder folder) { folder = _libraryManager.GetUserRootFolder(); @@ -386,39 +389,7 @@ public class ItemsController : BaseJellyfinApiController query.CollapseBoxSetItems = false; } - foreach (var filter in filters) - { - switch (filter) - { - case ItemFilter.Dislikes: - query.IsLiked = false; - break; - case ItemFilter.IsFavorite: - query.IsFavorite = true; - break; - case ItemFilter.IsFavoriteOrLikes: - query.IsFavoriteOrLiked = true; - break; - case ItemFilter.IsFolder: - query.IsFolder = true; - break; - case ItemFilter.IsNotFolder: - query.IsFolder = false; - break; - case ItemFilter.IsPlayed: - query.IsPlayed = true; - break; - case ItemFilter.IsResumable: - query.IsResumable = true; - break; - case ItemFilter.IsUnplayed: - query.IsPlayed = false; - break; - case ItemFilter.Likes: - query.IsLiked = true; - break; - } - } + query.ApplyFilters(filters); // Filter by Series Status if (seriesStatus.Length != 0) |
