diff --git a/BTCPayServer/BTCPayServer.csproj b/BTCPayServer/BTCPayServer.csproj index 49e53e678..794789a78 100644 --- a/BTCPayServer/BTCPayServer.csproj +++ b/BTCPayServer/BTCPayServer.csproj @@ -2,7 +2,7 @@ Exe netcoreapp2.0 - 1.0.1.15 + 1.0.1.16 diff --git a/BTCPayServer/Controllers/RateController.cs b/BTCPayServer/Controllers/RateController.cs index 40055004c..3a2170ce6 100644 --- a/BTCPayServer/Controllers/RateController.cs +++ b/BTCPayServer/Controllers/RateController.cs @@ -33,16 +33,27 @@ namespace BTCPayServer.Controllers [HttpGet] [BitpayAPIConstraint] public async Task GetRates(string cryptoCode = null, string storeId = null) + { + var result = await GetRates2(cryptoCode, storeId); + var rates = (result as JsonResult)?.Value as NBitpayClient.Rate[]; + if(rates == null) + return result; + return Json(new DataWrapper(rates)); + } + + [Route("api/rates")] + [HttpGet] + public async Task GetRates2(string cryptoCode = null, string storeId = null) { cryptoCode = cryptoCode ?? "BTC"; - var network= _NetworkProvider.GetNetwork(cryptoCode); + var network = _NetworkProvider.GetNetwork(cryptoCode); if (network == null) return NotFound(); var rateProvider = _RateProviderFactory.GetRateProvider(network); if (rateProvider == null) return NotFound(); - if(storeId != null) + if (storeId != null) { var store = await _StoreRepo.FindStore(storeId); if (store == null) @@ -51,22 +62,13 @@ namespace BTCPayServer.Controllers } var allRates = (await rateProvider.GetRatesAsync()); - return Json(new DataWrapper - (allRates.Select(r => + return Json(allRates.Select(r => new NBitpayClient.Rate() { Code = r.Currency, Name = _CurrencyNameTable.GetCurrencyData(r.Currency)?.Name, Value = r.Value - }).Where(n => n.Name != null).ToArray())); - - } - - [Route("api/rates")] - [HttpGet] - public Task GetRates2(string cryptoCode = null, string storeId = null) - { - return GetRates(cryptoCode, storeId); + }).Where(n => n.Name != null).ToArray()); } } }