by Nuget version
This commit is contained in:
parent
e49db8e1a1
commit
c147eaf54a
8 changed files with 46 additions and 38 deletions
|
|
@ -122,27 +122,6 @@ namespace isnd.Services
|
|||
return res;
|
||||
}
|
||||
|
||||
public RegistrationPageIndex SearchByName(string query,
|
||||
int skip, int take, bool prerelease = false,
|
||||
string packageType = null)
|
||||
{
|
||||
|
||||
var scope = dbContext.Packages
|
||||
.Include(p => p.Versions)
|
||||
.Include(p => p.Owner)
|
||||
.Where(
|
||||
p => (PackageIdHelpers.CamelCaseMatch(p.Id, query) || PackageIdHelpers.SeparatedByMinusMatch(p.Id, query))
|
||||
&& (prerelease || p.Versions.Any(v => !v.IsPrerelease))
|
||||
&& (packageType == null || p.Versions.Any(v => v.Type == packageType))
|
||||
);
|
||||
var total = scope.Count();
|
||||
var pkgs = scope.Skip(skip).Take(take).ToArray();
|
||||
string bid = $"{extUrl}v3.4.0/{ApiConfig.Registration}/";
|
||||
var leaves = pkgs.Select(p => p.ToLeave(bid));
|
||||
|
||||
return new RegistrationPageIndex(bid, leaves);
|
||||
}
|
||||
|
||||
public AutoCompleteResult AutoComplete(string id,
|
||||
int skip, int take, bool prerelease = false,
|
||||
string packageType = null)
|
||||
|
|
@ -177,7 +156,7 @@ namespace isnd.Services
|
|||
&& (packageType == null || v.Type == packageType)
|
||||
&& (parsedVersion.CompareTo(new SemanticVersion(v.Major, v.Minor, v.Patch)) < 0)
|
||||
)
|
||||
.OrderBy(v => v.FullString)
|
||||
.OrderBy(v => v.NugetVersion)
|
||||
.Select(v => v.FullString)
|
||||
.Skip(skip).Take(take).ToArray();
|
||||
}
|
||||
|
|
@ -234,6 +213,7 @@ namespace isnd.Services
|
|||
i = 0;
|
||||
}
|
||||
var validPkgs = dbContext.Packages
|
||||
.Include(po => po.Owner)
|
||||
.Include(pkg => pkg.Versions)
|
||||
.Include(pkg => pkg.LatestVersion)
|
||||
.Where(
|
||||
|
|
@ -319,8 +299,6 @@ namespace isnd.Services
|
|||
&& (pkgType == null || pkgType == v.Type));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<PackageDeletionReport> UserAskForPackageDeletionAsync(string uid, string id, string lower, string type)
|
||||
{
|
||||
PackageVersion packageVersion = await dbContext.PackageVersions
|
||||
|
|
@ -337,6 +315,7 @@ namespace isnd.Services
|
|||
string bid = $"{extUrl}v3.4.0/{ApiConfig.Registration}/";
|
||||
return dbContext.PackageVersions
|
||||
.Include(v => v.Package)
|
||||
.Include(v => v.Package.Owner)
|
||||
.Include(v => v.LatestCommit)
|
||||
.Where(v => v.PackageId == pkgId && semver.StartsWith(v.SementicVersionString)
|
||||
&& (pkgType == null || pkgType == v.Type)).Select(p => p.Package.ToLeave(bid));
|
||||
|
|
@ -349,5 +328,25 @@ namespace isnd.Services
|
|||
.Single(v => v.PackageId == pkgId && semver == v.FullString
|
||||
&& (pkgType == null || pkgType == v.Type));
|
||||
}
|
||||
|
||||
public RegistrationPageIndexQuery GetPackageRegistrationIndex(RegistrationPageIndexQuery query)
|
||||
{
|
||||
// RegistrationPageIndexAndQuery
|
||||
var scope = dbContext.Packages
|
||||
.Include(p => p.Versions)
|
||||
.Include(p => p.Owner)
|
||||
.Where(
|
||||
p => (PackageIdHelpers.CamelCaseMatch(p.Id, query.Query)
|
||||
|| PackageIdHelpers.SeparatedByMinusMatch(p.Id, query.Query))
|
||||
&& (query.Prerelease || p.Versions.Any(v => !v.IsPrerelease))
|
||||
);
|
||||
var total = scope.Count();
|
||||
var pkgs = scope.Skip(query.Skip).Take(query.Take).ToArray();
|
||||
string bid = $"{extUrl}v3.4.0/{ApiConfig.Registration}/";
|
||||
var leaves = pkgs.Select(p => p.ToLeave(bid));
|
||||
|
||||
return
|
||||
new RegistrationPageIndexQuery(bid, leaves);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue