Completed
Branch v4.x (712f3d)
by Dmitry
04:56
created

AgencyCredentials::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 6
dl 0
loc 15
ccs 0
cts 15
cp 0
crap 2
rs 9.7666
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Gladyshev\Yandex\Direct;
5
6
final class AgencyCredentials implements \Gladyshev\Yandex\Direct\CredentialsInterface
7
{
8
    private $token;
9
    private $masterToken;
10
    private $login;
11
    private $useOperatorUnits;
12
    private $language;
13
    private $baseUrl;
14
15
    public function __construct(
16
        string $token,
17
        ?string $masterToken,
18
        ?string $clientLogin,
19
        ?bool $useOperatorUnits,
20
        string $language,
21
        string $baseUrl
22
    ) {
23
        $this->token = $token;
24
        $this->masterToken = $masterToken;
25
        $this->login = $clientLogin;
26
        $this->useOperatorUnits = $useOperatorUnits;
27
        $this->language = $language;
28
        $this->baseUrl = $baseUrl;
29
    }
30
31
    public static function buildForSandbox(
32
        string $token,
33
        ?string $masterToken = null,
34
        ?string $login = null,
35
        ?bool $useOperatorUnits = true,
36
        string $language = self::LANGUAGE_RU,
37
        string $baseUrl = self::DEFAULT_SANDBOX_BASE_URL
38
    ): self {
39
        return new self(
40
            $token,
41
            $masterToken,
42
            $login,
43
            $useOperatorUnits,
44
            $language,
45
            $baseUrl
46
        );
47
    }
48
49
    /**
50
     * @return string
51
     */
52
    public function getToken(): string
53
    {
54
        return $this->token;
55
    }
56
57
    /**
58
     * @return string|null
59
     */
60
    public function getMasterToken(): ?string
61
    {
62
        return $this->masterToken;
63
    }
64
65
    /**
66
     * @return string|null
67
     */
68
    public function getClientLogin(): ?string
69
    {
70
        return $this->login;
71
    }
72
73
    /**
74
     * @return bool|null
75
     */
76
    public function getUseOperatorUnits(): ?bool
77
    {
78
        return $this->useOperatorUnits;
79
    }
80
81
    /**
82
     * @return string
83
     */
84
    public function getLanguage(): string
85
    {
86
        return $this->language;
87
    }
88
89
    /**
90
     * @return string
91
     */
92
    public function getBaseUrl(): string
93
    {
94
        return $this->baseUrl;
95
    }
96
97
    public function isAgency(): bool
98
    {
99
        return true;
100
    }
101
}
102