public static function getInstance($type, array $attributes, array $relationships = [], $id = null) { $documentData = ['data' => ['id' => empty($id) ? Models\Base::EMPTY_ID_VALUE : $id, 'type' => $type, 'attributes' => $attributes]]; if (!empty($relationships)) { $documentData['data']['relationships'] = $relationships; } $manager = \ArkonEvent\ApiClient\JsonApi\ApiManagerFactory::getInstance(); $document = $manager->parse(json_encode($documentData)); if ($document->has('errors')) { throw new \ArkonEvent\ApiClient\Exceptions\Base($document->get('errors')); } return self::getInstanceFromDocument($type, $document); }
/** * * @param string $data * @throws ArkonEventException * @return \ArkonEvent\ApiClient\JsonApi\Document */ protected function createDocument($data) { $manager = \ArkonEvent\ApiClient\JsonApi\ApiManagerFactory::getInstance(); $document = $manager->parse($data); if ($document->has('errors')) { throw new ArkonEventException($document->get('errors')); } return $document; }