Passed
Push — master ( 60854d...29b3a1 )
by Rutger
03:10
created

Oauth2PersonalAccessTokenGrantFactory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 9
c 1
b 0
f 0
dl 0
loc 28
ccs 0
cts 8
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getGrantType() 0 16 1
1
<?php
2
3
namespace rhertogh\Yii2Oauth2Server\components\factories\grants;
4
5
use rhertogh\Yii2Oauth2Server\interfaces\components\factories\grants\Oauth2PersonalAccessTokenGrantFactoryInterface;
6
use rhertogh\Yii2Oauth2Server\interfaces\components\server\grants\Oauth2PersonalAccessTokenGrantInterface;
7
use Yii;
8
9
class Oauth2PersonalAccessTokenGrantFactory extends base\Oauth2BaseGrantTypeFactory implements Oauth2PersonalAccessTokenGrantFactoryInterface
10
{
11
    /**
12
     * Time To Live for the access token, default value: 1 year.
13
     * The format should be a DateInterval duration (https://www.php.net/manual/en/dateinterval.construct.php).
14
     * @var string
15
     */
16
    public $accessTokenTTL = 'P1Y';
17
18
    /**
19
     * @inheritDoc
20
     */
21
    public function getGrantType()
22
    {
23
        /** @var Oauth2PersonalAccessTokenGrantInterface $patGrant */
24
        $patGrant = Yii::createObject(
25
            [
26
                'class' => Oauth2PersonalAccessTokenGrantInterface::class,
27
                'module' => $this->module,
28
            ],
29
            [
30
                $this->module->getUserRepository(),
31
                $this->module->getAccessTokenRepository(),
32
                new \DateInterval($this->accessTokenTTL)
33
            ]
34
        );
35
36
        return $patGrant;
37
    }
38
}
39