#include "deleteByName.h"

DeleteByNameWorker::DeleteByNameWorker(Handler *handler, const std::string &name, Nan::Callback *callback) :
    AsyncWorker(callback), _handler(handler), _name(name)
{
}

void DeleteByNameWorker::Execute()
{
  std::string err;

  if (!this->_handler->deleteByName(this->_name, err))
    SetErrorMessage(err.c_str());
}

void DeleteByNameWorker::HandleOKCallback()
{
  v8::Local<v8::Value> argv[] = { Nan::Null() };

  this->callback->Call(1, argv);
}

void DeleteByNameWorker::HandleErrorCallback()
{
  v8::Local<v8::Value> argv[] = { v8::String::NewFromUtf8(Nan::GetCurrentContext()->GetIsolate(), this->ErrorMessage()) };

  this->callback->Call(1, argv);
}