Fix missing walletchanged event and add storeremoved event (#4676)

This commit is contained in:
Andrew Camilleri
2023-02-22 05:13:58 +01:00
committed by GitHub
parent e0486aaa24
commit d542a61f5a
4 changed files with 43 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ using BTCPayServer.Abstractions.Extensions;
using BTCPayServer.Client;
using BTCPayServer.Client.Models;
using BTCPayServer.Data;
using BTCPayServer.Events;
using BTCPayServer.HostedServices;
using BTCPayServer.Payments;
using BTCPayServer.Services;
@@ -34,6 +35,7 @@ namespace BTCPayServer.Controllers.Greenfield
private readonly BTCPayWalletProvider _walletProvider;
private readonly IAuthorizationService _authorizationService;
private readonly ExplorerClientProvider _explorerClientProvider;
private readonly EventAggregator _eventAggregator;
public GreenfieldStoreOnChainPaymentMethodsController(
StoreRepository storeRepository,
@@ -41,13 +43,15 @@ namespace BTCPayServer.Controllers.Greenfield
BTCPayWalletProvider walletProvider,
IAuthorizationService authorizationService,
ExplorerClientProvider explorerClientProvider,
PoliciesSettings policiesSettings)
PoliciesSettings policiesSettings,
EventAggregator eventAggregator)
{
_storeRepository = storeRepository;
_btcPayNetworkProvider = btcPayNetworkProvider;
_walletProvider = walletProvider;
_authorizationService = authorizationService;
_explorerClientProvider = explorerClientProvider;
_eventAggregator = eventAggregator;
PoliciesSettings = policiesSettings;
}
@@ -208,6 +212,10 @@ namespace BTCPayServer.Controllers.Greenfield
var store = Store;
store.SetSupportedPaymentMethod(id, null);
await _storeRepository.UpdateStore(store);
_eventAggregator.Publish(new WalletChangedEvent()
{
WalletId = new WalletId(storeId, cryptoCode)
});
return Ok();
}
@@ -254,6 +262,10 @@ namespace BTCPayServer.Controllers.Greenfield
storeBlob.SetExcluded(id, !request.Enabled);
store.SetStoreBlob(storeBlob);
await _storeRepository.UpdateStore(store);
_eventAggregator.Publish(new WalletChangedEvent()
{
WalletId = new WalletId(storeId, cryptoCode)
});
return Ok(GetExistingBtcLikePaymentMethod(cryptoCode, store));
}
catch