public function createAction()
{
$object = $this->request->getJsonBody();
/* @var $ruleAdapter AccountScriptAdapter */
$ruleAdapter = $this->adapter('OrchestrationRules\\AccountScript');
//Pre validates the request object
$ruleAdapter->validateObject($object, Request::METHOD_POST);
if (!isset($object->target)) {
$object->target->type = AccountScriptAdapter::TARGET_NAME_NULL;
}
if (!isset($object->action)) {
throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_STRUCTURE, "Missed action");
}
$rule = $ruleAdapter->toEntity($object);
$rule->id = null;
$rule->accountId = $this->getUser()->getAccountId();
$ruleAdapter->validateEntity($rule);
//Saves entity
$rule->save();
//Responds with 201 Created status
$this->response->setStatus(201);
return $this->result($ruleAdapter->toData($rule));
}