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;
}