chill-bundles/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php
Julien Fastré b6c58a5c31 Continue work on ACL rewritting
* fix center resolver dispatcher
* add scope resolver
* tests for authorization helper
2021-09-20 13:56:44 +02:00

33 lines
722 B
PHP

<?php
namespace Chill\MainBundle\Security\Resolver;
class CenterResolverDispatcher
{
/**
* @var iterabble|CenterResolverInterface[]
*/
private iterable $resolvers = [];
public function __construct(iterable $resolvers)
{
$this->resolvers = $resolvers;
}
/**
* @param mixed $entity
* @param array|null $options
* @return null|Center|Center[]
*/
public function resolveCenter($entity, ?array $options = [])
{
foreach($this->resolvers as $priority => $resolver) {
if ($resolver->supports($entity, $options)) {
return $resolver->resolveCenter($entity, $options);
}
}
return null;
}
}