/**
* Retrieves a collection of resources.
*
* @param Request $request
*
* @throws RuntimeException|RootNodeNotFoundException
*
* @return array|\Dunglas\ApiBundle\Model\PaginatorInterface|\Traversable
*/
public function __invoke(Request $request)
{
$user = $this->userService->getUser();
$preferences = $this->userPreferenceService->getPreferences($user);
list($resourceType) = $this->extractAttributes($request);
/*
* @var ResourceInterface $resourceType
*/
$serializedData = $this->serializer->normalize($preferences, 'json', $resourceType->getNormalizationContext());
return new JsonResponse($serializedData);
}