|
|
|
@ -267,10 +267,22 @@ namespace MediaBrowser.Server.Implementations.Library
|
|
|
|
|
items.AddRange(specialFeatures);
|
|
|
|
|
items.AddRange(localTrailers);
|
|
|
|
|
|
|
|
|
|
// Can't add these right now because there could be separate instances with the same id.
|
|
|
|
|
//items.AddRange(_userManager.Users.Select(i => i.RootFolder).Distinct().ToList());
|
|
|
|
|
// Need to use DistinctBy Id because there could be multiple instances with the same id
|
|
|
|
|
// due to sharing the default library
|
|
|
|
|
var userRootFolders = _userManager.Users.Select(i => i.RootFolder)
|
|
|
|
|
.DistinctBy(i => i.Id)
|
|
|
|
|
.ToList();
|
|
|
|
|
|
|
|
|
|
items.AddRange(userRootFolders);
|
|
|
|
|
|
|
|
|
|
// Get all user collection folders
|
|
|
|
|
var userFolders =
|
|
|
|
|
_userManager.Users.SelectMany(i => i.RootFolder.Children)
|
|
|
|
|
.Where(i => !(i is BasePluginFolder))
|
|
|
|
|
.DistinctBy(i => i.Id)
|
|
|
|
|
.ToList();
|
|
|
|
|
|
|
|
|
|
items.AddRange(_userManager.Users.SelectMany(i => i.RootFolder.Children).Where(i => !(i is BasePluginFolder)).Distinct().ToList());
|
|
|
|
|
items.AddRange(userFolders);
|
|
|
|
|
|
|
|
|
|
return new ConcurrentDictionary<Guid,BaseItem>(items.ToDictionary(i => i.Id));
|
|
|
|
|
}
|
|
|
|
|