class Admin::Admissions::Applicants::Student::MedicalsController < Admin::Admissions::Controller
  include Admin::Admissions::ApplicantScoped

  def show
    render_success :ok, json: medical_props
  end

  def update
    if medical.update(medical_params)
      render_success :ok, json: medical_props
    else
      render_error :unprocessable_entity, errors: medical
    end
  end

  private
    def medical
      @medical ||= applicant.student.find_or_build_student_medical
    end

    def medical_params
      params.permit(
        :allergies,
        :alerts,
        :comments,
        :medication,
        :healthy,
        :asthma,
        :diabetes,
        :seizures,
        :deafness,
        :add,
        :bladder,
        :hemophiliac,
        :sicklecell,
        :sight_impairment
      )
    end

    def medical_props
      {
        id: medical.id,
        allergies: medical.allergies,
        alerts: medical.alerts,
        comments: medical.comments,
        medication: medical.medication,
        healthy: medical.healthy?,
        asthma: medical.asthma?,
        diabetes: medical.diabetes?,
        seizures: medical.seizures?,
        deafness: medical.deafness?,
        add: medical.add?,
        bladder: medical.bladder?,
        hemophiliac: medical.hemophiliac?,
        sicklecell: medical.sicklecell?,
        sight_impairment: medical.sight_impairment?
      }
    end
end
