dawarich/app/jobs/users/trial_webhook_job.rb
2026-01-08 21:12:47 +01:00

30 lines
722 B
Ruby

# frozen_string_literal: true
class Users::TrialWebhookJob < ApplicationJob
queue_as :default
def perform(user_id)
user = User.find(user_id)
# Skip webhook for soft-deleted users
return if user.deleted?
payload = {
user_id: user.id,
email: user.email,
active_until: user.active_until,
status: user.status,
action: 'create_user'
}
token = Subscription::EncodeJwtToken.new(payload, ENV['JWT_SECRET_KEY']).call
request_url = "#{ENV['MANAGER_URL']}/api/v1/users"
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
HTTParty.post(request_url, headers: headers, body: { token: token }.to_json)
end
end