Catalog++

This commit is contained in:
Paul Schneider 2022-09-24 12:32:00 +01:00
commit fcea41f8c1
8 changed files with 48 additions and 76 deletions

View file

@ -323,13 +323,15 @@ namespace isnd.Services
);
}
public IEnumerable<PackageVersion> GetCatalogLeaf(string id, string version, string lower)
public IEnumerable<PackageVersion> GetCatalogLeaf(string pkgId, string semver, string pkgType)
{
return dbContext.PackageVersions
.Include(v => v.Package)
.Include(v => v.LatestCommit)
.Where(v => v.PackageId == id && v.FullString == version
&& (lower == null || lower == v.Type));
.Where(v => v.PackageId == pkgId
&& (semver == null ||
semver.StartsWith(v.SementicVersionString))
&& (pkgType == null || pkgType == v.Type));
}
@ -344,5 +346,23 @@ namespace isnd.Services
if (packageVersion.Package.OwnerId != uid) return null;
return new PackageDeletionReport { Deleted = true, DeletedVersion = packageVersion };
}
public IEnumerable<Data.Catalog.RegistrationLeaf> SearchById(string pkgId, string semver, string pkgType)
{
string bid = $"{extUrl}v3.4.0/{ApiConfig.Registration}/";
return dbContext.PackageVersions
.Include(v => v.Package)
.Include(v => v.LatestCommit)
.Where(v => v.PackageId == pkgId && semver.StartsWith(v.SementicVersionString)
&& (pkgType == null || pkgType == v.Type)).Select(p => p.Package.ToLeave(bid));
}
public PackageVersion GetPackage(string pkgId, string semver, string pkgType)
{
return dbContext.PackageVersions
.Include(v => v.Package)
.Include(v => v.LatestCommit)
.Single(v => v.PackageId == pkgId && semver == v.FullString
&& (pkgType == null || pkgType == v.Type));
}
}
}