Find package versions ignoring character case
This commit is contained in:
@ -1,22 +0,0 @@
|
||||
{
|
||||
"dotnet": {
|
||||
"enabled": true
|
||||
},
|
||||
"msbuild": {
|
||||
"enabled": false
|
||||
},
|
||||
"Dnx": {
|
||||
"enabled": false
|
||||
},
|
||||
"Script": {
|
||||
"enabled": false
|
||||
},
|
||||
"fileOptions": {
|
||||
"systemExcludeSearchPatterns": [
|
||||
"**/bin/**/*",
|
||||
"**/obj/**/*",
|
||||
"**/node_modules/**/*"
|
||||
],
|
||||
"userExcludeSearchPatterns": []
|
||||
}
|
||||
}
|
@ -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");
|
||||
|
@ -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<PackageVersion> 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<PackageVersion> 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;
|
||||
|
BIN
test/data/packages/Yavsc.Abstract.1.0.8.nupkg
Normal file
BIN
test/data/packages/Yavsc.Abstract.1.0.8.nupkg
Normal file
Binary file not shown.
6
test/data/test-isn/NuGet.Config
Normal file
6
test/data/test-isn/NuGet.Config
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="localhost" value="https://localhost:5001/v3/index.json" protocolVersion="3" />
|
||||
</packageSources>
|
||||
</configuration>
|
@ -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]
|
||||
|
@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user