Exemplo n.º 1
0
 /**
  * @Route("api/v1/book/{id}/edit", requirements={"id" = "\d+"})
  */
 public function editAction(Request $request, $id)
 {
     if (!$this->authentication($request)) {
         $messages = array("message" => "Autentication error, use right api key");
         return $this->jsonResponse($messages);
     }
     $bookRepository = $this->getDoctrine()->getRepository("AppBundle:Book");
     $book = $bookRepository->find($id);
     $messages = array();
     if ($request->getMethod() === "POST") {
         $bookParametrBag = $request->request;
         $updatedBook = Book::updateBook($book, $bookParametrBag);
         if (is_array($updatedBook)) {
             $messages = $updatedBook;
         }
         if (count($messages) === 0) {
             $entityManager = $this->getDoctrine()->getManager();
             $entityManager->flush();
             $messages["message"] = "done";
         } else {
             $messages["message"] = "error";
         }
     } else {
         $messages["message"] = "error";
         $messages["method_error"] = "You should use POST method";
     }
     return $this->jsonResponse($messages);
 }