class Admin::Legacy::HumanResources::Employees::EmailAddressesController <
  Admin::Legacy::HumanResources::Controller
  def create
    email_address = email_addresses.build(email_params)
    if email_address.save
      render_success :created, json: email_address
    else
      render_error :unprocessable_entity, errors: email_address
    end
  end

  def update
    if email_address.update(email_params)
      render_success :ok, json: email_address
    else
      render_error :unprocessable_entity, errors: email_address
    end
  end

  def destroy
    if email_address.destroy
      render_success :ok
    else
      render_error :unprocessable_entity, errors: email_address
    end
  end

  def remove_suppression
    if email_address.remove_suppression
      render_success :ok
    else
      render_error :unprocessable_entity
    end
  end

  private
    def employee
      @employee ||= current_school.employees.find_by(id: params[:employee_id])
    end

    def email_addresses
      employee.email_addresses
    end

    def email_address
      @email_address ||= email_addresses.find_by(params[:id])
    end

    def email_params
      params.permit(:address, :primary)
    end
end
