Compare commits
3 Commits
6d0ec6d8a8
...
main
Author | SHA1 | Date | |
---|---|---|---|
cbe5614794 | |||
f03c56fead | |||
26e253a3ab |
@ -5,6 +5,7 @@ using isnd.Attributes;
|
||||
using isnd.Entities;
|
||||
using isn.abst;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace isnd.Controllers
|
||||
{
|
||||
@ -27,14 +28,18 @@ namespace isnd.Controllers
|
||||
return BadRequest("Package does´nt exist in the file system.");
|
||||
var pkgVersionDirInfo = pkgDirInfo.GetDirectories().FirstOrDefault(
|
||||
s=>s.Name==version);
|
||||
if (pkgVersionDirInfo==null)
|
||||
return BadRequest("Package does´nt exist in the specified version.");
|
||||
|
||||
var pkgNameSpec=$"{id}-{version}.{Constants.PacketFileExtension}";
|
||||
|
||||
FileInfo pkgFileInfo = pkgVersionDirInfo.GetFiles()
|
||||
.FirstOrDefault(p=>string.Compare(p.Name,pkgNameSpec,
|
||||
System.StringComparison.InvariantCultureIgnoreCase)==0);
|
||||
|
||||
if (!pkgFileInfo.Exists)
|
||||
if (pkgFileInfo==null || !pkgFileInfo.Exists)
|
||||
{
|
||||
logger.LogError($"Not found in {pkgVersionDirInfo.FullName} : {pkgNameSpec}");
|
||||
return BadRequest("Package version does´nt exist in the file system.");
|
||||
}
|
||||
return File(pkgFileInfo.OpenRead(), "application/zip; charset=binary");
|
||||
|
@ -12,7 +12,7 @@ namespace isnd.Controllers
|
||||
public IActionResult GetVersions(
|
||||
string id,
|
||||
string version,
|
||||
bool prerelease = false,
|
||||
bool prerelease = true,
|
||||
string packageType = null,
|
||||
int skip = 0,
|
||||
int take = 50)
|
||||
|
@ -8,6 +8,7 @@ using Microsoft.Extensions.Logging;
|
||||
using isnd.Entities;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using isn.abst;
|
||||
using System.IO;
|
||||
|
||||
namespace isnd.Controllers
|
||||
{
|
||||
@ -33,12 +34,28 @@ namespace isnd.Controllers
|
||||
logger.LogError("403 : no api-key");
|
||||
return Unauthorized();
|
||||
}
|
||||
bool foundPackage = false;
|
||||
|
||||
foreach (IFormFile file in Request.Form.Files)
|
||||
{
|
||||
var version = await packageManager.PutPackageAsync(file.OpenReadStream(), dbApiKey.UserId);
|
||||
logger.LogInformation($"new package : {version.PackageId} {version.NugetLink}");
|
||||
FileInfo inputFileInfo = new FileInfo(file.FileName);
|
||||
switch (inputFileInfo.Extension)
|
||||
{
|
||||
case ".nupkg":
|
||||
case ".nupkgs":
|
||||
var libVersion = await packageManager.PutPackageAsync(inputFileInfo.Extension, file.OpenReadStream(), dbApiKey.UserId);
|
||||
logger.LogInformation($"new package : {libVersion.PackageId} {libVersion.NugetLink}");
|
||||
foundPackage = true;
|
||||
break;
|
||||
default:
|
||||
logger.LogInformation($"file extension is not supported : {inputFileInfo.Extension}");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return Ok();
|
||||
if (foundPackage)
|
||||
return Ok();
|
||||
return BadRequest("no package");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ namespace isnd.Interfaces
|
||||
|
||||
Task<PackageSearchResult> SearchPackageAsync(PackageRegistrationQuery query);
|
||||
|
||||
Task<PackageVersion> PutPackageAsync(Stream packageStream, string ownerId);
|
||||
Task<PackageVersion> PutPackageAsync(string fileExtension, Stream packageStream, string ownerId);
|
||||
}
|
||||
|
||||
}
|
@ -396,7 +396,7 @@ namespace isnd.Services
|
||||
return new PackageSearchResult(packages, apiBase, count);
|
||||
}
|
||||
|
||||
public async Task<PackageVersion> PutPackageAsync(Stream packageStream, string ownerId)
|
||||
public async Task<PackageVersion> PutPackageAsync(string fileExtension, Stream packageStream, string ownerId)
|
||||
{
|
||||
PackageVersion version = null;
|
||||
using (packageStream)
|
||||
@ -441,7 +441,7 @@ namespace isnd.Services
|
||||
string packageIdPath = Path.Combine(isndSettings.PackagesRootDir,
|
||||
pkgId);
|
||||
pkgPath = Path.Combine(packageIdPath, nugetVersion.ToFullString());
|
||||
string name = $"{pkgId}-{nugetVersion}." + Constants.PacketFileExtension;
|
||||
string name = $"{pkgId}-{nugetVersion}" + fileExtension;
|
||||
fullPath = Path.Combine(pkgPath, name);
|
||||
|
||||
var authors = xMetaElements.FirstOrDefault(x => x.Name.LocalName == "authors")?.Value;
|
||||
|
@ -52,7 +52,10 @@ namespace isnd
|
||||
.Configure<AdminStartupList>(adminStartupListConf)
|
||||
.Configure<MigrationsEndPointOptions>(o => o.Path = "~/migrate")
|
||||
.AddDbContext<ApplicationDbContext>(options =>
|
||||
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")))
|
||||
options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"))
|
||||
.ConfigureWarnings(w => w.Ignore(RelationalEventId.PendingModelChangesWarning))
|
||||
.EnableDetailedErrors()
|
||||
)
|
||||
.AddIdentity<ApplicationUser, IdentityRole>()
|
||||
.AddRoles<IdentityRole>()
|
||||
.AddEntityFrameworkStores<ApplicationDbContext>(
|
||||
@ -96,7 +99,7 @@ namespace isnd
|
||||
s.SerializerSettings.ReferenceResolverProvider = () => new NSJWebApiReferenceResolver();
|
||||
})
|
||||
.AddXmlSerializerFormatters();
|
||||
#if SWAGGER
|
||||
#if SWAGGER
|
||||
services.AddSwaggerGen(options =>
|
||||
{
|
||||
options.SwaggerDoc("v1", new OpenApiInfo
|
||||
@ -119,7 +122,7 @@ namespace isnd
|
||||
var xmlFilename = $"{typeof(Startup).Assembly.GetName().Name}.xml";
|
||||
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
|
||||
});
|
||||
#endif
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
@ -134,10 +137,10 @@ namespace isnd
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
app.UseMigrationsEndPoint();
|
||||
#if SWAGGER
|
||||
#if SWAGGER
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
BIN
test/data/packages/AsciiDocNet.1.0.0.nupkg
Normal file
BIN
test/data/packages/AsciiDocNet.1.0.0.nupkg
Normal file
Binary file not shown.
@ -3,4 +3,7 @@
|
||||
<packageSources>
|
||||
<add key="localhost" value="https://localhost:5001/v3/index.json" protocolVersion="3" />
|
||||
</packageSources>
|
||||
<disabledPackageSources>
|
||||
<add key="localhost" value="true" />
|
||||
</disabledPackageSources>
|
||||
</configuration>
|
||||
|
@ -11,11 +11,4 @@
|
||||
<Version>1.0.7</Version>
|
||||
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="isn.abst" Version="1.0.24" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -183,7 +183,7 @@ namespace isnd.host.tests
|
||||
PackageUpdateResource pushRes = await repository.GetResourceAsync<PackageUpdateResource>();
|
||||
SymbolPackageUpdateResourceV3 symbolPackageResource = await repository.GetResourceAsync<SymbolPackageUpdateResourceV3>();
|
||||
|
||||
await pushRes.Push(new List<string>{ "../../../Yavsc.Abstract.1.0.8.nupkg" }, null,
|
||||
await pushRes.Push(new List<string>{ "/home/paul/workspace/isn/test/data/packages/AsciiDocNet.1.0.0.nupkg" }, null,
|
||||
5000, false, GetApiKey, GetSymbolsApiKey, false, false, symbolPackageResource, logger);
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user