class Admissions::SubmittedEmailJob
  include Sidekiq::Worker

  def perform(applicant_id, email)
    return if email.blank?

    @applicant_id = applicant_id

    Mailgun::TemplateService.call(
      'Sycamore School <noreply@sycamoreschool.com>',
      email,
      "Application Submitted - #{applicant.school_name}",
      'admissions-application-submitted',
      variables: {
        school_id: applicant.school.id,
        family_name: applicant.family_name,
        applicant_name: applicant.full_name,
        application_grade: applicant.decorate.grade_level,
        school_name: applicant.school_name,
        school_phone: applicant.school_phone
      },
      tags: [applicant.school.id.to_s, 'admissions', 'application-submitted']
    )
  end

  private
    def applicant
      @applicant ||= Admission::Applicant.find(@applicant_id)
    end

    def application
      applicant.application
    end
end
