discourse/app/services/username_changer.rb

24 lines
526 B
Ruby

class UsernameChanger
def initialize(user, new_username, actor = nil)
@user = user
@new_username = new_username
@actor = actor
end
def self.change(user, new_username, actor = nil)
self.new(user, new_username, actor).change
end
def change
if @actor && @user.username != @new_username
StaffActionLogger.new(@actor).log_username_change(@user, @user.username, @new_username)
end
# future work: update mentions and quotes
@user.username = @new_username
@user.save
end
end