# frozen_string_literal: true module Jobs class DeleteInaccessibleNotifications < ::Jobs::Base def execute(args) raise Discourse::InvalidParameters.new(:topic_id) if args[:topic_id].blank? Notification .where(topic_id: args[:topic_id]) .find_each do |notification| next unless notification.user && notification.topic notification.destroy if !Guardian.new(notification.user).can_see?(notification.topic) end end end end