Skip to content
Snippets Groups Projects
Verified Commit 292b4642 authored by Adam Bramley's avatar Adam Bramley Committed by Lee Rowlands
Browse files

Issue #3216818 by realityloop, acbramley, Deciphered: Make JSON:API Hypermedia a required module

parent 580e2ab5
Branches
Tags
No related merge requests found
......@@ -10,7 +10,10 @@
"homepage": "https://www.drupal.org/project/jsonapi_menu_items",
"minimum-stability": "dev",
"require": {
"drupal/jsonapi_hypermedia": "^1.6",
"drupal/core": "^8.8 || ^9",
"drupal/jsonapi_resources": "^1.0"
},
"require-dev": {
"drupal/jsonapi_hypermedia": "^1.6"
}
}
......@@ -4,5 +4,4 @@ type: module
core_version_requirement: ^8.8 || ^9 || ^10
dependencies:
- drupal:menu_link_content
- jsonapi_hypermedia:jsonapi_hypermedia
- jsonapi_resources:jsonapi_resources
<?php
/**
* @file
* Install, update and uninstall functions for the module.
*/
/**
* Install new submodule for hypermedia integration.
*/
function jsonapi_menu_items_update_8001() {
if (\Drupal::moduleHandler()->moduleExists('jsonapi_hypermedia')) {
\Drupal::service('module_installer')->install(['jsonapi_menu_items_hypermedia']);
}
}
name: 'JSON:API Menu items Hypermedia'
description: Integrates jsonapi_menu_items and jsonapi_hypermedia.
type: module
core_version_requirement: ^8.8 || ^9
dependencies:
- jsonapi_menu_items:jsonapi_menu_items
- jsonapi_hypermedia:jsonapi_hypermedia
<?php
namespace Drupal\jsonapi_menu_items\Plugin\Derivative;
namespace Drupal\jsonapi_menu_items_hypermedia\Plugin\Derivative;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Entity\EntityStorageInterface;
......
<?php
namespace Drupal\jsonapi_menu_items\Plugin\jsonapi_hypermedia\LinkProvider;
namespace Drupal\jsonapi_menu_items_hypermedia\Plugin\jsonapi_hypermedia\LinkProvider;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Cache\CacheableMetadata;
......@@ -16,7 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
*
* @JsonapiHypermediaLinkProvider(
* id = "jsonapi_menu_items.top_level.menu_items",
* deriver = "Drupal\jsonapi_menu_items\Plugin\Derivative\MenuItemsLinkProviderDeriver",
* deriver = "Drupal\jsonapi_menu_items_hypermedia\Plugin\Derivative\MenuItemsLinkProviderDeriver",
* link_relation_type = "menu_items",
* )
*/
......
<?php
namespace Drupal\Tests\jsonapi_menu_items\Functional;
namespace Drupal\Tests\jsonapi_menu_items_hypermedia\Functional;
use Drupal\Component\Serialization\Json;
use Drupal\Core\Url;
......@@ -12,7 +12,7 @@ use GuzzleHttp\RequestOptions;
/**
* Tests JSON:API Hypermedia integration.
*
* @group jsonapi_menu_items
* @group jsonapi_menu_items_hypermedia
* @requires jsonapi_hypermedia
*/
final class HypermediaIntegrationTest extends BrowserTestBase {
......@@ -31,12 +31,13 @@ final class HypermediaIntegrationTest extends BrowserTestBase {
protected static $modules = [
'jsonapi_hypermedia',
'jsonapi_menu_items',
'jsonapi_menu_items_hypermedia',
];
/**
* Tests the `menu_items` links.
*/
public function testMenuItemsLinks() {
public function testMenuItemsLinks(): void {
$url = Url::fromRoute('jsonapi.resource_list');
$request_options = [];
$request_options[RequestOptions::HEADERS]['Accept'] = 'application/vnd.api+json';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment