json( [ 'message' => 'Welcome to your new controller!', 'path' => 'src/Controller/DefaultController.php', ] ); } /** * @Get( * path = "/my-polls", * name = "get_my_polls", * requirements = {"access_token"="\w+"} * ) */ public function showMyPollsAction() { return $this->json( [ 'message' => 'here are your polls', 'data' => new Poll(), ] ); } /** * @Get( * path = "/poll/{id}/comments", * name = "get_poll_comment", * requirements = {"id"="\d+"} * ) */ public function getPollCommentsAction() { return $this->json( [ 'message' => 'here are your comments of the poll', ] ); } /** * @Get( * path = "/poll/all", * name = "get_all_polls" * ) */ public function getAllPollsAction() { $repository = $this->getDoctrine()->getRepository( Poll::class ); $data = $repository->findall(); return $this->json( [ 'message' => 'here are your polls', 'data' => $data, ] ); } /** * @Post( * path = "/poll/new", * name = "new_polls", * requirements = {"creator"="\w+"} * ) * @param Request $request * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function newPollAction( Request $request ) { $data = $request->getContent(); $poll = $this->get( 'jms_serializer' )->deserialize( $data, Poll::class, 'json' ); $em = $this->getDoctrine()->getManager(); $em->persist( $poll ); $em->flush(); return $this->json( [ 'message' => 'you created a poll', 'data' => $poll, ], 203 ); } /** * @Get( * path = "/poll/{id}", * name = "get_poll", * requirements = {"id"="\d+"} * ) */ public function getPollConfig( Poll $poll ) { return $this->json( [ 'message' => 'your poll config', 'data' => $poll, ] ); } /** * @Post( * path = "/poll/{id}/up", * name = "up_poll", * requirements = {"content"="\w+"} * ) */ public function updatePollConfig( Poll $poll ) { return $this->json( [ 'message' => 'you updated the poll', ] ); } /** * @Post( * path = "/comment/new", * name = "new_comment", * requirements = {"content"="\w+"} * ) */ public function newCommentAction() { return $this->json( [ 'message' => 'you created a comment', ] ); } public function deletePollAction() { return $this->json( [ 'message' => 'boom', ] ); } public function deletePollCommentsAction() { return $this->json( [ 'message' => 'boom', ] ); } public function deletePollVotesAction() { return $this->json( [ 'message' => 'boom', ] ); } }