X-Git-Url: https://git.piment-noir.org/?p=Project_proches_de_moi-server.git;a=blobdiff_plain;f=src%2FController%2FPersonController.php;h=6ee3fdfc52ba561a8c42e872b1820e9abf35ed57;hp=43b907874e1eadfdda520c44ccfa0a70bc627a1c;hb=9e71bdc54747a36c661ce304a330a2d6dc43b80c;hpb=43f58db4196ece08549c1adafb2ca0aa1ad02cf1 diff --git a/src/Controller/PersonController.php b/src/Controller/PersonController.php index 43b9078..6ee3fdf 100644 --- a/src/Controller/PersonController.php +++ b/src/Controller/PersonController.php @@ -13,7 +13,7 @@ class PersonController extends FOSRestController { /** * @Rest\Post( - * path = "/person/inscription", + * path = "/api/person/inscription", * name = "create_person" * ) * @Rest\View(StatusCode = Response::HTTP_CREATED) @@ -30,23 +30,24 @@ class PersonController extends FOSRestController } /** - * @Rest\Delete("/person/{id}") + * @Rest\Delete("/api/person/{id}") * @Rest\View(statusCode = Response::HTTP_NO_CONTENT) */ public function removePersonAction(Request $request) { $em = $this->getDoctrine()->getManager(); - $person = $em->getRepository('App:Person')->find($request->get('id')); + $person = $em->getRepository('App::Person')->find($request->get('id')); - if ($person) { - $em->remove($place); + if (!empty($person)) { + $em->remove($person); $em->flush(); } + //TODO: remove localisation and friendship } /** * @Rest\Put( - * path = "/person/{id}/update", + * path = "/api/person/{id}/update", * name = "update_person" * ) * @Rest\View(StatusCode = Response::HTTP_CREATED) @@ -56,7 +57,7 @@ class PersonController extends FOSRestController $em = $this->getDoctrine()->getManager(); $person = $em->getRepository('App::Person')->find($request->get('id')); - if (empty($place)) { + if (empty($person)) { return new JsonResponse(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); } @@ -71,7 +72,7 @@ class PersonController extends FOSRestController } /** - * @Rest\Get("/person/{id}/friends/localisation") + * @Rest\Get("/api/person/{id}/friends/localisation") */ public function getFriendsLocalisationAction(Request $request) { @@ -79,7 +80,7 @@ class PersonController extends FOSRestController } /** - * @Rest\Post("/person/{id}/localisation") + * @Rest\Post("/api/person/{id}/localisation") * @Rest\View(StatusCode = Response::HTTP_CREATED) */ public function updateLocalisationAction(Request $request) @@ -97,54 +98,82 @@ class PersonController extends FOSRestController } /** + * @Rest\View() * @Rest\Get( - * path = "/person/{id}", + * path = "/api/person/{id}", * name = "show_person", * requirements = {"id"="\d+"} * ) - * @Rest\View() */ - public function showPerson(Person $person) + public function showPerson(Request $request) { + $em = $this->getDoctrine()->getManager(); + $person = $em->getRepository('App:Person')->find($request->get('id')); + + if (empty($person)) { + return new JsonResponse(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + } + return $person; } /** * @Rest\Get( - * path = "/person/{email}", + * path = "/api/person/{email}", * name = "show_person_by_email", * requirements = {"email"="\s+"} * ) * @Rest\View() */ - public function showPersonByEmail(Person $person) + public function showPersonByEmail(Request $request) { + $em = $this->getDoctrine()->getManager(); + $person = $em->getRepository('App::Person')->find($request->get('email')); + + if (empty($person)) { + return new JsonResponse(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + } + return $person; } /** * @Rest\Get( - * path = "/person/{id}/friends", + * path = "/api/person/{id}/friends", * name = "show_person_friends", * requirements = {"id"="\d+"} * ) - * @Rest\View + * @Rest\View() */ - public function showPersonFriends(Person $person) + public function showPersonFriends(Request $request) { + $em = $this->getDoctrine()->getManager(); + $person = $em->getRepository('App:Person')->find($request->get('id')); + + if (empty($person)) { + return new JsonResponse(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + } + return $person->getFriends(); } /** * @Rest\Get( - * path = "/person/{email}/friends", + * path = "/api/person/{email}/friends", * name = "show_person_friends_by_email", * requirements = {"email"="\s+"} * ) - * @Rest\View + * @Rest\View() */ - public function showPersonFriendsByEmail(Person $person) + public function showPersonFriendsByEmail(Request $request) { + $em = $this->getDoctrine()->getManager(); + $person = $em->getRepository('App::Person')->find($request->get('email')); + + if (empty($person)) { + return new JsonResponse(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + } + return $person->getFriends(); } }