Builds the API UserRoleAssignment object from provided SPI RoleAssignment object.
public buildDomainUserRoleAssignmentObject ( eZ\Publish\SPI\Persistence\User\RoleAssignment $spiRoleAssignment, eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\Role $role ) : eZ\Publish\API\Repository\Values\User\UserRoleAssignment | ||
$spiRoleAssignment | eZ\Publish\SPI\Persistence\User\RoleAssignment | |
$user | eZ\Publish\API\Repository\Values\User\User | |
$role | eZ\Publish\API\Repository\Values\User\Role | |
return | eZ\Publish\API\Repository\Values\User\UserRoleAssignment |
/** * @see \eZ\Publish\API\Repository\RoleService::getRoleAssignmentsForUser() */ public function getRoleAssignmentsForUser(User $user, $inherited = false) { if ($this->repository->hasAccess('role', 'read') !== true) { throw new UnauthorizedException('role', 'read'); } $roleAssignments = array(); $spiRoleAssignments = $this->userHandler->loadRoleAssignmentsByGroupId($user->id, $inherited); foreach ($spiRoleAssignments as $spiRoleAssignment) { $role = $this->loadRole($spiRoleAssignment->roleId); if (!$inherited || $spiRoleAssignment->contentId == $user->id) { $roleAssignments[] = $this->roleDomainMapper->buildDomainUserRoleAssignmentObject($spiRoleAssignment, $user, $role); } else { $userGroup = $this->repository->getUserService()->loadUserGroup($spiRoleAssignment->contentId); $roleAssignments[] = $this->roleDomainMapper->buildDomainUserGroupRoleAssignmentObject($spiRoleAssignment, $userGroup, $role); } } return $roleAssignments; }