/** * Checks if the object is supported. * * @param ParamConverter $configuration Should be an instance of ParamConverter * * @return bool True if the object is supported, else false */ public function supports(ParamConverter $configuration) { if (null === $configuration->getConverter()) { return false; } return 'drupal.router_item' === $configuration->getConverter(); }
/** * execute * * @param Request $request * @param SensioParamConverter $configuration * * @return bool|mixed */ public function execute(Request $request, SensioParamConverter $configuration) { $id = $request->attributes->get('id'); $locale = $request->attributes->get('locale'); $url = $request->attributes->get('url'); $name = $configuration->getName(); $options = $configuration->getOptions(); $resolvedClass = $configuration->getClass(); $method = $request->getMethod(); $rawPayload = $request->getContent(); switch (true) { case 'GET' === $method: $convertedValue = $this->loadEntity($resolvedClass, $id, $locale, $url); break; case 'DELETE' === $method: $convertedValue = $this->loadEntity($resolvedClass, $id, $locale, $url); break; case 'PUT' === $method: $payload = array_merge(array('id' => $id), json_decode($rawPayload, true)); $convertedValue = $this->updateEntity($resolvedClass, json_encode($payload)); break; case 'POST' === $method: $convertedValue = $this->updateEntity($resolvedClass, $rawPayload); break; } return $convertedValue; }
/** * @param ParamConverter $configuration * @return bool */ protected function checkFailureOnValidationError(ParamConverter $configuration) { if (isset($configuration->getOptions()['fail_on_validation_error'])) { return $configuration->getOptions()['fail_on_validation_error']; } return $this->failOnValidationError; }
public function it_should_support(ParamConverter $configuration) { $configuration->getClass()->willReturn(JsonApi::class); $this->supports($configuration)->shouldReturn(true); $configuration->getClass()->willReturn(stdClass::class); $this->supports($configuration)->shouldReturn(false); }
function supports(ParamConverter $configuration) { if ('json' !== $configuration->getNAme()) { return false; } return true; }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return isset(self::$supportedTypes[$configuration->getClass()]); }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (!$configuration->getClass()) { return false; } return true; }
/** * Checks if the object is supported. * * @param ParamConverter $configuration Should be an instance of ParamConverter * * @return bool True if the object is supported, else false */ public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return $configuration->getClass() === Category::class; }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (!($class = $configuration->getClass())) { return false; } return 'DTO' === strtoupper(substr($class, -3)); }
/** * Modifies the ParamConverterManager instance. * * @param FilterControllerEvent $event A FilterControllerEvent instance */ public function onKernelController(FilterControllerEvent $event) { $controller = $event->getController(); $request = $event->getRequest(); $configurations = array(); if ($configuration = $request->attributes->get('_converters')) { foreach (is_array($configuration) ? $configuration : array($configuration) as $configuration) { $configurations[$configuration->getName()] = $configuration; } } if (is_array($controller)) { $r = new \ReflectionMethod($controller[0], $controller[1]); } else { $r = new \ReflectionFunction($controller); } // automatically apply conversion for non-configured objects foreach ($r->getParameters() as $param) { if (!$param->getClass() || $param->getClass()->isInstance($request)) { continue; } $name = $param->getName(); if (!isset($configurations[$name])) { $configuration = new ParamConverter(array()); $configuration->setName($name); $configuration->setClass($param->getClass()->getName()); $configurations[$name] = $configuration; } elseif (null === $configurations[$name]->getClass()) { $configurations[$name]->setClass($param->getClass()->getName()); } $configurations[$name]->setIsOptional($param->isOptional()); } $this->manager->apply($request, $configurations); }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return "DateTime" === $configuration->getClass(); }
/** * Modifies the ParamConverterManager instance. * * @param FilterControllerEvent $event A FilterControllerEvent instance */ public function onCoreController(FilterControllerEvent $event) { $controller = $event->getController(); $request = $event->getRequest(); $configurations = array(); if ($configuration = $request->attributes->get('_converters')) { $configurations = is_array($configuration) ? $configuration : array($configuration); } if (is_array($controller)) { $r = new \ReflectionMethod($controller[0], $controller[1]); } else { $r = new \ReflectionFunction($controller); } // automatically apply conversion for non-configured objects foreach ($r->getParameters() as $param) { if ($param->getClass() && !$request->attributes->get($param->getName())) { $configuration = new ParamConverter(array()); $configuration->setName($param->getName()); $configuration->setClass($param->getClass()->getName()); $configuration->setIsOptional($param->isOptional()); $configurations[] = $configuration; } } $this->manager->apply($request, $configurations); }
public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return in_array($configuration->getClass(), $this->supportedTypes); }
/** * @param ParamConverter $configuration * @return bool */ public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return 'CiTron\\Project\\Entity\\Project' === $configuration->getClass(); }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } return 'ArrayObject' === $configuration->getClass(); }
/** * Stores the object in the request. * * @param Request $request The request * @param ParamConverter $configuration Contains the name, class and options of the object * * @return boolean True if the object has been successfully set, else false * * @throws UnsupportedMediaTypeHttpException * @throws BadRequestHttpException */ protected function execute(Request $request, ParamConverter $configuration) { $options = (array) $configuration->getOptions(); if (isset($options['deserializationContext']) && is_array($options['deserializationContext'])) { $context = array_merge($this->context, $options['deserializationContext']); } else { $context = $this->context; } if ($this->serializer instanceof SerializerInterface) { $context = $this->configureDeserializationContext($this->getDeserializationContext(), $context); } try { $object = $this->serializer->deserialize($request->getContent(), $configuration->getClass(), $request->getContentType(), $context); } catch (UnsupportedFormatException $e) { throw new UnsupportedMediaTypeHttpException($e->getMessage()); } catch (JMSSerializerException $e) { throw new BadRequestHttpException($e->getMessage()); } catch (SymfonySerializerException $e) { throw new BadRequestHttpException($e->getMessage()); } $request->attributes->set($configuration->getName(), $object); if (null !== $this->validator) { $validatorOptions = $this->getValidatorOptions($options); $request->attributes->set($this->validationErrorsArgument, $this->validator->validate($object, $validatorOptions['groups'], $validatorOptions['traverse'], $validatorOptions['deep'])); } return true; }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { $options = $configuration->getOptions(); if (isset($options['allowAnonymous'])) { return is_bool($options['allowAnonymous']) ? true : false; } return true; }
function supports(ParamConverter $configuration) { // Si le nom de l'argument du contrôleur n'est pas "json", on n'applique pas le convertisseur if ('json' !== $configuration->getName()) { return false; } return true; }
/** * @param Request $request * @param ParamConverter $configuration * @return string */ protected function getRequestAttributeName(Request $request, ParamConverter $configuration) { $param = $configuration->getName(); if (array_key_exists('id', $configuration->getOptions())) { $param = $configuration->getOptions()['id']; } return $param; }
public function supports(ParamConverter $configuration) { if (null === $configuration->getClass()) { return false; } $supportedTypes = [SearchRequest::class, SearchRequestInterface::class]; return in_array($configuration->getClass(), $supportedTypes); }
private function createModel(ParamConverter $configuration) { $class = $configuration->getClass(); if (!class_exists($class)) { throw new \InvalidArgumentException(sprintf('Failed to load model class [%s]', $class)); } return new $class(); }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { $options = $configuration->getOptions(); if (isset($options['authenticatedUser']) && is_bool($options['authenticatedUser'])) { return true; } return false; }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { $options = $configuration->getOptions(); if (isset($options['multipleIds']) && $options['multipleIds'] === true) { return true; } return false; }
/** * @param Request $request * @param ParamConverter $configuration * @param string $mapToField * * @return array */ private function getMappingOptions(Request $request, ParamConverter $configuration, $mapToField) { $routeParams = $request->attributes->get('_route_params'); if (isset($routeParams[$configuration->getName()])) { return ['mapping' => [$configuration->getName() => $mapToField]]; } return []; }
public function supports(ParamConverter $configuration) { $class = $configuration->getClass(); if (!is_string($class)) { return null; } return is_subclass_of($class, 'Surfnet\\StepupBundle\\Request\\JsonConvertible'); }
private function getOptions(ParamConverter $configuration) { $options = array_replace(['model' => $configuration->getClass() . 'Model'], $configuration->getOptions()); if (isset($options['connection'])) { $options['session'] = $this->pomm[$options['session']]; } else { $options['session'] = $this->pomm->getDefaultSession(); } return $options; }
/** * Stores the object in the request. * * @param Request $request The request * @param ParamConverter $configuration Contains the name, class and options of the object * * @return bool True if the object has been successfully set, else false */ public function apply(Request $request, ParamConverter $configuration) { $options = $configuration->getOptions(); if (!empty($options['parameters'])) { foreach ($options['parameters'] as $parameter) { $request->attributes->set($parameter, $request->get($parameter)); } } return true; }
public function supports(ParamConverter $configuration) { if (null === $this->container) { return false; } if ($configuration->getClass() !== 'AppBundle\\Model\\Wiki') { return false; } return true; }
/** * {@inheritdoc} */ public function supports(ParamConverter $configuration) { if (!$configuration instanceof ParamConverter) { return false; } if ('badge_converter' === $configuration->getConverter()) { return true; } return false; }
/** * @{inheritDoc} */ public function supports(ParamConverter $configuration) { if (!$configuration instanceof ParamConverter) { return false; } $options = $configuration->getOptions(); if (isset($options['orderable']) && $options['orderable'] === true) { return true; } return false; }