module Jobs class CloseTopic < Jobs::Base def execute(args) if topic = Topic.find_by(id: args[:topic_id]) closer = User.find_by(id: args[:user_id]) guardian = Guardian.new(closer) unless guardian.can_close?(topic) closer = Discourse.system_user end topic.auto_close(closer) end end end end