class Notification::Components::Employee::ServiceLogsJob
  include Sidekiq::Worker
  include CacheHelper

  def perform(school_id)
    @school = School.find(school_id)

    data = load_cache("school/#{school_id}/service_log_statistics") do
      props.to_json
    end

    ActionCable.server.broadcast("components_employee_service_logs_channel_#{school_id}", data)
  end

  private
    def props
      {
        family: @school.service_family_logs.group(:status).count,
        student: @school.service_student_logs.group(:status).count
      }
    end
end
