Passed
Pull Request — master (#101)
by Damien
02:47
created

StorageConfigurationCompilerPass::process()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 22
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
eloc 14
nc 4
nop 1
dl 0
loc 22
rs 9.7998
c 1
b 0
f 0
1
<?php
2
3
namespace DH\DoctrineAuditBundle\DependencyInjection\Compiler;
4
5
use DH\DoctrineAuditBundle\AuditConfiguration;
6
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
7
use Symfony\Component\DependencyInjection\ContainerBuilder;
8
9
class StorageConfigurationCompilerPass implements CompilerPassInterface
10
{
11
    public function process(ContainerBuilder $container): void
12
    {
13
        if (!$container->hasDefinition('dh_doctrine_audit.configuration')) {
14
            return;
15
        }
16
17
        $config = $container->getParameter('dh_doctrine_audit.configuration');
18
19
        if (isset($config['storage_entity_manager'])) {
20
            $auditConfiguration = $container->get('dh_doctrine_audit.configuration');
21
22
            if (null !== $auditConfiguration) {
23
                $auditConfiguration = new AuditConfiguration(
24
                    $config,
25
                    $auditConfiguration->getUserProvider(),
26
                    $auditConfiguration->getRequestStack(),
27
                    $auditConfiguration->getFirewallMap(),
28
                    $container->get($config['storage_entity_manager']),
0 ignored issues
show
Bug introduced by
It seems like $container->get($config[...orage_entity_manager']) can also be of type null; however, parameter $entityManager of DH\DoctrineAuditBundle\A...guration::__construct() does only seem to accept Doctrine\ORM\EntityManagerInterface, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

28
                    /** @scrutinizer ignore-type */ $container->get($config['storage_entity_manager']),
Loading history...
29
                    $auditConfiguration->getAnnotationLoader()
30
                );
31
32
                $container->set('dh_doctrine_audit.configuration', $auditConfiguration);
33
            }
34
        }
35
    }
36
}
37