31 lines
936 B
C#
31 lines
936 B
C#
|
|
using Microsoft.AspNetCore.Mvc;
|
||
|
|
|
||
|
|
namespace isnd.Controllers
|
||
|
|
{
|
||
|
|
public partial class PackagesController
|
||
|
|
{
|
||
|
|
|
||
|
|
// GET /autocomplete?id=isn.protocol&prerelease=true
|
||
|
|
[HttpGet(_pkgRootPrefix + ApiConfig.AutoComplete)]
|
||
|
|
public IActionResult AutoComplete(
|
||
|
|
string id,
|
||
|
|
string semVerLevel,
|
||
|
|
bool prerelease = false,
|
||
|
|
string packageType = null,
|
||
|
|
int skip = 0,
|
||
|
|
int take = 25)
|
||
|
|
{
|
||
|
|
if (take > maxTake)
|
||
|
|
{
|
||
|
|
ModelState.AddModelError("take", "Maximum exceeded");
|
||
|
|
return BadRequest(ModelState);
|
||
|
|
}
|
||
|
|
if (semVerLevel != defaultSemVer)
|
||
|
|
{
|
||
|
|
ModelState.AddModelError("semVerLevel", defaultSemVer + " expected");
|
||
|
|
}
|
||
|
|
|
||
|
|
return Ok(_packageManager.AutoComplete(id,skip,take,prerelease,packageType));
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|