/** * Retrieves a collection of resources. * * @param Request $request * * @throws \Exception If the format is invalid * @throws RuntimeException|RootNodeNotFoundException * * @return array|\Dunglas\ApiBundle\Model\PaginatorInterface|\Traversable */ public function __invoke(Request $request) { if ($request->request->has('preferenceKey')) { $this->systemPreferenceService->deletePreference($request->request->get('preferenceKey')); } else { throw new \Exception('Invalid format'); } }
/** * 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); }
/** * Retrieves a collection of resources. * * @param Request $request * * @throws \Exception If the format is invalid * @throws RuntimeException|RootNodeNotFoundException * * @return JsonResponse */ public function __invoke(Request $request) { $data = json_decode($request->getContent()); if (property_exists($data, 'preferenceKey') && property_exists($data, 'preferenceValue')) { $preference = $this->systemPreferenceService->setSystemPreference($data->preferenceKey, $data->preferenceValue); } else { throw new \Exception('Invalid format'); } /** * @var ResourceInterface $resourceType */ list($resourceType) = $this->extractAttributes($request); $serializedData = $this->serializer->normalize($preference, 'json', $resourceType->getNormalizationContext()); return new JsonResponse($serializedData); }