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 + +