diff --git a/BDInfo/BDInfo.csproj b/BDInfo/BDInfo.csproj
index 234050ed30..a9ccada6e2 100644
--- a/BDInfo/BDInfo.csproj
+++ b/BDInfo/BDInfo.csproj
@@ -35,7 +35,6 @@
-
diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs
index f3c5d70c04..56be18d866 100644
--- a/MediaBrowser.Api/EnvironmentService.cs
+++ b/MediaBrowser.Api/EnvironmentService.cs
@@ -97,18 +97,18 @@ namespace MediaBrowser.Api
throw new ArgumentNullException("Path");
}
- // Reject invalid input
- if (!Path.IsPathRooted(path))
+ if (path.StartsWith(NetworkPrefix, StringComparison.OrdinalIgnoreCase) && path.LastIndexOf('\\') == 1)
{
- throw new ArgumentException(string.Format("Invalid path: {0}", path));
+ return ToOptimizedResult(GetNetworkShares(path).ToList());
}
- if (path.StartsWith(NetworkPrefix, StringComparison.OrdinalIgnoreCase) && path.LastIndexOf('\\') == 1)
+ // Reject invalid input
+ if (!Path.IsPathRooted(path))
{
- return GetNetworkShares(path).ToList();
+ throw new ArgumentException(string.Format("Invalid path: {0}", path));
}
- return GetFileSystemEntries(request).ToList();
+ return ToOptimizedResult(GetFileSystemEntries(request).ToList());
}
///
@@ -118,7 +118,9 @@ namespace MediaBrowser.Api
/// System.Object.
public object Get(GetDrives request)
{
- return GetDrives().ToList();
+ var result = GetDrives().ToList();
+
+ return ToOptimizedResult(result);
}
///
@@ -128,7 +130,9 @@ namespace MediaBrowser.Api
/// System.Object.
public object Get(GetNetworkComputers request)
{
- return GetNetworkComputers().ToList();
+ var result = GetNetworkComputers().ToList();
+
+ return ToOptimizedResult(result);
}
///
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index 00e35428a4..ac9a220b63 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -141,13 +141,19 @@ namespace MediaBrowser.Api.Images
///
private readonly IUserManager _userManager;
+ ///
+ /// The _library manager
+ ///
+ private readonly ILibraryManager _libraryManager;
+
///
/// Initializes a new instance of the class.
///
/// The user manager.
- public ImageService(IUserManager userManager)
+ public ImageService(IUserManager userManager, ILibraryManager libraryManager)
{
_userManager = userManager;
+ _libraryManager = libraryManager;
}
///
@@ -157,7 +163,7 @@ namespace MediaBrowser.Api.Images
/// System.Object.
public object Get(GetItemImage request)
{
- var item = DtoBuilder.GetItemByClientId(request.Id, _userManager);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
return GetImage(request, item);
}
@@ -181,9 +187,7 @@ namespace MediaBrowser.Api.Images
/// System.Object.
public object Get(GetYearImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetYear(request.Year).Result;
+ var item = _libraryManager.GetYear(request.Year).Result;
return GetImage(request, item);
}
@@ -195,9 +199,7 @@ namespace MediaBrowser.Api.Images
/// System.Object.
public object Get(GetStudioImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetStudio(request.Name).Result;
+ var item = _libraryManager.GetStudio(request.Name).Result;
return GetImage(request, item);
}
@@ -209,9 +211,7 @@ namespace MediaBrowser.Api.Images
/// System.Object.
public object Get(GetPersonImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetPerson(request.Name).Result;
+ var item = _libraryManager.GetPerson(request.Name).Result;
return GetImage(request, item);
}
@@ -223,9 +223,7 @@ namespace MediaBrowser.Api.Images
/// System.Object.
public object Get(GetGenreImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetGenre(request.Name).Result;
+ var item = _libraryManager.GetGenre(request.Name).Result;
return GetImage(request, item);
}
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index adc267a00d..11d8777111 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -93,13 +93,14 @@ namespace MediaBrowser.Api.Library
/// The _app host
///
private readonly IApplicationHost _appHost;
+ private readonly ILibraryManager _libraryManager;
///
/// Initializes a new instance of the class.
///
/// The app host.
/// appHost
- public LibraryService(IApplicationHost appHost)
+ public LibraryService(IApplicationHost appHost, ILibraryManager libraryManager)
{
if (appHost == null)
{
@@ -107,6 +108,7 @@ namespace MediaBrowser.Api.Library
}
_appHost = appHost;
+ _libraryManager = libraryManager;
}
///
@@ -116,14 +118,12 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetPerson request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetPerson(request.Name).Result;
+ var item = _libraryManager.GetPerson(request.Name).Result;
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
-
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
+
+ var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList(), _libraryManager).Result;
return ToOptimizedResult(result);
}
@@ -135,14 +135,12 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetGenre request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetGenre(request.Name).Result;
+ var item = _libraryManager.GetGenre(request.Name).Result;
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
+ var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList(), _libraryManager).Result;
return ToOptimizedResult(result);
}
@@ -154,14 +152,12 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetStudio request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetStudio(request.Name).Result;
+ var item = _libraryManager.GetStudio(request.Name).Result;
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
+ var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList(), _libraryManager).Result;
return ToOptimizedResult(result);
}
@@ -173,14 +169,12 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetYear request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.LibraryManager.GetYear(request.Year).Result;
+ var item = _libraryManager.GetYear(request.Year).Result;
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
- var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result;
+ var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList(), _libraryManager).Result;
return ToOptimizedResult(result);
}
@@ -192,9 +186,7 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetPhyscialPaths request)
{
- var kernel = (Kernel)Kernel;
-
- var result = kernel.RootFolder.Children.SelectMany(c => c.ResolveArgs.PhysicalLocations).ToList();
+ var result = _libraryManager.RootFolder.Children.SelectMany(c => c.ResolveArgs.PhysicalLocations).ToList();
return ToOptimizedResult(result);
}
@@ -206,8 +198,6 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetItemTypes request)
{
- var kernel = (Kernel)Kernel;
-
var allTypes = _appHost.AllConcreteTypes.Where(t => t.IsSubclassOf(typeof(BaseItem)));
if (request.HasInternetProvider)
diff --git a/MediaBrowser.Api/Library/LibraryStructureService.cs b/MediaBrowser.Api/Library/LibraryStructureService.cs
index ef3b404780..df8b2907d8 100644
--- a/MediaBrowser.Api/Library/LibraryStructureService.cs
+++ b/MediaBrowser.Api/Library/LibraryStructureService.cs
@@ -141,13 +141,18 @@ namespace MediaBrowser.Api.Library
///
private readonly IUserManager _userManager;
+ ///
+ /// The _library manager
+ ///
+ private readonly ILibraryManager _libraryManager;
+
///
/// Initializes a new instance of the class.
///
/// The app paths.
/// The user manager.
/// appHost
- public LibraryStructureService(IServerApplicationPaths appPaths, IUserManager userManager)
+ public LibraryStructureService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager)
{
if (appPaths == null)
{
@@ -156,6 +161,7 @@ namespace MediaBrowser.Api.Library
_userManager = userManager;
_appPaths = appPaths;
+ _libraryManager = libraryManager;
}
///
@@ -165,11 +171,9 @@ namespace MediaBrowser.Api.Library
/// System.Object.
public object Get(GetVirtualFolders request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
- var result = kernel.LibraryManager.GetDefaultVirtualFolders().ToList();
+ var result = _libraryManager.GetDefaultVirtualFolders().ToList();
return ToOptimizedResult(result);
}
@@ -177,7 +181,7 @@ namespace MediaBrowser.Api.Library
{
var user = _userManager.GetUserById(new Guid(request.UserId));
- var result = kernel.LibraryManager.GetVirtualFolders(user).ToList();
+ var result = _libraryManager.GetVirtualFolders(user).ToList();
return ToOptimizedResult(result);
}
diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj
index bebb4c94ab..cf2a556955 100644
--- a/MediaBrowser.Api/MediaBrowser.Api.csproj
+++ b/MediaBrowser.Api/MediaBrowser.Api.csproj
@@ -140,7 +140,8 @@
- xcopy "$(TargetPath)" "$(SolutionDir)\MediaBrowser.ServerApplication\CorePlugins\" /y
+
+