pantheon_decoupled-1.0.0-alpha3/src/Resource/ConfiguredLanguagesResource.php

src/Resource/ConfiguredLanguagesResource.php
<?php

namespace Drupal\pantheon_decoupled\Resource;

use Drupal\Core\Cache\CacheableMetadata;
use Drupal\jsonapi\ResourceResponse;
use Drupal\jsonapi_resources\Resource\EntityQueryResourceBase;
use Symfony\Component\HttpFoundation\Request;

/**
 * Processes a request for configured languages.
 *
 * @internal
 */
class ConfiguredLanguagesResource extends EntityQueryResourceBase {

  /**
   * Process the resource request.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The request.
   * @param array $resource_types
   *   An array of jsonapi ResourceType.
   *
   * @return \Drupal\jsonapi\ResourceResponse
   *   The response
   *
   * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
   * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
   */
  public function process(Request $request, array $resource_types): ResourceResponse {
    /** @var \Drupal\jsonapi\ResourceType $resource_types */
    $resource_types = reset($resource_types);

    $query = $this->getEntityQuery($resource_types->getBundle())
      ->condition('locked', FALSE);
    $data = $this->loadResourceObjectDataFromEntityQuery($query, new CacheableMetadata());
    return $this->createJsonapiResponse($data, $request);
  }

}

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

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