Completed
Pull Request — devel (#18)
by
unknown
38:28
created

MySql   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 9
c 0
b 0
f 0
lcom 0
cbo 2
dl 0
loc 64
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
C register() 0 58 9
1
<?php
2
/**
3
 * MySql.php
4
 *
5
 * PHP version 5.6+
6
 *
7
 * @author Philippe Gaultier <[email protected]>
8
 * @copyright 2010-2017 Philippe Gaultier
9
 * @license http://www.sweelix.net/license license
10
 * @version 1.2.0
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\mySql\AccessTokenService;
19
use sweelix\oauth2\server\services\mySql\AuthCodeService;
20
use sweelix\oauth2\server\services\mySql\ClientService;
21
use sweelix\oauth2\server\services\mySql\CypherKeyService;
22
use sweelix\oauth2\server\services\mySql\JtiService;
23
use sweelix\oauth2\server\services\mySql\JwtService;
24
use sweelix\oauth2\server\services\mySql\RefreshTokenService;
25
use sweelix\oauth2\server\services\mySql\ScopeService;
26
use Yii;
27
28
/**
29
 * This is the service loader for mySql
30
 *
31
 * @author Philippe Gaultier <[email protected]>
32
 * @copyright 2010-2017 Philippe Gaultier
33
 * @license http://www.sweelix.net/license license
34
 * @version 1.2.0
35
 * @link http://www.sweelix.net
36
 * @package sweelix\oauth2\server\services
37
 * @since 1.0.0
38
 */
39
class MySql implements ServiceBootstrapInterface
40
{
41
    /**
42
     * @inheritdoc
43
     */
44
    public static function register($app)
45
    {
46
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface') === false) {
47
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface', [
48
                'class' => AccessTokenService::class,
49
                'accessTokensTable' => 'oauthAccessTokens',
50
                'scopeAccessTokenTable' => 'oauthScopeAccessToken'
51
            ]);
52
        }
53
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface') === false) {
54
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface', [
55
                'class' => AuthCodeService::class,
56
                'authorizationCodesTable' => 'oauthAuthorizationCodes',
57
                'scopeAuthorizationCodeTable' => 'oauthScopeAuthorizationCode',
58
            ]);
59
        }
60
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface') === false) {
61
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface', [
62
                'class' => ClientService::class,
63
                'clientGrantTypeTable' => 'oauthClientGrantType',
64
                'clientsTable' => 'oauthClients',
65
                'clientUserTable' => 'oauthClientUser',
66
                'scopeClientTable' => 'oauthScopeClient',
67
            ]);
68
        }
69
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface') === false) {
70
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface', [
71
                'class' => CypherKeyService::class,
72
                'cypherKeysTable' => 'oauthCypherKeys',
73
            ]);
74
        }
75
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface') === false) {
76
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface', [
77
                'class' => JtiService::class,
78
                'jtisTable' => 'oauthJtis',
79
            ]);
80
        }
81
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface') === false) {
82
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface', [
83
                'class' => JwtService::class,
84
                'jwtsTable' => 'oauthJwts',
85
            ]);
86
        }
87
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface') === false) {
88
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface', [
89
                'class' => RefreshTokenService::class,
90
                'refreshTokensTable' => 'oauthRefreshTokens',
91
                'scopeRefreshTokenTable' => 'oauthScopeRefreshToken'
92
            ]);
93
        }
94
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface') === false) {
95
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface', [
96
                'class' => ScopeService::class,
97
                'scopeClientTable' => 'oauthScopeClient',
98
                'scopesTable' => 'oauthScopes',
99
            ]);
100
        }
101
    }
102
}
103