Completed
Push — develop ( f37ae4...1d947e )
by Nate
18:30
created

AccessTokenTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 31
ccs 0
cts 11
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setAccessToken() 0 4 1
A getAccessToken() 0 8 2
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://flipboxfactory.com/software/hubspot/license
6
 * @link       https://www.flipboxfactory.com/software/hubspot/
7
 */
8
9
namespace flipbox\hubspot\patron\connections\traits;
10
11
use flipbox\patron\Patron;
12
use League\OAuth2\Client\Token\AccessToken;
13
14
/**
15
 * @author Flipbox Factory <[email protected]>
16
 * @since 1.0.0
17
 */
18
trait AccessTokenTrait
19
{
20
    use ProviderTrait;
21
22
    /**
23
     * @var AccessToken|null
24
     */
25
    private $accessToken;
26
27
    /**
28
     * @param AccessToken $accessToken
29
     */
30
    public function setAccessToken(AccessToken $accessToken)
31
    {
32
        $this->accessToken = $accessToken;
33
    }
34
35
    /**
36
     * @return AccessToken
37
     * @throws \flipbox\ember\exceptions\NotFoundException
38
     * @throws \yii\base\InvalidConfigException
39
     */
40
    public function getAccessToken(): AccessToken
41
    {
42
        if ($this->accessToken instanceof AccessToken) {
43
            return $this->accessToken;
44
        }
45
46
        return $this->accessToken = Patron::getInstance()->getTokens()->get($this->getProvider());
47
    }
48
}
49