مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-12-01 05:43:04 +00:00
30 أسطر
778 B
Ruby
30 أسطر
778 B
Ruby
# frozen_string_literal: true
|
|
|
|
class SendWebhookJob < Postal::Job
|
|
|
|
def perform
|
|
if server = Server.find(params["server_id"])
|
|
new_items = {}
|
|
params["payload"]&.each do |key, value|
|
|
next unless key.to_s =~ /\A_(\w+)/
|
|
|
|
begin
|
|
new_items[::Regexp.last_match(1)] = server.message_db.message(value.to_i).webhook_hash
|
|
rescue Postal::MessageDB::Message::NotFound
|
|
# No message found, don't do any replacement
|
|
end
|
|
end
|
|
|
|
new_items.each do |key, value|
|
|
params["payload"].delete("_#{key}")
|
|
params["payload"][key] = value
|
|
end
|
|
|
|
WebhookRequest.trigger(server, params["event"], params["payload"])
|
|
else
|
|
log "Couldn't find server with ID #{params['server_id']}"
|
|
end
|
|
end
|
|
|
|
end
|