Passed
Pull Request — master (#81)
by
unknown
05:47
created

GesdinetJWTRefreshTokenExtension   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Test Coverage

Coverage 94.12%

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 0
cbo 6
dl 0
loc 34
ccs 16
cts 17
cp 0.9412
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B load() 0 28 3
1
<?php
2
3
/*
4
 * This file is part of the GesdinetJWTRefreshTokenBundle package.
5
 *
6
 * (c) Gesdinet <http://www.gesdinet.com/>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Gesdinet\JWTRefreshTokenBundle\DependencyInjection;
13
14
use Symfony\Component\Config\FileLocator;
15
use Symfony\Component\DependencyInjection\ContainerBuilder;
16
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
17
use Symfony\Component\DependencyInjection\Loader;
18
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
19
20
/**
21
 * This is the class that loads and manages your bundle configuration.
22
 *
23
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
24
 */
25
class GesdinetJWTRefreshTokenExtension extends Extension
26
{
27
    /**
28
     * {@inheritdoc}
29
     */
30 4
    public function load(array $configs, ContainerBuilder $container)
31
    {
32 4
        $configuration = new Configuration();
33 4
        $config = $this->processConfiguration($configuration, $configs);
34
35 4
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
36 4
        $loader->load('services.yml');
37
38 4
        $container->setParameter('gesdinet_jwt_refresh_token.ttl', $config['ttl']);
39 4
        $container->setParameter('gesdinet_jwt_refresh_token.ttl_update', $config['ttl_update']);
40 4
        $container->setParameter('gesdinet_jwt_refresh_token.security.firewall', $config['firewall']);
41 4
        $container->setParameter('gesdinet_jwt_refresh_token.user_provider', $config['user_provider']);
42
43
        //if refresh_token_entity has not be defined in config, we don't want to erase base value
44 4
        if (isset($config['refresh_token_entity'])) {
45
            $container->setParameter('gesdinet.jwtrefreshtoken.refresh_token.class', $config['refresh_token_entity']);
46
        }
47
48 4
        $container->setParameter('gesdinet.jwtrefreshtoken.entity_manager.id', $config['entity_manager']);
49
50
        /** @var string $nameGeneratorServiceDefinition */
51 4
        $nameGeneratorServiceDefinition = $config['parameter_name_generator'];
52 4
        if (!$container->has($nameGeneratorServiceDefinition)) {
53 1
            throw new ServiceNotFoundException($nameGeneratorServiceDefinition);
54
        }
55
56 3
        $container->setAlias('gesdinet.jwtrefreshtoken.name_generator.default', $nameGeneratorServiceDefinition);
57 3
    }
58
}
59