outline-8.x-1.x-dev/modules/outline_graphql/src/Wrappers/RootEntryConnection.php

modules/outline_graphql/src/Wrappers/RootEntryConnection.php
<?php

namespace Drupal\outline_graphql\Wrappers;

use Drupal\Core\Entity\Query\QueryInterface;
use GraphQL\Deferred;

class RootEntryConnection {

  /**
   * @var \Drupal\Core\Entity\Query\Sql\Query
   */
  protected $query;

  /**
   * QueryConnection constructor.
   *
   * @param \Drupal\Core\Entity\Query\QueryInterface $query
   */
  public function __construct(QueryInterface $query) {
    $this->query = $query;
  }

  /**
   * @return array|\GraphQL\Deferred
   */
  public function rootEntryId() {
    $result = $this->query->execute();
    if (empty($result)) {
      return [];
    }

    $buffer = \Drupal::service('graphql.buffer.entity');
    $callback = $buffer->add($this->query->getEntityTypeId(), array_values($result));
    return new Deferred(function () use ($callback) {
      return $callback();
    });
  }
}

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

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