From 85d32f2378c48c8bfc2088f5a0220d1bd877bd2a Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Fri, 20 Oct 2023 21:03:10 +0300 Subject: [PATCH] Update PackageVersionCheckerService.cs --- .../Version/PackageVersionCheckerService.cs | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs index f4b87ea047..ff35fcf17f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs @@ -46,7 +46,7 @@ public class PackageVersionCheckerService : ITransientDependency { var versionList = await GetPackageVersionListAsync(packageId, false); - if (versionList == null) + if (!versionList.Any()) { return false; } @@ -121,10 +121,10 @@ public class PackageVersionCheckerService : ITransientDependency } var searchUrl = CliUrls.GetNuGetPackageSearchUrl(_apiKeyResult.ApiKey, packageId); - return await HasAnyPackageAsync(searchUrl); + return await HasAnyPackageAsync(searchUrl, packageId); } - private async Task HasAnyPackageAsync(string url) + private async Task HasAnyPackageAsync(string url, string packageId) { try { @@ -139,8 +139,9 @@ public class PackageVersionCheckerService : ITransientDependency await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); var responseContent = await responseMessage.Content.ReadAsStringAsync(); - - return JsonSerializer.Deserialize(responseContent).TotalHits > 0; + var nugetSearchResult = JsonSerializer.Deserialize(responseContent); + + return nugetSearchResult.TotalHits > 0 && nugetSearchResult.Packages.Any(package => package.Id.ToLowerInvariant() == packageId.ToLowerInvariant()); } } catch (Exception) @@ -182,7 +183,7 @@ public class PackageVersionCheckerService : ITransientDependency if (responseMessage.StatusCode == HttpStatusCode.NotFound) { //the package doesn't exist... - return null; + return new List(); } await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); @@ -193,7 +194,7 @@ public class PackageVersionCheckerService : ITransientDependency } catch (Exception) { - return null; + return new List(); } } @@ -238,6 +239,18 @@ public class PackageVersionCheckerService : ITransientDependency { [JsonProperty("totalHits")] public int TotalHits { get; set; } + + [JsonProperty("data")] + public NuGetSearchResultPackagesDto[] Packages { get; set; } + } + + public class NuGetSearchResultPackagesDto + { + [JsonProperty("id")] + public string Id { get; set; } + + [JsonProperty("version")] + public string Version { get; set; } } public class NuGetVersionResultDto