public function loadUserByToken(ApiToken $token) { if (empty($token->getToken())) { return; } if ($token->getUserType() === 'user') { return $this->em->getRepository('CivixCoreBundle:User')->findOneBy(['token' => $token->getToken()]); } $session = $this->em->getRepository(Session::class)->findOneByToken($token->getToken()); if ($session) { return $this->em->getRepository('CivixCoreBundle:' . ucfirst($session->getUserType()))->find($session->getUserId()); } }