/** * Access URI /api/v1/messages/users/{id}/pages/{page} * * @ApiDoc( * resource=true, * description="Returns list of user messages", * requirements={ * {"name"="id", "dataType"="integer", "requirement"="true"}, * {"name"="page", "dataType"="integer", "requirement"="false"} * }, * output="Brd4\MessageBundle\Model\Message", * section="Message API", * statusCodes={ * 200="Returned when request was handled with success", * 400="Returned when bad request", * 500="Returned when there is a server side error", * }, * tags={ * "beta" = "#10A54A" * } * ) * * @ParamConverter(name="user", class="Brd4\UserBundle\Entity\User") * * @param User $user * @param $page * * @RestView * * @return View */ public function userMessageListAction(User $user, $page) { try { // TODO: remove to same service and write query $pagination = $this->get('knp_paginator')->paginate($user->getMessages(), $page, $this->getParameter('user_message.list.item.count')); $result = $this->get('brd4.common.data_transfer_prepare')->serialize($pagination, MessageModel::class, $format = 'json'); } catch (\Exception $e) { return $this->view($e->getMessage(), Codes::HTTP_BAD_REQUEST); } return $this->view(['total' => '', 'count' => $this->getParameter('user_message.list.item.count'), 'page' => $page, 'data' => $result], Codes::HTTP_OK); }
/** * @param User $user * @param $page * @ParamConverter(name="user", class="Brd4UserBundle:User") * @return \Symfony\Component\HttpFoundation\Response */ public function userListAction(User $user, $page) { $this->denyAccessUnlessGranted("ROLE_USER"); $pagination = $this->get('knp_paginator')->paginate($user->getMessages(), $page, $this->getParameter('user_message.list.item.count')); return $this->render('@Brd4Message/Message/user_list.html.twig', ['pagination' => $pagination, 'username' => $user->getUsername()]); }