Completed
Push — devel ( 7508db...540322 )
by Philippe
03:02
created

Redis   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 10

Test Coverage

Coverage 20%

Importance

Changes 0
Metric Value
wmc 9
c 0
b 0
f 0
lcom 0
cbo 10
dl 0
loc 57
ccs 10
cts 50
cp 0.2
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
D register() 0 51 9
1
<?php
2
/**
3
 * Redis.php
4
 *
5
 * PHP version 5.6+
6
 *
7
 * @author Philippe Gaultier <[email protected]>
8
 * @copyright 2010-2016 Philippe Gaultier
9
 * @license http://www.sweelix.net/license license
10
 * @version XXX
11
 * @link http://www.sweelix.net
12
 * @package sweelix\oauth2\server\services
13
 */
14
15
namespace sweelix\oauth2\server\services;
16
17
use sweelix\oauth2\server\interfaces\ServiceBootstrapInterface;
18
use sweelix\oauth2\server\services\redis\AccessTokenService;
19
use sweelix\oauth2\server\services\redis\AuthCodeService;
20
use sweelix\oauth2\server\services\redis\ClientService;
21
use sweelix\oauth2\server\services\redis\CypherKeyService;
22
use sweelix\oauth2\server\services\redis\JtiService;
23
use sweelix\oauth2\server\services\redis\JwtService;
24
use sweelix\oauth2\server\services\redis\RefreshTokenService;
25
use sweelix\oauth2\server\services\redis\ScopeService;
26
use Yii;
27
28
/**
29
 * This is the service loader for redis
30
 *
31
 * @author Philippe Gaultier <[email protected]>
32
 * @copyright 2010-2016 Philippe Gaultier
33
 * @license http://www.sweelix.net/license license
34
 * @version XXX
35
 * @link http://www.sweelix.net
36
 * @package sweelix\oauth2\server\services
37
 * @since XXX
38
 */
39
class Redis implements ServiceBootstrapInterface
40
{
41
    /**
42
     * @inheritdoc
43
     */
44 45
    public static function register($app)
45
    {
46 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface') === false) {
47
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface', [
48
                'class' => AccessTokenService::className(),
49
                'namespace' => 'oauth2:accessTokens',
50
            ]);
51
        }
52 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface') === false) {
53
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface', [
54
                'class' => AuthCodeService::className(),
55
                'namespace' => 'oauth2:authCodes',
56
            ]);
57
        }
58 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface') === false) {
59
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface', [
60
                'class' => ClientService::className(),
61
                'namespace' => 'oauth2:clients',
62
            ]);
63
        }
64 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface') === false) {
65
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface', [
66
                'class' => CypherKeyService::className(),
67
                'namespace' => 'oauth2:cypherKeys',
68
            ]);
69
        }
70 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface') === false) {
71
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface', [
72
                'class' => JtiService::className(),
73
                'namespace' => 'oauth2:jti',
74
            ]);
75
        }
76 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface') === false) {
77
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface', [
78
                'class' => JwtService::className(),
79
                'namespace' => 'oauth2:jwt',
80
            ]);
81
        }
82 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface') === false) {
83
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface', [
84
                'class' => RefreshTokenService::className(),
85
                'namespace' => 'oauth2:refreshTokens',
86
            ]);
87
        }
88 45
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface') === false) {
89
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface', [
90
                'class' => ScopeService::className(),
91
                'namespace' => 'oauth2:scopes',
92
            ]);
93
        }
94 45
    }
95
}
96