isn/src/isnd/Controllers/Packages/PackagesController.GetVersi...

39 lines
1.1 KiB
C#

3 years ago
using Microsoft.AspNetCore.Mvc;
using NuGet.Versioning;
using isnd.Entities;
namespace isnd.Controllers
{
public partial class PackagesController
{
2 years ago
[HttpGet("~" + ApiConfig.V2Find)]
3 years ago
public IActionResult GetVersions(
string id,
string lower,
bool prerelease = false,
string packageType = null,
int skip = 0,
int take = 25)
{
if (take > maxTake)
{
ModelState.AddModelError("take", "Maximum exceeded");
}
// NugetVersion
if (!NuGetVersion.TryParse(lower, out NuGetVersion parsedVersion))
{
ModelState.AddModelError("lower", "invalid version string");
}
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return Ok(new
{
versions = packageManager.GetVersions(
id, parsedVersion, prerelease, packageType, skip, take)
});
}
}
}