eZ\Publish\Core\Repository\Helper\RoleDomainMapper::buildDomainRoleObject PHP Method

buildDomainRoleObject() public method

Maps provided SPI Role value object to API Role value object.
public buildDomainRoleObject ( eZ\Publish\SPI\Persistence\User\Role $role ) : eZ\Publish\API\Repository\Values\User\Role
$role eZ\Publish\SPI\Persistence\User\Role
return eZ\Publish\API\Repository\Values\User\Role
    public function buildDomainRoleObject(SPIRole $role)
    {
        $rolePolicies = array();
        foreach ($role->policies as $spiPolicy) {
            $rolePolicies[] = $this->buildDomainPolicyObject($spiPolicy);
        }
        return new Role(array('id' => $role->id, 'identifier' => $role->identifier, 'status' => $role->status, 'policies' => $rolePolicies));
    }

Usage Example

Example #1
0
 /**
  * Loads all roles.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the authenticated user is not allowed to read the roles
  *
  * @return \eZ\Publish\API\Repository\Values\User\Role[]
  */
 public function loadRoles()
 {
     if ($this->repository->hasAccess('role', 'read') !== true) {
         throw new UnauthorizedException('role', 'read');
     }
     $spiRoles = $this->userHandler->loadRoles();
     $roles = array();
     foreach ($spiRoles as $spiRole) {
         $roles[] = $this->roleDomainMapper->buildDomainRoleObject($spiRole);
     }
     return $roles;
 }