From 301a276a7bffa4d7a9bdda4a7f299b83729fac9f Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Tue, 4 Mar 2025 14:28:29 +0000 Subject: [PATCH] Find package versions ignoring character case --- omnisharp.json | 22 ----- .../Packages/PackagesController.GetPackage.cs | 4 +- src/isnd/Services/PackageManager.cs | 75 ++++++++++-------- test/data/packages/Yavsc.Abstract.1.0.8.nupkg | Bin 0 -> 39132 bytes test/data/test-isn/NuGet.Config | 6 ++ test/isn.tests/PushTest.cs | 2 +- test/isnd.tests/UnitTestWebHost.cs | 2 +- 7 files changed, 52 insertions(+), 59 deletions(-) delete mode 100644 omnisharp.json create mode 100644 test/data/packages/Yavsc.Abstract.1.0.8.nupkg create mode 100644 test/data/test-isn/NuGet.Config diff --git a/omnisharp.json b/omnisharp.json deleted file mode 100644 index 2c3209f..0000000 --- a/omnisharp.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "dotnet": { - "enabled": true - }, - "msbuild": { - "enabled": false - }, - "Dnx": { - "enabled": false - }, - "Script": { - "enabled": false - }, - "fileOptions": { - "systemExcludeSearchPatterns": [ - "**/bin/**/*", - "**/obj/**/*", - "**/node_modules/**/*" - ], - "userExcludeSearchPatterns": [] - } -} diff --git a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs index 5cffd8f..1d03246 100644 --- a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs +++ b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs @@ -25,7 +25,7 @@ namespace isnd.Controllers if (!pkgFileInfo.Exists) { - return BadRequest("!pkgFileInfo.Exists"); + return BadRequest("Package does´nt exist in the file system."); } return File(pkgFileInfo.OpenRead(), "application/zip; charset=binary"); } @@ -45,7 +45,7 @@ namespace isnd.Controllers FileInfo pkgFileInfo = new FileInfo(pkgPath); if (!pkgFileInfo.Exists) { - return BadRequest("!pkgFileInfo.Exists"); + return BadRequest("Package info does´nt exist in the file system."); } return File(pkgFileInfo.OpenRead(), "text/xml; charset=utf-8"); diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index 26e5d85..abf0141 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -120,44 +120,53 @@ namespace isnd.Services public string[] GetVersions( string id, NuGetVersion parsedVersion = null, - bool prerelease = false, + bool prerelease = true, string packageType = null, int skip = 0, int take = 25) { - IQueryable results = - (parsedVersion != null)? - (packageType == null) ? - dbContext.PackageVersions.Where( - v => v.PackageId == id - && (prerelease || !v.IsPrerelease) - && (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0) - ) - : - dbContext.PackageVersions.Where( - v => v.PackageId == id - && (prerelease || !v.IsPrerelease) - && (v.Type == packageType) - && (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0) - ) - - : - (packageType == null) ? - dbContext.PackageVersions.Where( - v => v.PackageId == id - && (prerelease || !v.IsPrerelease) - ) - : - dbContext.PackageVersions.Where( - v => v.PackageId == id - && (prerelease || !v.IsPrerelease) - && (v.Type == packageType) - ) - ; + if (!String.IsNullOrWhiteSpace(id)) + { + id = id.ToLower(); + if (!String.IsNullOrWhiteSpace(packageType)) + { + packageType = packageType.ToLower(); + } + IQueryable results = + (parsedVersion != null) ? + (packageType == null) ? + dbContext.PackageVersions.Where( + v => v.PackageId.ToLower() == id + && (prerelease || !v.IsPrerelease) + && (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0) + ) + : + dbContext.PackageVersions.Where( + v => v.PackageId.ToLower() == id + && (prerelease || !v.IsPrerelease) + && (v.Type == packageType) + && (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0) + ) - return [.. results - .Select(v => v.FullString) - .Skip(skip).Take(take)]; + : + (packageType == null) ? + dbContext.PackageVersions.Where( + v => v.PackageId.ToLower() == id + && (prerelease || !v.IsPrerelease) + ) + : + dbContext.PackageVersions.Where( + v => v.PackageId.ToLower() == id + && (prerelease || !v.IsPrerelease) + && (v.Type == packageType) + ) + ; + var res = results.Select(v => v.FullString) + .Skip(skip).Take(take).ToArray(); + return res; + } + + return null; } public string CatalogBaseUrl => apiBase; diff --git a/test/data/packages/Yavsc.Abstract.1.0.8.nupkg b/test/data/packages/Yavsc.Abstract.1.0.8.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..0d97ff95e1daf10e293284bfdfb4c9ee943d7ad8 GIT binary patch literal 39132 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 q + + + + + diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index c8a9884..304bfd9 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -30,7 +30,7 @@ namespace isn.tests public void TestPush() { Program.LoadConfig(); - var report = Program.PushPkg(new string[] { "./src/isn.abst/bin/Release/isn.abst.1.0.24.nupkg" }); + var report = Program.PushPkg(new string[] { "test/data/packages/Yavsc.Abstract.1.0.8.nupkg" }); } [Fact] diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index a6c61e4..eec9fb8 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -164,7 +164,7 @@ namespace isnd.host.tests sourceCacheContext.RefreshMemoryCache = true; CancellationTokenSource source = new CancellationTokenSource(); - var meta = await metadataResource.GetMetadataAsync( "isn.abst", true, false, sourceCacheContext, logger, source.Token); + var meta = await metadataResource.GetMetadataAsync( "Yavsc.Abstract", true, false, sourceCacheContext, logger, source.Token); foreach (IPackageSearchMetadata result in meta) {