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