commerce_api-8.x-1.x-dev/src/Plugin/jsonapi_hypermedia/LinkProvider/CurrentStoreLinkProvider.php

src/Plugin/jsonapi_hypermedia/LinkProvider/CurrentStoreLinkProvider.php
<?php

declare(strict_types=1);

namespace Drupal\commerce_api\Plugin\jsonapi_hypermedia\LinkProvider;

use Drupal\Core\Access\AccessResult;
use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Url;
use Drupal\jsonapi\JsonApiResource\JsonApiDocumentTopLevel;
use Drupal\jsonapi_hypermedia\AccessRestrictedLink;
use Drupal\jsonapi_hypermedia\Plugin\LinkProviderBase;

/**
* Class CollectionTopLevelSchemaLinkProvider.
*
* @JsonapiHypermediaLinkProvider(
*   id = "commerce_api.top_level.current_store",
*   link_relation_type = "current-store",
*   link_context = {
*     "top_level_object" = "entrypoint",
*   },
* )
*
* @internal
*/
final class CurrentStoreLinkProvider extends LinkProviderBase {

  /**
   * {@inheritdoc}
   */
  public function getLink($context) {
    assert($context instanceof JsonApiDocumentTopLevel);
    return AccessRestrictedLink::createLink(AccessResult::allowed(), new CacheableMetadata(), new Url('commerce_api.current_store'), $this->getLinkRelationType());
  }

}

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

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