AccessTokenTrait::getAccessToken()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 12
ccs 0
cts 10
cp 0
rs 9.8666
c 0
b 0
f 0
cc 2
nc 2
nop 0
crap 6
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://github.com/flipboxfactory/patron-salesforce/blob/master/LICENSE
6
 * @link       https://github.com/flipboxfactory/patron-salesforce/
7
 */
8
9
namespace flipbox\patron\salesforce\connections;
10
11
use flipbox\patron\Patron;
12
use League\OAuth2\Client\Token\AccessTokenInterface;
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 AccessTokenInterface|null
24
     */
25
    private $accessToken;
26
27
    /**
28
     * @param AccessTokenInterface $accessToken
29
     */
30
    public function setAccessToken(AccessTokenInterface $accessToken)
31
    {
32
        $this->accessToken = $accessToken;
33
    }
34
35
    /**
36
     * @return AccessTokenInterface
37
     * @throws \yii\base\InvalidConfigException
38
     */
39
    public function getAccessToken(): AccessTokenInterface
40
    {
41
        if (!$this->accessToken instanceof AccessTokenInterface) {
42
            $token = Patron::getInstance()->getTokens([
43
                'provider' => $this->getProvider()
44
            ])->one();
45
46
            $this->accessToken = $token;
47
        }
48
49
        return $this->accessToken;
50
    }
51
}
52