diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-08-18 12:45:36 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-08-18 12:45:36 -0400 |
| commit | db9c02fffddc15f4660f2462093e72ba257f8acb (patch) | |
| tree | c7b602c2deac7599101b404a3ac343c8a7db2cd4 /MediaBrowser.Api/UserLibrary/ItemsService.cs | |
| parent | 845c4a0d62e05b89d0a8bc3900b54e3c2cb75168 (diff) | |
update notifications
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 9194cdb35..ce7905b42 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -149,6 +149,24 @@ namespace MediaBrowser.Api.UserLibrary item = user == null ? _libraryManager.RootFolder : user.RootFolder; } + if (!string.IsNullOrEmpty(request.Ids)) + { + var query = GetItemsQuery(request, user); + var specificItems = _libraryManager.GetItemList(query).ToArray(); + if (query.SortBy.Length == 0) + { + var ids = query.ItemIds.ToList(); + + // Try to preserve order + specificItems = specificItems.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToArray(); + } + return new QueryResult<BaseItem> + { + Items = specificItems.ToArray(), + TotalRecordCount = specificItems.Length + }; + } + // Default list type = children var folder = item as Folder; @@ -157,16 +175,11 @@ namespace MediaBrowser.Api.UserLibrary folder = user == null ? _libraryManager.RootFolder : _libraryManager.GetUserRootFolder(); } - if (request.Recursive || !string.IsNullOrEmpty(request.Ids)) + if (request.Recursive || !string.IsNullOrEmpty(request.Ids) || user == null) { return await folder.GetItems(GetItemsQuery(request, user)).ConfigureAwait(false); } - if (user == null) - { - return await folder.GetItems(GetItemsQuery(request, null)).ConfigureAwait(false); - } - var userRoot = item as UserRootFolder; if (userRoot == null) |
