src/Controller/EntityResource.php | 2 +- src/EventSubscriber/ResourceResponseSubscriber.php | 1 - src/JsonApiResource/JsonApiDocumentTopLevel.php | 13 +++++++++++-- .../Value/JsonApiDocumentTopLevelNormalizerValue.php | 9 ++++++++- .../Normalizer/JsonApiDocumentTopLevelNormalizerTest.php | 2 +- .../Value/JsonApiDocumentTopLevelNormalizerValueTest.php | 5 +---- 6 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/Controller/EntityResource.php b/src/Controller/EntityResource.php index 575ab76..87a0c84 100644 --- a/src/Controller/EntityResource.php +++ b/src/Controller/EntityResource.php @@ -819,7 +819,7 @@ class EntityResource { 'has_next_page' => $entity_collection->hasNextPage(), 'total_count' => $resource_type->includeCount() ? $entity_collection->getTotalCount() - : FALSE + : FALSE, ]; $collection_links = $this->linkManager->getPagerLinks(\Drupal::request(), $link_context); $response = $this->buildWrappedResponse($entity_collection, 200, [], $collection_links); diff --git a/src/EventSubscriber/ResourceResponseSubscriber.php b/src/EventSubscriber/ResourceResponseSubscriber.php index bb3f3a1..2461f07 100644 --- a/src/EventSubscriber/ResourceResponseSubscriber.php +++ b/src/EventSubscriber/ResourceResponseSubscriber.php @@ -5,7 +5,6 @@ namespace Drupal\jsonapi\EventSubscriber; use Drupal\Core\Cache\CacheableResponse; use Drupal\Core\Cache\CacheableResponseInterface; use Drupal\jsonapi\Context\FieldResolver; -use Drupal\jsonapi\Normalizer\JsonApiDocumentTopLevelNormalizer; use Drupal\jsonapi\Normalizer\Value\JsonApiDocumentTopLevelNormalizerValue; use Drupal\jsonapi\ResourceResponse; use Drupal\jsonapi\ResourceType\ResourceType; diff --git a/src/JsonApiResource/JsonApiDocumentTopLevel.php b/src/JsonApiResource/JsonApiDocumentTopLevel.php index 1dd47ac..049e755 100644 --- a/src/JsonApiResource/JsonApiDocumentTopLevel.php +++ b/src/JsonApiResource/JsonApiDocumentTopLevel.php @@ -25,6 +25,8 @@ class JsonApiDocumentTopLevel { protected $data; /** + * The links. Keys are link relation types. + * * @var array|\Drupal\Core\Url[]|string[] */ protected $links; @@ -40,7 +42,14 @@ class JsonApiDocumentTopLevel { * relation types. Values are URLs. */ public function __construct($data, array $links) { - assert(empty(array_diff(array_keys($links), ['self', 'first', 'next', 'prev', 'last', 'related']))); + assert(empty(array_diff(array_keys($links), [ + 'self', + 'first', + 'next', + 'prev', + 'last', + 'related', + ]))); assert(Inspector::assertAll(function ($v) { return is_string($v) || $v instanceof Url; }, $links)); @@ -62,7 +71,7 @@ class JsonApiDocumentTopLevel { /** * Gets the links. * - * @return \Drupal\Core\Url[] $links + * @return \Drupal\Core\Url[] * The top-level links. */ public function getLinks() { diff --git a/src/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValue.php b/src/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValue.php index 6d8465b..544f580 100644 --- a/src/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValue.php +++ b/src/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValue.php @@ -69,7 +69,14 @@ class JsonApiDocumentTopLevelNormalizerValue implements ValueExtractorInterface, $this->isCollection = $is_collection; - assert(empty(array_diff(array_keys($links), ['self', 'first', 'next', 'prev', 'last', 'related']))); + assert(empty(array_diff(array_keys($links), [ + 'self', + 'first', + 'next', + 'prev', + 'last', + 'related', + ]))); assert(Inspector::assertAll(function ($v) { return is_string($v) || $v instanceof Url; }, $links)); diff --git a/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php b/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php index 9888175..cac1323 100644 --- a/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php +++ b/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php @@ -230,7 +230,7 @@ class JsonApiDocumentTopLevelNormalizerTest extends JsonapiKernelTestBase { 'uid', 'field_tags', 'field_image', - ] + ], ] ); $normalized = $jsonapi_doc_object->rasterizeValue(); diff --git a/tests/src/Unit/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValueTest.php b/tests/src/Unit/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValueTest.php index 0467bf3..edc53fc 100644 --- a/tests/src/Unit/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValueTest.php +++ b/tests/src/Unit/Normalizer/Value/JsonApiDocumentTopLevelNormalizerValueTest.php @@ -5,12 +5,9 @@ namespace Drupal\Tests\jsonapi\Unit\Normalizer\Value; use Drupal\Component\DependencyInjection\Container; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Url; -use Drupal\jsonapi\ResourceType\ResourceType; -use Drupal\jsonapi\LinkManager\LinkManager; use Drupal\jsonapi\Normalizer\Value\JsonApiDocumentTopLevelNormalizerValue; use Drupal\jsonapi\Normalizer\Value\RelationshipNormalizerValue; use Drupal\jsonapi\Normalizer\Value\FieldNormalizerValueInterface; -use Drupal\node\NodeInterface; use Drupal\Tests\UnitTestCase; use Prophecy\Argument; @@ -97,7 +94,7 @@ class JsonApiDocumentTopLevelNormalizerValueTest extends UnitTestCase { ->setConstructorArgs([ ['title' => $field1->reveal(), 'field_related' => $field2->reveal()], [], - $entity->reveal() + $entity->reveal(), ]) ->getMock(); $this->object->method('addCacheableDependency');