You are here

public function ConfigurableResourceTypeRepository::all in JSON:API Extras 8

Same name and namespace in other branches
  1. 8.2 src/ResourceType/ConfigurableResourceTypeRepository.php \Drupal\jsonapi_extras\ResourceType\ConfigurableResourceTypeRepository::all()

Gets all JSON:API resource types.

Return value

\Drupal\jsonapi\ResourceType\ResourceType[] The set of all JSON:API resource types in this Drupal instance.

Overrides ResourceTypeRepository::all

File

src/ResourceType/ConfigurableResourceTypeRepository.php, line 82

Class

ConfigurableResourceTypeRepository
Provides a repository of JSON API configurable resource types.

Namespace

Drupal\jsonapi_extras\ResourceType

Code

public function all() {
  if (!$this->all) {
    foreach ($this
      ->getEntityTypeBundleTuples() as $tuple) {
      list($entity_type_id, $bundle) = $tuple;
      $resource_config_id = sprintf('%s--%s', $entity_type_id, $bundle);
      $this->all[] = new ConfigurableResourceType($entity_type_id, $bundle, $this->entityTypeManager
        ->getDefinition($entity_type_id)
        ->getClass(), $this
        ->getResourceConfig($resource_config_id), $this->enhancerManager, $this->configFactory);
    }
    foreach ($this->all as $resource_type) {
      $relatable_resource_types = $this
        ->calculateRelatableResourceTypes($resource_type);
      $resource_type
        ->setRelatableResourceTypes($relatable_resource_types);
    }
  }
  return $this->all;
}