cleaner code

main
Paul Schneider 1 year ago
parent 77a16c5551
commit fa6272ac28
3 changed files with 12 additions and 20 deletions

@ -108,7 +108,7 @@ namespace isnd.Controllers
Id = pkgid,
Description = pkgdesc,
OwnerId = apikey.UserId,
LatestVersion = commit,
LatestVersion = commit
};
dbContext.Packages.Add(pkg);
}
@ -122,17 +122,18 @@ namespace isnd.Controllers
// La version existe sur le disque,
// mais si elle ne l'est pas en base de donnéés,
// on remplace la version sur disque.
string exFullString = version.ToFullString();
var pkgv = dbContext.PackageVersions.Where(
v => v.PackageId == pkg.Id
v => v.PackageId == pkg.Id && v.FullString == exFullString
);
if (pkgv !=null && pkgv.Count()==0)
if (pkgv !=null && !pkgv.Any())
{
dest.Delete();
}
else {
logger.LogWarning("400 : pkgversion:existant");
ModelState.AddModelError("pkgversion", "existant" );
string msg = $"existant {pkg.Id}-{exFullString}";
logger.LogWarning("400 : {msg}", msg);
ModelState.AddModelError("pkgversion", msg);
return BadRequest(CreateAPIKO("existant", ModelState));
}
}

@ -20,6 +20,7 @@ namespace isnd.Data.Catalog
{
new CatalogPage(bid, id, apiBase, pkg.Versions)
};
if (pkg.Versions.Count>0)
{
CommitId = pkg.Versions.Max(v=>v.CommitNId).ToString();

@ -291,26 +291,16 @@ namespace isnd.Services
.Include(p => p.Versions)
.Include(p => p.Owner)
.Include(p=>p.LatestVersion)
.ToListAsync())
.Where(p => Matching(p, query))
;
.Where(p => p.Id == query.Query
&& (p.Versions.Any() && query.Prerelease || p.Versions.Any(v => !v.IsPrerelease)))
.ToListAsync());
var total = scope.Count();
var pkgs = scope.Skip(query.Skip).Take(query.Take);
return pkgs.Select(p => new PackageRegistration(bid, query.Query, apiBase, p));
}
private static bool MatchingExact(Data.Packages.Package p, PackageRegistrationQuery query)
{
return
p.Id == query.Query
&& (query.Prerelease || p.Versions.Any(v => !v.IsPrerelease));
}
private static bool Matching(Data.Packages.Package p, PackageRegistrationQuery query)
{
return p.Id.StartsWith(query.Query)
&& (query.Prerelease || p.Versions.Any(v => !v.IsPrerelease));
}
}
}
Loading…