diff --git a/src/isn/commands/PushCommand.cs b/src/isn/commands/PushCommand.cs index e858347..cf708b9 100644 --- a/src/isn/commands/PushCommand.cs +++ b/src/isn/commands/PushCommand.cs @@ -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) { diff --git a/src/isnd/Controllers/PackagesController.AutoComplete.cs b/src/isnd/Controllers/PackagesController.AutoComplete.cs index 940eb18..60c9cc0 100644 --- a/src/isnd/Controllers/PackagesController.AutoComplete.cs +++ b/src/isnd/Controllers/PackagesController.AutoComplete.cs @@ -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)); } } } \ No newline at end of file diff --git a/src/isnd/Controllers/PackagesController.cs b/src/isnd/Controllers/PackagesController.cs index 042e8cb..2c502e2 100644 --- a/src/isnd/Controllers/PackagesController.cs +++ b/src/isnd/Controllers/PackagesController.cs @@ -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 _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 }); } } diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index b447a3f..fd08b11 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -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, diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs index e174c98..7d757d3 100644 --- a/test/isn.tests/PushTest.cs +++ b/test/isn.tests/PushTest.cs @@ -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); }