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)
|
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");
|
return File(pkgFileInfo.OpenRead(), "application/zip; charset=binary");
|
||||||
}
|
}
|
||||||
@ -45,7 +45,7 @@ namespace isnd.Controllers
|
|||||||
FileInfo pkgFileInfo = new FileInfo(pkgPath);
|
FileInfo pkgFileInfo = new FileInfo(pkgPath);
|
||||||
if (!pkgFileInfo.Exists)
|
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");
|
return File(pkgFileInfo.OpenRead(), "text/xml; charset=utf-8");
|
||||||
|
@ -120,22 +120,29 @@ namespace isnd.Services
|
|||||||
public string[] GetVersions(
|
public string[] GetVersions(
|
||||||
string id,
|
string id,
|
||||||
NuGetVersion parsedVersion = null,
|
NuGetVersion parsedVersion = null,
|
||||||
bool prerelease = false,
|
bool prerelease = true,
|
||||||
string packageType = null,
|
string packageType = null,
|
||||||
int skip = 0,
|
int skip = 0,
|
||||||
int take = 25)
|
int take = 25)
|
||||||
{
|
{
|
||||||
|
if (!String.IsNullOrWhiteSpace(id))
|
||||||
|
{
|
||||||
|
id = id.ToLower();
|
||||||
|
if (!String.IsNullOrWhiteSpace(packageType))
|
||||||
|
{
|
||||||
|
packageType = packageType.ToLower();
|
||||||
|
}
|
||||||
IQueryable<PackageVersion> results =
|
IQueryable<PackageVersion> results =
|
||||||
(parsedVersion != null)?
|
(parsedVersion != null) ?
|
||||||
(packageType == null) ?
|
(packageType == null) ?
|
||||||
dbContext.PackageVersions.Where(
|
dbContext.PackageVersions.Where(
|
||||||
v => v.PackageId == id
|
v => v.PackageId.ToLower() == id
|
||||||
&& (prerelease || !v.IsPrerelease)
|
&& (prerelease || !v.IsPrerelease)
|
||||||
&& (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0)
|
&& (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0)
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
dbContext.PackageVersions.Where(
|
dbContext.PackageVersions.Where(
|
||||||
v => v.PackageId == id
|
v => v.PackageId.ToLower() == id
|
||||||
&& (prerelease || !v.IsPrerelease)
|
&& (prerelease || !v.IsPrerelease)
|
||||||
&& (v.Type == packageType)
|
&& (v.Type == packageType)
|
||||||
&& (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0)
|
&& (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0)
|
||||||
@ -144,20 +151,22 @@ namespace isnd.Services
|
|||||||
:
|
:
|
||||||
(packageType == null) ?
|
(packageType == null) ?
|
||||||
dbContext.PackageVersions.Where(
|
dbContext.PackageVersions.Where(
|
||||||
v => v.PackageId == id
|
v => v.PackageId.ToLower() == id
|
||||||
&& (prerelease || !v.IsPrerelease)
|
&& (prerelease || !v.IsPrerelease)
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
dbContext.PackageVersions.Where(
|
dbContext.PackageVersions.Where(
|
||||||
v => v.PackageId == id
|
v => v.PackageId.ToLower() == id
|
||||||
&& (prerelease || !v.IsPrerelease)
|
&& (prerelease || !v.IsPrerelease)
|
||||||
&& (v.Type == packageType)
|
&& (v.Type == packageType)
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
|
var res = results.Select(v => v.FullString)
|
||||||
|
.Skip(skip).Take(take).ToArray();
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
return [.. results
|
return null;
|
||||||
.Select(v => v.FullString)
|
|
||||||
.Skip(skip).Take(take)];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string CatalogBaseUrl => apiBase;
|
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()
|
public void TestPush()
|
||||||
{
|
{
|
||||||
Program.LoadConfig();
|
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]
|
[Fact]
|
||||||
|
@ -164,7 +164,7 @@ namespace isnd.host.tests
|
|||||||
sourceCacheContext.RefreshMemoryCache = true;
|
sourceCacheContext.RefreshMemoryCache = true;
|
||||||
|
|
||||||
CancellationTokenSource source = new CancellationTokenSource();
|
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)
|
foreach (IPackageSearchMetadata result in meta)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user