Esempio n. 1
0
 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;
 }
Esempio n. 3
0
 /**
  * @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;
 }