commerce_api-8.x-1.x-dev/src/ResourceType/ResourceTypeRepositoryShim.php

src/ResourceType/ResourceTypeRepositoryShim.php
<?php

namespace Drupal\commerce_api\ResourceType;

use Drupal\commerce_api\Events\CrossBundlesGetFieldsEvent;
use Drupal\commerce_api\Events\JsonapiEvents;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\jsonapi\ResourceType\ResourceType;

/**
 * Exposes some protected methods from the core resource type repository.
 *
 * If the JSON:API Cross Bundles module is installed, this is used instead of
 * its own shim to provide compatibility with renamed resource types.
 *
 * @internal
 */
final class ResourceTypeRepositoryShim extends RenamableResourceTypeRepository {

  /**
   * {@inheritdoc}
   */
  public function getFields(array $field_names, EntityTypeInterface $entity_type, $bundle) {
    $fields = parent::getFields($field_names, $entity_type, $bundle);
    $event = new CrossBundlesGetFieldsEvent($fields, $entity_type, $bundle);
    $this->eventDispatcher->dispatch($event, JsonapiEvents::CROSS_BUNDLES_GET_FIELDS);
    return $event->getFields();
  }

  /**
   * {@inheritdoc}
   */
  public function getAllFieldNames(EntityTypeInterface $entity_type, $bundle) {
    return parent::getAllFieldNames($entity_type, $bundle);
  }

  /**
   * {@inheritdoc}
   */
  public function calculateRelatableResourceTypes(ResourceType $resource_type, array $resource_types) {
    return parent::calculateRelatableResourceTypes($resource_type, $resource_types);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc