* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Employee\Access; use PrestaShop\PrestaShop\Core\Employee\EmployeeDataProviderInterface; /** * Class ProfileAccessChecker checks profile access for employee. */ final class ProfileAccessChecker implements ProfileAccessCheckerInterface { /** * @var EmployeeDataProviderInterface */ private $employeeDataProvider; /** * @var int */ private $superAdminProfileId; /** * @param EmployeeDataProviderInterface $employeeDataProvider * @param int $superAdminProfileId */ public function __construct( EmployeeDataProviderInterface $employeeDataProvider, $superAdminProfileId ) { $this->employeeDataProvider = $employeeDataProvider; $this->superAdminProfileId = $superAdminProfileId; } /** * {@inheritdoc} */ public function canEmployeeAccessProfile($employeeId, $profileId) { if ($this->employeeDataProvider->isSuperAdmin($employeeId)) { return true; } return $profileId !== $this->superAdminProfileId; } }