diff options
| author | Bond-009 <bond.009@outlook.com> | 2019-12-06 12:06:13 +0100 |
|---|---|---|
| committer | Bond-009 <bond.009@outlook.com> | 2019-12-06 12:06:13 +0100 |
| commit | a2c35e6dba02f068a3f06e5a4e4964e6539069d1 (patch) | |
| tree | e75984ab85fedceaf96150ad9d5241cf88230a60 /MediaBrowser.Api/PackageService.cs | |
| parent | 94edb5b9f98cf3b06144255eccc988712332f0a8 (diff) | |
| parent | 935525e77a18061195dea786be71d38fffe82a10 (diff) | |
Merge remote-tracking branch 'upstream/master' into random
Diffstat (limited to 'MediaBrowser.Api/PackageService.cs')
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index baa6f7bb9..1e5a93210 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -1,11 +1,11 @@ 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.Progress; using MediaBrowser.Common.Updates; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Services; @@ -131,15 +131,9 @@ namespace MediaBrowser.Api /// </summary> /// <param name="request">The request.</param> /// <returns>System.Object.</returns> - /// - /// <summary> - /// Gets the specified request. - /// </summary> - /// <param name="request">The request.</param> - /// <returns>System.Object.</returns> public object Get(GetPackage request) { - var packages = _installationManager.GetAvailablePackages(CancellationToken.None, applicationVersion: typeof(PackageService).Assembly.GetName().Version).Result; + 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)); @@ -154,7 +148,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public async Task<object> Get(GetPackages request) { - IEnumerable<PackageInfo> packages = await _installationManager.GetAvailablePackages(CancellationToken.None, false, request.PackageType, typeof(PackageService).Assembly.GetName().Version).ConfigureAwait(false); + IEnumerable<PackageInfo> packages = await _installationManager.GetAvailablePackages().ConfigureAwait(false); if (!string.IsNullOrEmpty(request.TargetSystems)) { @@ -163,11 +157,6 @@ namespace MediaBrowser.Api packages = packages.Where(p => apps.Contains(p.targetSystem)); } - if (request.IsPremium.HasValue) - { - packages = packages.Where(p => p.isPremium == request.IsPremium.Value); - } - if (request.IsAdult.HasValue) { packages = packages.Where(p => p.adult == request.IsAdult.Value); @@ -188,13 +177,21 @@ namespace MediaBrowser.Api /// <exception cref="ResourceNotFoundException"></exception> public async Task Post(InstallPackage request) { - var package = string.IsNullOrEmpty(request.Version) ? - await _installationManager.GetLatestCompatibleVersion(request.Name, request.AssemblyGuid, typeof(PackageService).Assembly.GetName().Version, request.UpdateClass).ConfigureAwait(false) : - await _installationManager.GetPackage(request.Name, request.AssemblyGuid, request.UpdateClass, Version.Parse(request.Version)).ConfigureAwait(false); + var packages = await _installationManager.GetAvailablePackages().ConfigureAwait(false); + var package = _installationManager.GetCompatibleVersions( + packages, + request.Name, + new Guid(request.AssemblyGuid), + string.IsNullOrEmpty(request.Version) ? null : Version.Parse(request.Version), + request.UpdateClass).FirstOrDefault(); if (package == null) { - throw new ResourceNotFoundException(string.Format("Package not found: {0}", request.Name)); + throw new ResourceNotFoundException( + string.Format( + CultureInfo.InvariantCulture, + "Package not found: {0}", + request.Name)); } await _installationManager.InstallPackage(package); |
