permissions_repository-1.0.x-dev/src/PermissionsRepositoryServiceProvider.php
src/PermissionsRepositoryServiceProvider.php
<?php
declare(strict_types=1);
namespace Drupal\permissions_repository;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\DependencyInjection\ServiceProviderBase;
use Symfony\Component\DependencyInjection\Reference;
use Drupal\permissions_repository\PermissionsRepositoryHandler;
/**
* Oddly, this works if you clear the cache using Drush, but not
* if you use the UI.
* @todo: fix that, if PermissionsRepositoryHandler is going to be used.
*/
class PermissionsRepositoryServiceProvider extends ServiceProviderBase {
/**
* {@inheritdoc}
*/
public function alter(ContainerBuilder $container) {
if ($container->hasDefinition('user.permissions')) {
$definition = $container->getDefinition('user.permissions');
$definition->setClass(PermissionsRepositoryHandler::class);
$definition->addArgument(new Reference('permissions_repository.repository_factory'));
}
}
}
