/** * @param array $datas * @param EntityAbstract $element * @return mixed|AttachmentEntity */ protected function fromApiToEntitySingle($datas = [], &$element = null) { $datas = isset($datas['data']) ? $datas['data'] : $datas; $entity = $element instanceof AttachmentEntity ? $element : new AttachmentEntity(); $entity->setId($this->get($datas, 'id')); $entity->setFileName($this->get($datas, 'file_name')); $entity->setDescription($this->get($datas, 'description')); $entity->setFileData($this->get($datas, 'file_data')); $entity->setAttachDate($this->get($datas, 'attach_date')); $entity->setDataHash($this->get($datas, 'data_hash')); if (isset($datas['source']) && isset($datas['source']['source_type'])) { $sourceEntity = Item::instanciateItemType($datas['source']['source_type']); $entity->setSource($sourceEntity->getHelper()->fromApiToEntity($datas['source'], $sourceEntity)); } if (isset($datas['created_by']) && isset($datas['created_by']['user_type'])) { /** @var User|Contact $authorEntity */ $authorEntity = PeopleAbstract::instanciatePeopleType($datas['created_by']['user_type']); $entity->setCreatedBy($authorEntity->getHelper()->fromApiToEntity($datas['created_by'], $authorEntity)); } return $entity; }
/** * @param $result * @param $type * @return Message */ private function item($result, $type) { $message = new Message(); if (!isset($result['error'])) { $item = Item::instanciateItemType($type); $result = Item::fromApiToEntity($result, $item); $message->setSuccess(true); $message->setResult($result); } else { $message->setErrors($result['error']); } return $message; }