getAuthUser(); if (!$authUser) { return $this->getGuestUser(); } if (!$cache) { $userRepo = new UserRepo(); $user = $userRepo->findById($authUser['id']); } else { $userCache = new UserCache(); $user = $userCache->get($authUser['id']); } return $user; } /** * @param bool $cache * @return UserModel * @throws UnauthorizedException */ public function getLoginUser($cache = false) { $authUser = $this->getAuthUser(); $validator = new AppValidator(); $validator->checkAuthUser($authUser['id']); if (!$cache) { $userRepo = new UserRepo(); $user = $userRepo->findById($authUser['id']); } else { $userCache = new UserCache(); $user = $userCache->get($authUser['id']); } return $user; } /** * @return UserModel */ public function getGuestUser() { $user = new UserModel(); $user->id = 0; $user->name = 'guest'; $user->avatar = kg_cos_user_avatar_url(null); return $user; } /** * @return array|null */ public function getAuthUser() { /** * @var AuthService $auth */ $auth = Di::getDefault()->get('auth'); return $auth->getAuthInfo(); } }