private function extractRoles(IIdentity $identity) { if ($this->roleHierarchy) { return $this->roleHierarchy->getReachableRoles($identity->getRoles()); } return $identity->getRoles(); }
private function extractRoles() { $userRoles = $this->user->getRoles(); if ($this->roleHierarchy) { return $this->roleHierarchy->getReachableRoles($userRoles); } return $userRoles; }
public function testGetReachableRoles_complicatedHierarchy_valid() { $this->roleHierarchy->setHierarchy(['admin' => ['user', 'manager'], 'manager' => ['user', 'client'], 'user' => ['guest']]); $this->assertEquals(['admin', 'user', 'manager', 'guest', 'client'], $this->roleHierarchy->getReachableRoles(['admin'])); }