Find package versions ignoring character case
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user