Show nice error if attempting to access lnd before being fully synched

This commit is contained in:
nicolas.dorier
2018-08-03 12:14:09 +09:00
parent 5e2d4407ca
commit e9e94f5e99
3 changed files with 10 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework> <TargetFramework>netcoreapp2.1</TargetFramework>
<Version>1.0.2.84</Version> <Version>1.0.2.85</Version>
<NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn> <NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -32,6 +32,7 @@ namespace BTCPayServer.Controllers
{ {
private UserManager<ApplicationUser> _UserManager; private UserManager<ApplicationUser> _UserManager;
SettingsRepository _SettingsRepository; SettingsRepository _SettingsRepository;
private readonly NBXplorerDashboard _dashBoard;
private BTCPayRateProviderFactory _RateProviderFactory; private BTCPayRateProviderFactory _RateProviderFactory;
private StoreRepository _StoreRepository; private StoreRepository _StoreRepository;
LightningConfigurationProvider _LnConfigProvider; LightningConfigurationProvider _LnConfigProvider;
@@ -41,12 +42,14 @@ namespace BTCPayServer.Controllers
Configuration.BTCPayServerOptions options, Configuration.BTCPayServerOptions options,
BTCPayRateProviderFactory rateProviderFactory, BTCPayRateProviderFactory rateProviderFactory,
SettingsRepository settingsRepository, SettingsRepository settingsRepository,
NBXplorerDashboard dashBoard,
LightningConfigurationProvider lnConfigProvider, LightningConfigurationProvider lnConfigProvider,
Services.Stores.StoreRepository storeRepository) Services.Stores.StoreRepository storeRepository)
{ {
_Options = options; _Options = options;
_UserManager = userManager; _UserManager = userManager;
_SettingsRepository = settingsRepository; _SettingsRepository = settingsRepository;
_dashBoard = dashBoard;
_RateProviderFactory = rateProviderFactory; _RateProviderFactory = rateProviderFactory;
_StoreRepository = storeRepository; _StoreRepository = storeRepository;
_LnConfigProvider = lnConfigProvider; _LnConfigProvider = lnConfigProvider;
@@ -407,6 +410,11 @@ namespace BTCPayServer.Controllers
[Route("server/services/lnd-grpc/{cryptoCode}/{index}")] [Route("server/services/lnd-grpc/{cryptoCode}/{index}")]
public IActionResult LNDGRPCServices(string cryptoCode, int index, uint? nonce) public IActionResult LNDGRPCServices(string cryptoCode, int index, uint? nonce)
{ {
if(!_dashBoard.IsFullySynched(cryptoCode, out var unusud))
{
StatusMessage = $"Error: {cryptoCode} is not fully synched";
return RedirectToAction(nameof(Services));
}
var external = GetExternalLNDConnectionString(cryptoCode, index); var external = GetExternalLNDConnectionString(cryptoCode, index);
if (external == null) if (external == null)
return NotFound(); return NotFound();

View File

@@ -5,7 +5,7 @@
<h4>@ViewData["Title"]</h4> <h4>@ViewData["Title"]</h4>
<partial name="_StatusMessage" for="@TempData["StatusMessage"]" /> <partial name="_StatusMessage" for="@TempData["TempDataProperty-StatusMessage"]" />
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div asp-validation-summary="All" class="text-danger"></div> <div asp-validation-summary="All" class="text-danger"></div>