HandleOptionalsRoles.php 546 B

12345678910111213141516171819202122
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Service\Access;
  4. use App\Entity\Access\Access;
  5. class HandleOptionalsRoles{
  6. public function __construct(private iterable $optionalsRoles)
  7. { }
  8. public function getOptionalsRoles(Access $access):array {
  9. $roles = [];
  10. /** @var OptionalsRolesInterface $optionalsRoles */
  11. foreach ($this->optionalsRoles as $optionalsRoles){
  12. if($optionalsRoles->support($access))
  13. $roles[] = $optionalsRoles->getRole();
  14. }
  15. return $roles;
  16. }
  17. }