optimize package update queries

This commit is contained in:
sbwalker
2023-08-25 15:42:45 -04:00
parent 417c8d7874
commit bdd1ba05e8
5 changed files with 45 additions and 7 deletions

View File

@ -51,6 +51,25 @@ namespace Oqtane.Controllers
return packages;
}
// GET: api/<controller>/list/?names=x,y,z
[HttpGet("list")]
public async Task<IEnumerable<Package>> GetPackages(string names)
{
// get packages
List<Package> packages = new List<Package>();
var url = _configManager.GetSetting("PackageRegistryUrl", Constants.PackageRegistryUrl);
if (!string.IsNullOrEmpty(url) && !string.IsNullOrEmpty(names))
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Referer", HttpContext.Request.Scheme + "://" + HttpContext.Request.Host.Value);
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(Constants.PackageId, Constants.Version));
packages = await GetJson<List<Package>>(client, url + $"/api/registry/list/?id={_configManager.GetInstallationId()}&version={Constants.Version}&list={names}");
}
}
return packages;
}
[HttpPost]
[Authorize(Roles = RoleNames.Host)]
public async Task<Package> Post(string packageid, string version, string folder)