/** * @param Reaction $reaction */ public function process(Reaction $reaction) { // Only process reaction on saved links $link = $this->linkRepository->findOneBySlackMessageId($reaction->getMessageId()); if (!$link instanceof Link) { return; } $user = $this->userRepository->findOneBySlackId($reaction->getUserId()); if (!$user instanceof User) { $this->logger->error(sprintf('User "%s" not found', $reaction->getUserId())); return; } if ($reaction->isLike()) { $link->likedBy($user); } if ($reaction->isDislike()) { $link->dislikedBy($user); } $this->objectManager->flush(); $this->objectManager->clear(); }
/** * @param Request $request * @return Response * @Template() */ public function indexAction(Request $request) { $links = $this->linkRepository->findForOverview(LinkRepository::SORT_RECENT); return array('links' => $links); }
/** * @param Request $request * @return Response * @Template() */ public function indexAction(Request $request, $tag) { $links = $this->linkRepository->findByTag(new Tag($tag), LinkRepository::SORT_RECENT); return array('links' => $links); }