/**
  * Get all token of a user
  *
  * The provider may limit the number of result rows in case of an abuse
  * where a high number of (session) tokens is generated
  *
  * @param IUser $user
  * @return DefaultToken[]
  */
 public function getTokenByUser(IUser $user)
 {
     /* @var $qb IQueryBuilder */
     $qb = $this->db->getQueryBuilder();
     $qb->select('id', 'uid', 'login_name', 'password', 'name', 'type', 'token', 'last_activity', 'last_check')->from('authtoken')->where($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID())))->setMaxResults(1000);
     $result = $qb->execute();
     $data = $result->fetchAll();
     $result->closeCursor();
     $entities = array_map(function ($row) {
         return DefaultToken::fromRow($row);
     }, $data);
     return $entities;
 }