public function countUnread(PersonInterface $person)
 {
     $conversations = $this->repository->getPersonConversations($person);
     $count = 0;
     foreach ($conversations as $conversation) {
         if ($conversation->getFirstUnreadMessage($person)) {
             $count++;
         }
     }
     return $count;
 }
 /**
  * @ApiDoc(
  *     section="Messaging",
  *     description="List all conversations o a user",
  *     resource=true,
  *     output={
  *         "class" = "array<FOS\Message\Model\Conversation>",
  *         "groups" = { "conversation_list" }
  *     },
  *     statusCodes={
  *         200 = "Loaded List",
  *     },
  * )
  * @Route("/users/{user}/conversations")
  * @param PersonInterface $user
  * @ParamConverter(name="user", class="UserBundle:User", converter="doctrine.orm")
  * @Method("GET")
  * @View(serializerGroups={"conversation_list"})
  * @return CollectionRepresentation|ConversationInterface[]
  */
 public function listAction(PersonInterface $user)
 {
     return new CollectionRepresentation($this->repository->getPersonConversations($user), 'message:conversation', 'conversation');
 }