Respect new Lightning notification settings
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Release Drafter / Update release notes draft (pull_request) Successful in 4s

This commit is contained in:
2024-06-01 17:24:53 +02:00
parent 5348a229a6
commit 1685d6ecf8
2 changed files with 53 additions and 5 deletions

View File

@@ -7,14 +7,14 @@ class WebhooksController < ApplicationController
def lndhub
@user = User.find_by!(ln_account: @payload[:user_login])
if zap = @user.zaps.find_by(payment_request: @payload[:payment_request])
if @zap = @user.zaps.find_by(payment_request: @payload[:payment_request])
zap_receipt = NostrManager::CreateZapReceipt.call(
zap: zap,
zap: @zap,
paid_at: Time.parse(@payload[:settled_at]).to_i,
preimage: @payload[:preimage]
)
zap.update! receipt: zap_receipt.to_h
NostrManager::PublishZapReceipt.call(zap: zap)
@zap.update! receipt: @zap_receipt.to_h
NostrManager::PublishZapReceipt.call(zap: @zap)
end
send_notifications
@@ -41,7 +41,16 @@ class WebhooksController < ApplicationController
end
def send_notifications
case @user.preferences[:lightning_notify_sats_received]
return if @payload[:amount] < @user.preferences[:lightning_notify_min_sats]
if @user.preferences[:lightning_notify_only_with_message]
return if @payload[:memo].blank?
end
target = @zap.present? ? @user.preferences[:lightning_notify_zap_received] :
@user.preferences[:lightning_notify_sats_received]
case target
when "xmpp"
notify_xmpp
when "email"