Code Duplication    Length = 52-52 lines in 2 locations

modules/graphql_core/src/Plugin/Deriver/Fields/EntityByIdDeriver.php 1 location

@@ 13-64 (lines=52) @@
10
use Drupal\graphql\Utility\StringHelper;
11
use Symfony\Component\DependencyInjection\ContainerInterface;
12
13
class EntityByIdDeriver extends DeriverBase implements ContainerDeriverInterface {
14
15
  use StringTranslationTrait;
16
17
  /**
18
   * The entity type manager service.
19
   *
20
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
21
   */
22
  protected $entityTypeManager;
23
24
  /**
25
   * {@inheritdoc}
26
   */
27
  public static function create(ContainerInterface $container, $basePluginId) {
28
    return new static($container->get('entity_type.manager'));
29
  }
30
31
  /**
32
   * {@inheritdoc}
33
   */
34
  public function __construct(EntityTypeManagerInterface $entityTypeManager) {
35
    $this->entityTypeManager = $entityTypeManager;
36
  }
37
38
  /**
39
   * {@inheritdoc}
40
   */
41
  public function getDerivativeDefinitions($basePluginDefinition) {
42
    foreach ($this->entityTypeManager->getDefinitions() as $id => $type) {
43
      if ($type instanceof ContentEntityTypeInterface) {
44
        $derivative = [
45
          'name' => StringHelper::propCase($id, 'by', 'id'),
46
          'type' => "entity:$id",
47
          'description' => $this->t("Loads '@type' entities by their id.", ['@type' => $type->getLabel()]),
48
          'entity_type' => $id,
49
        ] + $basePluginDefinition;
50
51
        if ($type->isTranslatable()) {
52
          $derivative['arguments']['language'] = [
53
            'type' => 'LanguageId',
54
          ];
55
        }
56
57
        $this->derivatives["entity:$id"] = $derivative;
58
      }
59
    }
60
61
    return parent::getDerivativeDefinitions($basePluginDefinition);
62
  }
63
64
}
65

modules/graphql_core/src/Plugin/Deriver/Fields/EntityRevisionByIdDeriver.php 1 location

@@ 13-64 (lines=52) @@
10
use Drupal\graphql\Utility\StringHelper;
11
use Symfony\Component\DependencyInjection\ContainerInterface;
12
13
class EntityRevisionByIdDeriver extends DeriverBase implements ContainerDeriverInterface {
14
15
  use StringTranslationTrait;
16
17
  /**
18
   * The entity type manager service.
19
   *
20
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
21
   */
22
  protected $entityTypeManager;
23
24
  /**
25
   * {@inheritdoc}
26
   */
27
  public static function create(ContainerInterface $container, $basePluginId) {
28
    return new static($container->get('entity_type.manager'));
29
  }
30
31
  /**
32
   * {@inheritdoc}
33
   */
34
  public function __construct(EntityTypeManagerInterface $entityTypeManager) {
35
    $this->entityTypeManager = $entityTypeManager;
36
  }
37
38
  /**
39
   * {@inheritdoc}
40
   */
41
  public function getDerivativeDefinitions($basePluginDefinition) {
42
    foreach ($this->entityTypeManager->getDefinitions() as $id => $type) {
43
      if ($type instanceof ContentEntityTypeInterface && $type->isRevisionable()) {
44
        $derivative = [
45
          'name' => StringHelper::propCase($id, 'revision', 'by', 'id'),
46
          'type' => "entity:$id",
47
          'description' => $this->t("Loads '@type' entity revision by their revision id.", ['@type' => $type->getLabel()]),
48
          'entity_type' => $id,
49
        ] + $basePluginDefinition;
50
51
        if ($type->isTranslatable()) {
52
          $derivative['arguments']['language'] = [
53
            'type' => 'LanguageId',
54
          ];
55
        }
56
57
        $this->derivatives["entity:$id"] = $derivative;
58
      }
59
    }
60
61
    return parent::getDerivativeDefinitions($basePluginDefinition);
62
  }
63
64
}
65