|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using isnd.Entities;
|
|
|
|
|
using isn.abst;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using isnd.Data.Catalog;
|
|
|
|
|
|
|
|
|
|
namespace isnd.Controllers
|
|
|
|
|
{
|
|
|
|
|
// TODO /search GET {@id}?q={QUERY}&skip={SKIP}&take={TAKE}&prerelease={PRERELEASE}&semVerLevel={SEMVERLEVEL}&packageType={PACKAGETYPE}
|
|
|
|
|
|
|
|
|
|
public partial class PackagesController
|
|
|
|
|
{
|
|
|
|
|
// Web get the paquet
|
|
|
|
|
[HttpGet("~" + Constants.ApiVersionPrefix + ApiConfig.Search)]
|
|
|
|
|
[HttpHead("~" + Constants.ApiVersionPrefix + ApiConfig.Search)]
|
|
|
|
|
[HttpHead("~" + ApiConfig.V2Find)]
|
|
|
|
|
public async Task<IActionResult> Search(
|
|
|
|
|
string q=null,
|
|
|
|
|
int skip=0,
|
|
|
|
|
int take=25,
|
|
|
|
|
bool prerelease=false,
|
|
|
|
|
string semVerLevel = "2.0.0",
|
|
|
|
|
string packageType = null)
|
|
|
|
|
{
|
|
|
|
|
PackageRegistrationQuery query = new PackageRegistrationQuery
|
|
|
|
|
{
|
|
|
|
|
Prerelease= prerelease,
|
|
|
|
|
Query = q,
|
|
|
|
|
Skip = skip,
|
|
|
|
|
Take = take
|
|
|
|
|
};
|
|
|
|
|
var result = await packageManager.SearchPackageAsync(query);
|
|
|
|
|
|
|
|
|
|
return Ok(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|