class Maintenance::RevokeFamilyStudentTokenJob
  include Sidekiq::Worker

  def perform(school_id)
    @school = School.find(school_id)
    # Revoke tokens for all students, families, and contacts
    (students + families + contacts).each do |resource|
      resource.user.tokens.destroy_all
    end
  end

  private
    def students
      @school.students.joins(user: :tokens).preload(:user)
    end

    def families
      @school.families.joins(user: :tokens).preload(:user)
    end

    def contacts
      @school.contacts.joins(user: :tokens).preload(:user)
    end
end
