Service.php
794 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespace App\User;
use App\Constants\AclRoles;
use App\Model\User;
class Service extends \PhalconApi\User\Service
{
protected $detailsCache = [];
public function getRole()
{
/** @var User $userModel */
$userModel = $this->getDetails();
$role = AclRoles::UNAUTHORIZED;
if($userModel && in_array($userModel->role, AclRoles::ALL_ROLES)){
$role = $userModel->role;
}
return $role;
}
protected function getDetailsForIdentity($identity)
{
if (array_key_exists($identity, $this->detailsCache)) {
return $this->detailsCache[$identity];
}
$details = User::findFirst((int)$identity);
$this->detailsCache[$identity] = $details;
return $details;
}
}