From 5cd3276775461d96d912d47fbae6857b887b98d0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Oct 2016 01:57:38 -0400 Subject: pass requested fields to data layer --- MediaBrowser.Api/UserLibrary/ItemsService.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs') diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 681624ba2..eabb2ab8f 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -99,8 +99,10 @@ namespace MediaBrowser.Api.UserLibrary private async Task GetItems(GetItems request) { var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null; - - var result = await GetQueryResult(request, user).ConfigureAwait(false); + + var dtoOptions = GetDtoOptions(request); + + var result = await GetQueryResult(request, dtoOptions, user).ConfigureAwait(false); if (result == null) { @@ -112,8 +114,6 @@ namespace MediaBrowser.Api.UserLibrary throw new InvalidOperationException("GetItemsToSerialize result.Items returned null"); } - var dtoOptions = GetDtoOptions(request); - var dtoList = await _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ConfigureAwait(false); if (dtoList == null) @@ -131,10 +131,7 @@ namespace MediaBrowser.Api.UserLibrary /// /// Gets the items to serialize. /// - /// The request. - /// The user. - /// IEnumerable{BaseItem}. - private async Task> GetQueryResult(GetItems request, User user) + private async Task> GetQueryResult(GetItems request, DtoOptions dtoOptions, User user) { var item = string.IsNullOrEmpty(request.ParentId) ? user == null ? _libraryManager.RootFolder : user.RootFolder : @@ -159,14 +156,14 @@ namespace MediaBrowser.Api.UserLibrary if (request.Recursive || !string.IsNullOrEmpty(request.Ids) || user == null) { - return await folder.GetItems(GetItemsQuery(request, user)).ConfigureAwait(false); + return await folder.GetItems(GetItemsQuery(request, dtoOptions, user)).ConfigureAwait(false); } var userRoot = item as UserRootFolder; if (userRoot == null) { - return await folder.GetItems(GetItemsQuery(request, user)).ConfigureAwait(false); + return await folder.GetItems(GetItemsQuery(request, dtoOptions, user)).ConfigureAwait(false); } IEnumerable items = folder.GetChildren(user, true); @@ -180,7 +177,7 @@ namespace MediaBrowser.Api.UserLibrary }; } - private InternalItemsQuery GetItemsQuery(GetItems request, User user) + private InternalItemsQuery GetItemsQuery(GetItems request, DtoOptions dtoOptions, User user) { var query = new InternalItemsQuery(user) { @@ -241,7 +238,8 @@ namespace MediaBrowser.Api.UserLibrary AiredDuringSeason = request.AiredDuringSeason, AlbumArtistStartsWithOrGreater = request.AlbumArtistStartsWithOrGreater, EnableTotalRecordCount = request.EnableTotalRecordCount, - ExcludeItemIds = request.GetExcludeItemIds() + ExcludeItemIds = request.GetExcludeItemIds(), + Fields = dtoOptions.Fields }; if (!string.IsNullOrWhiteSpace(request.Ids)) -- cgit v1.2.3