X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FController%2FPersonController.php;h=d4bd7ff374204dc15b14c68f3ec21e7f6d096bd3;hb=1faa29dccd972e343ecbdc462238702c881493fd;hp=b452c6360093b108b2f42b373311d7bf5cd42381;hpb=4c4feb3e3193703f6cfa44ca711092a8acb38329;p=Project_proches_de_moi-server.git diff --git a/src/Controller/PersonController.php b/src/Controller/PersonController.php index b452c63..d4bd7ff 100644 --- a/src/Controller/PersonController.php +++ b/src/Controller/PersonController.php @@ -16,7 +16,7 @@ class PersonController extends Controller { /** * @Rest\Post( - * path = "/api/person/inscription", + * path = "/person/inscription", * name = "create_person" * ) * @Rest\View(StatusCode = Response::HTTP_CREATED) @@ -61,7 +61,7 @@ class PersonController extends Controller $person = $em->getRepository('App:Person')->find($request->get('id')); if (empty($person)) { - return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + return $this->PersonNotFound(); } $person->setFirstName($request->get('firstname')); @@ -85,21 +85,16 @@ class PersonController extends Controller /** * @Rest\Get("/api/person/{id}/localisations") */ - public function getLocalisationActions(Request $request) + public function getLocalisationsAction(Request $request) { $em = $this->getDoctrine()->getManager(); - $localisations = $em->getRepository('App:Localisation')->findBy(['person_id' => $request->get('id')]); + $localisations = $em->getRepository('App:Localisation')->findBy(['person' => $request->get('id')]); if (empty($localisations)) { - return View::create(['message' => 'Person localisation not found'], Response::HTTP_NOT_FOUND); + return $this->PersonLocalisationsNotFound(); } - $view = View::create($localisation); - $view->setFormat('json'); - - $viewHandler = $this->get('fos_rest.view_handler'); - return $viewHandler->handle($view); - + return $localisations; } /** @@ -134,14 +129,10 @@ class PersonController extends Controller $person = $em->getRepository('App:Person')->find($request->get('id')); if (empty($person)) { - return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + return $this->PersonNotFound(); } - $view = View::create($person); - $view->setFormat('json'); - - $viewHandler = $this->get('fos_rest.view_handler'); - return $viewHandler->handle($view); + return $person; } /** @@ -155,17 +146,13 @@ class PersonController extends Controller public function showPersonByEmail(Request $request) { $em = $this->getDoctrine()->getManager(); - $person = $em->getRepository('App:Person')->find($request->get('email')); + $person = $em->getRepository('App:Person')->findOneBy(['email' => $request->get('email')]); if (empty($person)) { - return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + return $this->PersonNotFound(); } - $view = View::create($person); - $view->setFormat('json'); - - $viewHandler = $this->get('fos_rest.view_handler'); - return $viewHandler->handle($view); + return $person; } /** @@ -182,16 +169,31 @@ class PersonController extends Controller $person = $em->getRepository('App:Person')->find($request->get('id')); if (empty($person)) { - return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + return $this->PersonNotFound(); } - $view = View::create($person->getFriends()); - $view->setFormat('json'); - - $viewHandler = $this->get('fos_rest.view_handler'); - return $viewHandler->handle($view); + return $person->getFriends(); } + /** + * @Rest\Get( + * path = "/api/persons", + * name = "show_persons" + * ) + * @Rest\View() + */ + public function showPersons(Request $request) + { + $em = $this->getDoctrine()->getManager(); + $persons = $em->getRepository('App:Person')->findAll(); + + if (empty($persons)) { + return $this->PersonNotFound(); + } + + return $persons; + } + /** * @Rest\Get( * path = "/api/person/{email}/friends", @@ -203,16 +205,21 @@ class PersonController extends Controller public function showPersonFriendsByEmail(Request $request) { $em = $this->getDoctrine()->getManager(); - $person = $em->getRepository('App:Person')->find($request->get('email')); + $person = $em->getRepository('App:Person')->findOneBy(['email' => $request->get('email')]); if (empty($person)) { - return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + return $this->PersonNotFound(); } - $view = View::create($person->getFriends()); - $view->setFormat('json'); + return $person->getFriends(); + } + + private function PersonNotFound() { + return View::create(['message' => 'Person not found'], Response::HTTP_NOT_FOUND); + } - $viewHandler = $this->get('fos_rest.view_handler'); - return $viewHandler->handle($view); + private function PersonLocalisationsNotFound() { + return View::create(['message' => 'Person localisations not found'], Response::HTTP_NOT_FOUND); } + }