public function testResourceHasWorkingGetters() { $this->resource->setName('resource test')->setProperties([1, 2, 3])->setClass(Resource::class)->setBaseUri('http://test.test/'); $this->assertEquals('resource-test', $this->resource->getName()); $this->assertEquals([1, 2, 3], $this->resource->getProperties()); $this->assertEquals(Resource::class, $this->resource->getClass()); $this->assertEquals('http://test.test/', $this->resource->getBaseUri()); }
/** * @param ClassMetadata $metaData * @param $entity * * @return ResourceInterface|Resource * @throws Exception */ protected function createResource(ClassMetadata $metaData, $entity) : Resource { $resource = new Resource(); if (!empty($this->getBaseUri())) { $resource->setBaseUri($this->getBaseUri() . strtolower($resource->getName()) . '/'); } $resource->setClass(get_class($entity)); $resource->setName(strtolower(str_replace($metaData->namespace . '\\', '', $metaData->name))); $resource->setProperties($this->getEntityColumnValues($entity, $metaData)); $resource->setRelations($this->getEmbeddedRelations($entity, $metaData)); return $resource; }
/** * @param ResourceSet $resourceSet * * @param Resource $parentResource * * @return array */ protected function formatRelations(ResourceSet $resourceSet, Resource $parentResource) { $relations = []; /** @var Resource $resource */ foreach ($resourceSet as $resource) { $relations[$resource->getName()] = ["links" => ["self" => $parentResource->getBaseUri() . $parentResource->getName() . '/' . $parentResource->getProperties()['id'] . '/relationships/' . $resource->getName(), "related" => $parentResource->getBaseUri() . $parentResource->getName() . '/' . $parentResource->getProperties()['id'] . '/' . $resource->getName()], "data" => ["type" => $resource->getName(), "id" => $resource->getProperties()['id']]]; } return $relations; }