class Components::Admin::Admissions::ApplicantApplicationChannel < ApplicationCable::Channel
  def subscribed
    stream_from channel_name
    ActionCable.server.broadcast(channel_name, application_props)
  end

  private
    def applicant
      @applicant ||= current_user.school.admission_applicants.find_by(id: params[:applicant_id])
    end

    def channel_name
      "components_admin_admissions_applicant_application_channel_#{applicant.id}"
    end

    def application_props
      Admission::Applicants::ApplicationService.call(applicant.id, missing: true)
    end
end
