update db queries

This commit is contained in:
Luke Pulverenti
2015-10-29 09:28:05 -04:00
parent a9e0797878
commit 0bd1f36ece
30 changed files with 432 additions and 245 deletions

View File

@@ -156,18 +156,18 @@ namespace MediaBrowser.Server.Implementations.Library
}
AddIfMissing(excludeItemTypes, typeof(CollectionFolder).Name);
var mediaItems = _libraryManager.GetItems(new InternalItemsQuery(user)
{
NameContains = searchTerm,
ExcludeItemTypes = excludeItemTypes.ToArray(),
IncludeItemTypes = includeItemTypes.ToArray(),
Limit = (query.Limit.HasValue ? (int?)(query.Limit.Value * 3) : null),
Limit = (query.Limit.HasValue ? (int?)(query.Limit.Value * 2) : null),
}).Items;
}, user, new string[] { });
// Add search hints based on item name
hints.AddRange(mediaItems.Where(i => IncludeInSearch(i) && IsVisible(i, user)).Select(item =>
hints.AddRange(mediaItems.Where(IncludeInSearch).Select(item =>
{
var index = GetIndex(item.Name, searchTerm, terms);
@@ -183,25 +183,6 @@ namespace MediaBrowser.Server.Implementations.Library
return Task.FromResult(returnValue);
}
private bool IsVisible(BaseItem item, User user)
{
if (user == null)
{
return true;
}
if (item is IItemByName)
{
var dual = item as IHasDualAccess;
if (dual == null || dual.IsAccessedByName)
{
return true;
}
}
return item.IsVisibleStandalone(user);
}
private bool IncludeInSearch(BaseItem item)
{
var episode = item as Episode;