26 lines
686 B
Ruby
26 lines
686 B
Ruby
module NostrManager
|
|
class CreateZapReceipt < NostrManagerService
|
|
def initialize(zap:, paid_at:, preimage:)
|
|
@zap, @paid_at, @preimage = zap, paid_at, preimage
|
|
end
|
|
|
|
def call
|
|
request_tags = parse_tags(@zap.request_event.tags)
|
|
|
|
site_user.create_event(
|
|
kind: 9735,
|
|
created_at: @paid_at,
|
|
content: "",
|
|
tags: [
|
|
["p", request_tags[:p].first],
|
|
["e", request_tags[:e]&.first],
|
|
["a", request_tags[:a]&.first],
|
|
["bolt11", @zap.payment_request],
|
|
["preimage", @preimage],
|
|
["description", @zap.request_event.to_json]
|
|
].reject { |t| t[1].nil? }
|
|
)
|
|
end
|
|
end
|
|
end
|