Bleh
[rock.divinelegy.git] / Services / Uploads / UserSession.php
1 <?php
2
3 namespace Services;
4
5 use Services\IUserSession;
6 use Services\Http\IHttpRequest;
7 use DataAccess\IUserRepository;
8
9 class UserSession implements IUserSession
10 {
11 private $_httpRequest;
12 private $_userRepository;
13 private $_currentUser;
14
15 public function __construct(IHttpRequest $httpRequest, IUserRepository $userRepository)
16 {
17 $this->_httpRequest = $httpRequest;
18 $this->_userRepository = $userRepository;
19 }
20
21 public function getCurrentUser() {
22 if(empty($this->_currentUser))
23 {
24 $request = $this->_httpRequest->isGet() ? $this->_httpRequest->get()
25 : json_decode($this->_httpRequest->getBody(), true);
26
27 $token = isset($request['token']) ? $request['token'] : null;
28 $this->_currentUser = $this->_userRepository->findByAuthToken($token);
29 }
30
31 return $this->_currentUser;
32 }
33 }
34