catalog impl

This commit is contained in:
2022-08-20 12:54:24 +01:00
parent fa9a12ad49
commit 14206ac477
27 changed files with 320 additions and 44 deletions

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using isn.Abstract;
using isnd.Controllers;
using isnd.Data;
using isnd.Data.Catalog;
using isnd.Data.Packages;
using isnd.Data.Packages.Catalog;
using isnd.Entities;
@ -121,13 +122,14 @@ namespace isnd.Services
return res;
}
public PackageIndexViewModel SearchByName(string query,
public PackageRegistrationIndexViewModel 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))
@ -136,18 +138,11 @@ namespace isnd.Services
var total = scope.Count();
var pkgs = scope.Skip(skip).Take(take).ToArray();
return new PackageIndexViewModel
return new PackageRegistrationIndexViewModel
{
Query = query,
TotalHits = total,
Data = pkgs
};
}
private object PackageVersionToRegentry(Package v)
{
return new {
Data = pkgs.Select(p => p.ToLeave()).ToArray()
};
}
@ -325,18 +320,7 @@ namespace isnd.Services
v.Type == type
);
}
public async Task<CatalogRegistration> GetPackageRegistrationAsync(string pkgid, string version, string type)
{
var pkgVersion = await GetPackageAsync(pkgid, version, type);
return new CatalogRegistration
{
Id = pkgVersion.PackageId,
CommitTimeStamp = pkgVersion.LatestCommit.CommitTimeStamp,
PackageContent = extUrl + pkgVersion.FullString
};
}
public IEnumerable<PackageVersion> GetCatalogLeaf(string id, string version, string lower)
{
return dbContext.PackageVersions