akkounts/app/services/nostr_manager/publish_zap_receipt.rb
Râu Cao c6c5d80fb4
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
WIP Persist zaps, create and send zap receipts
2024-05-09 14:31:37 +02:00

21 lines
538 B
Ruby

module NostrManager
class PublishZapReceipt < NostrManagerService
def initialize(zap:, delayed: true)
@zap, @delayed = zap, delayed
end
def call
tags = parse_tags(@zap.request_event.tags)
# TODO limit to 15 or so relays
tags[:relays].each do |relay_url|
if @delayed
NostrPublishEventJob.perform_later(event: @zap.receipt, relay: relay_url)
else
NostrManager::PublishEvent.call(event: @zap.receipt_event, relay: relay_url)
end
end
end
end
end