class Components::Employee::ServiceLogsChannel < ApplicationCable::Channel
  include CacheHelper

  def subscribed
    stream_from "components_employee_service_logs_channel_#{current_user.school_id}"
    ActionCable.server.broadcast(
      "components_employee_service_logs_channel_#{current_user.school_id}",
      props(current_user.school_id)
    )
  end

  private
    def props(school_id)
      school = School.find(school_id)
      load_cache("school/#{school_id}/service_log_statistics") do
        {
          family: school.service_family_logs.group(:status).count,
          student: school.service_student_logs.group(:status).count
        }.to_json
      end
    end
end
