implements the Web API deletion
This commit is contained in:
@ -299,6 +299,8 @@ namespace isnd.Services
|
||||
&& m.FullString == lower && (type == null || m.Type == type));
|
||||
if (packageVersion == null) return null;
|
||||
if (packageVersion.Package.OwnerId != uid) return null;
|
||||
dbContext.PackageVersions.Remove(packageVersion);
|
||||
await dbContext.SaveChangesAsync();
|
||||
return new PackageDeletionReport { Deleted = true, DeletedVersion = packageVersion };
|
||||
}
|
||||
|
||||
@ -404,9 +406,9 @@ namespace isnd.Services
|
||||
|
||||
var xMeta = XElement.Load(xmlReader, LoadOptions.None).Descendants().First();
|
||||
|
||||
var xMetaElts = xMeta.Descendants();
|
||||
var xMetaElements = xMeta.Descendants();
|
||||
|
||||
string description = xMetaElts.FirstOrDefault(x => x.Name.LocalName == "description")?.Value;
|
||||
string description = xMetaElements.FirstOrDefault(x => x.Name.LocalName == "description")?.Value;
|
||||
|
||||
var dependencies = xMeta
|
||||
.Descendants().FirstOrDefault(x => x.Name.LocalName == "dependencies");
|
||||
@ -418,8 +420,10 @@ namespace isnd.Services
|
||||
.Select(x => NewFrameworkDependencyGroup(x)).ToArray();
|
||||
// FIXME default package type or null
|
||||
var types = "Dependency";
|
||||
pkgId = xMetaElts.FirstOrDefault(x => x.Name.LocalName == "id")?.Value;
|
||||
string pkgVersion = xMetaElts.FirstOrDefault(x => x.Name.LocalName == "version")?.Value;
|
||||
pkgId = xMetaElements.FirstOrDefault(x => x.Name.LocalName == "id")?.Value;
|
||||
if (!Package.ValidateId(pkgId))
|
||||
throw new InvalidDataException();
|
||||
string pkgVersion = xMetaElements.FirstOrDefault(x => x.Name.LocalName == "version")?.Value;
|
||||
|
||||
if (!NuGetVersion.TryParse(pkgVersion, out nugetVersion))
|
||||
throw new InvalidPackageException("metadata/version");
|
||||
@ -430,7 +434,7 @@ namespace isnd.Services
|
||||
string name = $"{pkgId}-{nugetVersion}." + Constants.PacketFileExtension;
|
||||
fullPath = Path.Combine(pkgPath, name);
|
||||
|
||||
var authors = xMetaElts.FirstOrDefault(x => x.Name.LocalName == "authors")?.Value;
|
||||
var authors = xMetaElements.FirstOrDefault(x => x.Name.LocalName == "authors")?.Value;
|
||||
|
||||
var packageIdPathInfo = new DirectoryInfo(packageIdPath);
|
||||
Data.Packages.Package pkg = dbContext.Packages.SingleOrDefault(p => p.Id == pkgId);
|
||||
|
Reference in New Issue
Block a user