/**
* Retrieves a collection of resources.
*
* @param Request $request
*
* @throws RuntimeException|RootNodeNotFoundException
*
* @return JsonResponse
*/
public function __invoke(Request $request)
{
$preferences = $this->systemPreferenceService->getPreferences();
/**
* @var ResourceInterface $resourceType
*/
list($resourceType) = $this->extractAttributes($request);
/*
* @var ResourceInterface $resourceType
*/
$serializedData = $this->serializer->normalize($preferences, 'json', $resourceType->getNormalizationContext());
return new JsonResponse($serializedData);
}