/**
  * @param array $result
  */
 protected function postSerializeAttachment(array &$result)
 {
     if (!empty($result['file'])) {
         $result['file'] = $this->attachmentManager->getFileRestApiUrl($result['file'], $this->class, $result['id']);
     }
     // move all attachment association fields into 'target' field
     $result['target'] = null;
     $attachmentTargets = $this->getAttachmentTargets();
     foreach ($attachmentTargets as $targetClass => $fieldName) {
         if (null !== $result[$fieldName]) {
             $result['target'] = ['entity' => $targetClass, 'id' => $result[$fieldName]];
         }
     }
     foreach ($attachmentTargets as $targetClass => $fieldName) {
         unset($result[$fieldName]);
     }
 }
示例#2
0
 /**
  * @param array $result
  */
 protected function postSerializeContact(array &$result)
 {
     // @todo: an 'email' field is added only for backward compatibility with previous API
     $email = null;
     if (!empty($result['emails'])) {
         foreach ($result['emails'] as $item) {
             if ($item['primary']) {
                 $email = $item['email'];
                 break;
             }
         }
     }
     $result['email'] = $email;
     if (!empty($result['picture'])) {
         $result['picture'] = $this->attachmentManager->getFileRestApiUrl($result['picture'], $this->class, $result['id']);
     }
 }