Raise custom auth error, re-raise on failed re-auth

This commit is contained in:
Râu Cao 2023-06-05 13:52:41 +03:00
parent 82019f47be
commit 8b87072485
Signed by: raucao
GPG Key ID: 15E65F399D084BA9
3 changed files with 6 additions and 5 deletions

View File

@ -49,9 +49,9 @@ class Services::LightningController < ApplicationController
lndhub = Lndhub.new
data = lndhub.balance @ln_auth_token
@balance = data["BTC"]["AvailableBalance"] rescue nil
rescue
rescue AuthError
authenticate_with_lndhub(force_reauth: true)
return nil if @fetch_balance_retried
raise if @fetch_balance_retried
@fetch_balance_retried = true
fetch_balance
end
@ -61,9 +61,9 @@ class Services::LightningController < ApplicationController
txs = lndhub.gettxs @ln_auth_token
invoices = lndhub.getuserinvoices(@ln_auth_token).select{|i| i["ispaid"]}
process_transactions(txs + invoices)
rescue
rescue AuthError
authenticate_with_lndhub(force_reauth: true)
return [] if @fetch_transactions_retried
raise if @fetch_transactions_retried
@fetch_transactions_retried = true
fetch_transactions
end

1
app/errors/auth_error.rb Normal file
View File

@ -0,0 +1 @@
class AuthError < StandardError; end

View File

@ -26,7 +26,7 @@ class Lndhub
data = JSON.parse(res.body)
if data.is_a?(Hash) && data["error"] && data["message"] == "bad auth"
raise "BAD_AUTH"
raise AuthError
else
data
end