private InternalItemsQuery GetItemsQuery(GetQueryFiltersLegacy request, User user) { var query = new InternalItemsQuery { User = user, MediaTypes = request.GetMediaTypes(), IncludeItemTypes = request.GetIncludeItemTypes(), Recursive = true, EnableTotalRecordCount = false, DtoOptions = new Controller.Dto.DtoOptions { Fields = new ItemFields[] { ItemFields.Genres, ItemFields.Tags }, EnableImages = false, EnableUserData = false } }; return(query); }
public object Get(GetQueryFiltersLegacy request) { var parentItem = string.IsNullOrEmpty(request.ParentId) ? null : _libraryManager.GetItemById(request.ParentId); var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null; if (string.Equals(request.IncludeItemTypes, "BoxSet", StringComparison.OrdinalIgnoreCase) || string.Equals(request.IncludeItemTypes, "Playlist", StringComparison.OrdinalIgnoreCase) || string.Equals(request.IncludeItemTypes, typeof(Trailer).Name, StringComparison.OrdinalIgnoreCase) || string.Equals(request.IncludeItemTypes, "Program", StringComparison.OrdinalIgnoreCase)) { parentItem = null; } var item = string.IsNullOrEmpty(request.ParentId) ? user == null ? _libraryManager.RootFolder : _libraryManager.GetUserRootFolder() : parentItem; var result = ((Folder)item).GetItemList(GetItemsQuery(request, user)); var filters = GetFilters(result); return(ToOptimizedResult(filters)); }