DeviceCodeTrait   A
last analyzed

Complexity

Total Complexity 13

Size/Duplication

Total Lines 86
Duplicated Lines 0 %

Test Coverage

Coverage 84.62%

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 86
ccs 22
cts 26
cp 0.8462
rs 10
c 0
b 0
f 0
wmc 13

13 Methods

Rating   Name   Duplication   Size   Complexity  
A getVerificationUriComplete() 0 3 1
A getLastPolledAt() 0 3 1
A getUserApproved() 0 3 1
A setLastPolledAt() 0 3 1
A getVerificationUriCompleteInAuthResponse() 0 3 1
A setUserApproved() 0 3 1
A setVerificationUriCompleteInAuthResponse() 0 3 1
A setInterval() 0 3 1
A getInterval() 0 3 1
A getVerificationUri() 0 3 1
A getUserCode() 0 3 1
A setUserCode() 0 3 1
A setVerificationUri() 0 3 1
1
<?php
2
3
/**
4
 * @author      Andrew Millington <[email protected]>
5
 * @copyright   Copyright (c) Alex Bilbie
6
 * @license     http://mit-license.org/
7
 *
8
 * @link        https://github.com/thephpleague/oauth2-server
9
 */
10
11
declare(strict_types=1);
12
13
namespace League\OAuth2\Server\Entities\Traits;
14
15
use DateTimeImmutable;
16
use League\OAuth2\Server\Entities\ClientEntityInterface;
17
use League\OAuth2\Server\Entities\ScopeEntityInterface;
18
19
trait DeviceCodeTrait
20
{
21
    private bool $userApproved = false;
22
    private bool $includeVerificationUriComplete = false;
23
    private int $interval = 5;
24
    private string $userCode;
25
    private string $verificationUri;
26
    private ?DateTimeImmutable $lastPolledAt = null;
27
28 6
    public function getUserCode(): string
29
    {
30 6
        return $this->userCode;
31
    }
32
33 9
    public function setUserCode(string $userCode): void
34
    {
35 9
        $this->userCode = $userCode;
36
    }
37
38 6
    public function getVerificationUri(): string
39
    {
40 6
        return $this->verificationUri;
41
    }
42
43 6
    public function setVerificationUri(string $verificationUri): void
44
    {
45 6
        $this->verificationUri = $verificationUri;
46
    }
47
48 1
    public function getVerificationUriComplete(): string
49
    {
50 1
        return $this->verificationUri . '?user_code=' . $this->userCode;
51
    }
52
53
    abstract public function getClient(): ClientEntityInterface;
54
55
    abstract public function getExpiryDateTime(): DateTimeImmutable;
56
57
    /**
58
     * @return ScopeEntityInterface[]
59
     */
60
    abstract public function getScopes(): array;
61
62
    /**
63
     * @return non-empty-string
0 ignored issues
show
Documentation Bug introduced by
The doc comment non-empty-string at position 0 could not be parsed: Unknown type name 'non-empty-string' at position 0 in non-empty-string.
Loading history...
64
     */
65
    abstract public function getIdentifier(): string;
66
67 2
    public function getLastPolledAt(): ?DateTimeImmutable
68
    {
69 2
        return $this->lastPolledAt;
70
    }
71
72 2
    public function setLastPolledAt(DateTimeImmutable $lastPolledAt): void
73
    {
74 2
        $this->lastPolledAt = $lastPolledAt;
75
    }
76
77 2
    public function getInterval(): int
78
    {
79 2
        return $this->interval;
80
    }
81
82 5
    public function setInterval(int $interval): void
83
    {
84 5
        $this->interval = $interval;
85
    }
86
87 2
    public function getUserApproved(): bool
88
    {
89 2
        return $this->userApproved;
90
    }
91
92 3
    public function setUserApproved(bool $userApproved): void
93
    {
94 3
        $this->userApproved = $userApproved;
95
    }
96
97
    public function getVerificationUriCompleteInAuthResponse(): bool
98
    {
99
        return $this->includeVerificationUriComplete;
100
    }
101
102
    public function setVerificationUriCompleteInAuthResponse(bool $includeVerificationUriComplete): void
103
    {
104
        $this->includeVerificationUriComplete = $includeVerificationUriComplete;
105
    }
106
}
107