Unleash client init

This commit is contained in:
Paul Schneider 2021-07-11 18:08:49 +01:00
commit 355b2d4c7c
4 changed files with 63 additions and 28 deletions

View file

@ -14,6 +14,9 @@ using Unleash.ClientFactory;
using Unleash;
using System.Collections.Generic;
using isnd.Services;
using isnd.Entities;
using Microsoft.AspNetCore.Hosting;
using isnd.Helpers;
namespace isn.Controllers
{
@ -30,14 +33,17 @@ namespace isn.Controllers
private readonly IDataProtector protector;
private readonly NugetSettings nugetSettings;
ApplicationDbContext dbContext;
private PackageManager packageManager;
readonly ApplicationDbContext dbContext;
private readonly PackageManager packageManager;
private readonly IUnleash _unleashĈlient;
public PackagesController(
PackageManager packageManager,
ILoggerFactory loggerFactory,
IDataProtectionProvider provider,
IOptions<NugetSettings> nugetOptions,
IOptions<UnleashClientSettings> unleashClientSettings,
IHostingEnvironment env,
ApplicationDbContext dbContext)
{
logger = loggerFactory.CreateLogger<PackagesController>();
@ -45,8 +51,8 @@ namespace isn.Controllers
protector = provider.CreateProtector(nugetSettings.ProtectionTitle);
this.dbContext = dbContext;
this.packageManager = packageManager;
ressources = packageManager.GetResources(Startup.UnleashĈlient).ToArray();
_unleashĈlient = env.CreateUnleahClient(unleashClientSettings.Value);
ressources = packageManager.GetResources(_unleashĈlient).ToArray();
}
// dotnet add . package -s http://localhost:5000/packages isn
@ -66,7 +72,7 @@ namespace isn.Controllers
[HttpGet(_pkgRootPrefix + "/index.json")]
public IActionResult Index(
string q,
string semVerLevel = defaultSemVer,
string semVerLevel,
bool prerelease = false,
string packageType = null,
int skip = 0,
@ -80,6 +86,10 @@ namespace isn.Controllers
{
ModelState.AddModelError("take", "Maximum exceeded");
}
if (semVerLevel != defaultSemVer)
{
ModelState.AddModelError("semVerLevel", defaultSemVer + " expected");
}
if (ModelState.IsValid)
{
return Ok(packageManager.SearchByName(q,skip,take,prerelease,packageType));
@ -91,7 +101,7 @@ namespace isn.Controllers
[HttpGet(_pkgRootPrefix + "/autocomplete")]
public IActionResult AutoComplete(
string id,
string semVerLevel = defaultSemVer,
string semVerLevel,
bool prerelease = false,
string packageType = null,
int skip = 0,
@ -102,6 +112,10 @@ namespace isn.Controllers
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));
}