pkg upd by no db

This commit is contained in:
Paul Schneider 2021-08-11 23:25:15 +01:00
commit 58750587d0
4 changed files with 42 additions and 12 deletions

View file

@ -104,14 +104,26 @@ namespace isn.Controllers
var destdir = new DirectoryInfo(dest.DirectoryName);
if (dest.Exists)
{
ViewData["msg"] = "existant";
ViewData["ecode"] = 1;
_logger.LogWarning("400 : existant");
return base.BadRequest(new { error = ModelState });
// La version existe sur le disque,
// mais si elle ne l'est pas en base de donnéés,
// on remplace la version sur disque.
var pkgv = _dbContext.PackageVersions.Where(
v => v.PackageId == package.Id
);
if (pkgv !=null && pkgv.Count()==0)
{
dest.Delete();
}
else {
ViewData["msg"] = "existant";
ViewData["ecode"] = 1;
_logger.LogWarning("400 : existant");
return base.BadRequest(new { error = ModelState });
}
}
else
{
destdir.Create();
if (!destdir.Exists) destdir.Create();
source.MoveTo(fullpath);
files.Add(name);
string fullstringversion = version.ToFullString();
@ -156,7 +168,12 @@ namespace isn.Controllers
}
}
}
nuspec.ExtractToFile(Path.Combine(pkgpath, pkgid + ".nuspec"));
string nuspecfullpath = Path.Combine(pkgpath, pkgid + ".nuspec");
FileInfo nfpi = new FileInfo(nuspecfullpath);
if (nfpi.Exists)
nfpi.Delete();
nuspec.ExtractToFile(nuspecfullpath);
}
}