/** * Return the list of the most viewed answers for a given user. * * @ApiDoc( * description="Return the list of the most viewed answers for a given user.", * section="Answer", * statusCodes = { * 200 = "List of answers", * 403 = "Forbidden", * 404 = "No answers stored", * 500 = "Server error" * }, * ) * @Route("/show/{slug}", name="aalto_api_answer_show", methods={"GET"}) * @ParamConverter("answer", class="AppBundle:Answer", options={"slug" = "slug"}) * * @param Request $request * @param Answer $answer * * @return JsonResponse */ public function showAction(Request $request, Answer $answer) { $params = ['title' => $answer->getTitle(), 'description' => $answer->getDescription(), 'createdBy' => $answer->getUser()->__toString(), 'createdAt' => $answer->getCreated(), 'files' => [], 'comments' => []]; $comments = $answer->getComments()->toArray(); foreach ($comments as $comment) { /** @var Comment $comment */ $params['comments'][] = ['text' => $comment->getContent(), 'createdBy' => $comment->getUser()->__toString(), 'createdAt' => $comment->getCreated(), 'files' => []]; } return new JsonResponse($params, Response::HTTP_OK); }