Versionning

broken/ef
Paul Schneider 2 years ago
parent a4a1c6e271
commit 217cc49019
5 changed files with 16 additions and 11 deletions

@ -17,9 +17,9 @@ namespace isn
var resources = SourceHelpers.GetServerResources(source);
if (resources.Resources == null)
throw new InvalidOperationException("source gave no resource");
if (!resources.Resources.Any(res => res.Type == "PackagePublish/2.0.0"))
if (!resources.Resources.Any(res => res.Type == "PackagePublish/3.5.0"))
throw new InvalidOperationException("Source won't serve the expected push command");
var pubRes = resources.Resources.First(res => res.Type == "PackagePublish/2.0.0");
var pubRes = resources.Resources.First(res => res.Type == "PackagePublish/3.5.0");
FileInfo fi = new FileInfo(pkg);
if (!fi.Exists)
{

@ -1,3 +1,4 @@
using isnd.Services;
using Microsoft.AspNetCore.Mvc;
namespace isnd.Controllers
@ -14,18 +15,23 @@ namespace isnd.Controllers
string packageType = null,
int skip = 0,
int take = 25)
{
CheckParams(take, semVerLevel);
if (ModelState.ErrorCount > 0) return BadRequest(ModelState);
return Ok(_packageManager.AutoComplete(id,skip,take,prerelease,packageType));
}
protected void CheckParams(int take,string semVerLevel)
{
if (take > maxTake)
{
ModelState.AddModelError("take", "Maximum exceeded");
return BadRequest(ModelState);
}
if (semVerLevel != defaultSemVer)
if (semVerLevel != PackageManager.BASE_API_LEVEL)
{
ModelState.AddModelError("semVerLevel", defaultSemVer + " expected");
ModelState.AddModelError("semVerLevel", PackageManager.BASE_API_LEVEL + " expected");
}
return Ok(_packageManager.AutoComplete(id,skip,take,prerelease,packageType));
}
}
}

@ -23,8 +23,6 @@ namespace isnd.Controllers
public partial class PackagesController : Controller
{
const int maxTake = 100;
const string defaultSemVer = "2.0.0";
private readonly Resource[] _resources;
private readonly ILogger<PackagesController> _logger;
private readonly IDataProtector _protector;
@ -55,7 +53,7 @@ namespace isnd.Controllers
[HttpGet(_pkgRootPrefix + ApiConfig.Base)]
public IActionResult ApiIndex()
{
return Ok(new ApiIndexViewModel{ Version = "3.0.0", Resources = _resources });
return Ok(new ApiIndexViewModel{ Version = PackageManager.BASE_API_LEVEL, Resources = _resources });
}
}

@ -20,6 +20,7 @@ namespace isnd.Services
public class PackageManager : IPackageManager
{
public const string BASE_API_LEVEL = "3.5.0";
ApplicationDbContext dbContext;
public PackageManager(ApplicationDbContext dbContext,

@ -69,7 +69,7 @@ dataTable.Rows.Add(dataRow);
var model = await SourceHelpers.GetServerResourcesUsingWebRequestAsync("Http://isn.pschneider.fr/index.json");
Console.WriteLine(JsonConvert.SerializeObject(model));
Assert.NotNull(model.Resources);
var pub = model.Resources.FirstOrDefault((r) => r.Type == "PackagePublish/2.0.0");
var pub = model.Resources.FirstOrDefault((r) => r.Type == "PackagePublish/3.5.0");
Assert.True(pub!=null);
}

Loading…