/** * @param int $userId * @return AnonymusUserVO|UserVO */ private function loadUser(int $userId) : UserVO { if ($userId > 0) { try { return $this->loadUser->loadUserById($userId); } catch (UserNotFoundException $e) { } } return new AnonymusUserVO(); }
/** * @param string $token * @param SessionInterface $session * @return UserVO * @throws UserException */ public function loginWithToken(string $token, SessionInterface $session) : UserVO { $tokenData = $this->token->getToken($token); if (empty($tokenData) || !in_array(self::TOKEN_LOGIN, $tokenData['roles'])) { throw new UserException('Invalid Token'); } $userVo = $this->loadUser->loadUserById($tokenData['userId']); $authenticationVo = new AuthenticationDataVO($userVo, null, null); $this->handleLogin($session, $authenticationVo, $userVo); return $userVo; }
/** * @param int $userId * @return bool */ public function deleteUser(int $userId) : bool { try { $user = $this->loadUser->loadUserById($userId); } catch (UserNotFoundException $e) { return false; } $event = new DeleteUserEvent($user, DeleteUserEvent::DELETE); $this->dispatchEvent($event); $redis = $this->getRedis(); $redis->hdel(self::REDIS_USER_NAMES, mb_strtolower($user->getUsername())); $redis->del($this->getKey($userId)); return true; }