/** * Action logic * * @param RequestInterface $request Request * @param ResponseInterface $response Response * @return ResponseInterface */ public function run(RequestInterface $request, ResponseInterface $response) { /** @var \Psr\Http\Message\ServerRequestInterface $request */ /** @var \Doctrine\ORM\EntityManager $entityManager */ // recovering the user data and validate $user = $this->getUser($request->getAttribute('id')); $validator = new UserValidator('modify', $request, $this->container); if (!$validator->validate()) { return new ValidationJsonResponse($validator->errors()); } // update the user $entityManager = $this->container->get('EntityManager'); $data = $request->getParsedBody(); foreach ($data as $field => $value) { $user->{'set' . ucfirst($field)}($value); } $entityManager->flush(); return new JsonResponse(['status' => 'updated'], 200); }
/** * Action logic * * @param RequestInterface $request Petición * @param ResponseInterface $response Respuesta * @return ResponseInterface */ public function run(RequestInterface $request, ResponseInterface $response) { /** @var \Psr\Http\Message\ServerRequestInterface $request */ /** @var \Doctrine\ORM\EntityManager $entityManager */ // data is validated $validator = new UserValidator('new', $request, $this->container); if (!$validator->validate()) { return new ValidationJsonResponse($validator->errors()); } // insert the user $entityManager = $this->container->get('EntityManager'); $data = $request->getParsedBody(); $user = new User(); foreach ($data as $field => $value) { $user->{'set' . ucfirst($field)}($value); } $entityManager->persist($user); $entityManager->flush(); return new JsonResponse(['status' => 'created'], 201); }