diff options
| author | Bond-009 <bond.009@outlook.com> | 2019-12-17 17:35:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-17 17:35:27 +0100 |
| commit | 6b185119aa329764c1ccc57d9be3e81f05680b69 (patch) | |
| tree | a2dd354a5a55ed9669750ede3f7c00baae4f09be /MediaBrowser.Api/PackageService.cs | |
| parent | 35151553e3fc9ddbe352744af8d832b1337491c8 (diff) | |
| parent | db61a58c39490f86c86c3ee6c6f11743796fb10e (diff) | |
Merge branch 'master' into namingtests
Diffstat (limited to 'MediaBrowser.Api/PackageService.cs')
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index 1e5a93210..afc3e026a 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -2,14 +2,14 @@ using System; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Common; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Updates; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Services; using MediaBrowser.Model.Updates; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api { @@ -118,12 +118,15 @@ namespace MediaBrowser.Api public class PackageService : BaseApiService { private readonly IInstallationManager _installationManager; - private readonly IApplicationHost _appHost; - public PackageService(IInstallationManager installationManager, IApplicationHost appHost) + public PackageService( + ILogger<PackageService> logger, + IServerConfigurationManager serverConfigurationManager, + IHttpResultFactory httpResultFactory, + IInstallationManager installationManager) + : base(logger, serverConfigurationManager, httpResultFactory) { _installationManager = installationManager; - _appHost = appHost; } /// <summary> @@ -133,10 +136,11 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetPackage request) { - var packages = _installationManager.GetAvailablePackages().Result; - - var result = packages.FirstOrDefault(p => string.Equals(p.guid, request.AssemblyGuid ?? "none", StringComparison.OrdinalIgnoreCase)) - ?? packages.FirstOrDefault(p => p.name.Equals(request.Name, StringComparison.OrdinalIgnoreCase)); + var packages = _installationManager.GetAvailablePackages().GetAwaiter().GetResult(); + var result = _installationManager.FilterPackages( + packages, + request.Name, + string.IsNullOrEmpty(request.AssemblyGuid) ? default : Guid.Parse(request.AssemblyGuid)).FirstOrDefault(); return ToOptimizedResult(result); } @@ -181,7 +185,7 @@ namespace MediaBrowser.Api var package = _installationManager.GetCompatibleVersions( packages, request.Name, - new Guid(request.AssemblyGuid), + string.IsNullOrEmpty(request.AssemblyGuid) ? Guid.Empty : Guid.Parse(request.AssemblyGuid), string.IsNullOrEmpty(request.Version) ? null : Version.Parse(request.Version), request.UpdateClass).FirstOrDefault(); |
