0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-06 13:08:40 +08:00
discourse/app/jobs/regular/merge_user.rb
Jarek Radosz 683ae3f8b9
DEV: Fix assigned but unused variable Prism warnings (#39436)
(Prism is the Ruby LSP parser; those checks might eventually find their
way to rubocop-discourse)

Skipped specs, database migrations, and imports.
2026-04-22 12:42:14 +02:00

27 lines
1 KiB
Ruby
Vendored

# frozen_string_literal: true
module Jobs
class MergeUser < ::Jobs::Base
def execute(args)
user = User.find_by(id: args[:user_id])
target_user = User.find_by(id: args[:target_user_id])
current_user = User.find_by(id: args[:current_user_id])
guardian = Guardian.new(current_user)
serializer_opts = { root: false, scope: guardian }
if user = UserMerger.new(user, target_user, current_user).merge!
user_json = AdminDetailedUserSerializer.new(user, serializer_opts).as_json
::MessageBus.publish "/merge_user",
{ success: "OK" }.merge(merged: true, user: user_json),
user_ids: [current_user.id]
else
::MessageBus.publish "/merge_user",
{ failed: "FAILED" }.merge(
user:
AdminDetailedUserSerializer.new(@user, serializer_opts).as_json,
),
user_ids: [current_user.id]
end
end
end
end