PartKeepr\AuthBundle\Action\SetPreferenceAction::__invoke PHP Method

__invoke() public method

Retrieves a collection of resources.
public __invoke ( Request $request ) : array | Dunglas\ApiBundle\Model\PaginatorInterface | Traversable
$request Symfony\Component\HttpFoundation\Request
return array | Dunglas\ApiBundle\Model\PaginatorInterface | Traversable
    public function __invoke(Request $request)
    {
        $user = $this->userService->getUser();
        $data = json_decode($request->getContent());
        if (property_exists($data, 'preferenceKey') && property_exists($data, 'preferenceValue')) {
            $preference = $this->userPreferenceService->setPreference($user, $data->preferenceKey, $data->preferenceValue);
        } else {
            throw new \Exception('Invalid format');
        }
        list($resourceType) = $this->extractAttributes($request);
        /*
         * @var ResourceInterface $resourceType
         */
        $serializedData = $this->serializer->normalize($preference, 'json', $resourceType->getNormalizationContext());
        return new JsonResponse($serializedData);
    }
SetPreferenceAction