Completed
Push — master ( edfa6c...f5c0b2 )
by Boris
14:29
created

RefreshToken   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 4
Bugs 0 Features 2
Metric Value
wmc 7
c 4
b 0
f 2
lcom 1
cbo 0
dl 0
loc 47
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 9 1
A getToken() 0 4 1
A getAssociatedAccessToken() 0 4 1
A getExpiresAt() 0 4 1
A revoke() 0 4 1
A getRevokedAt() 0 4 1
A isRevoked() 0 4 1
1
<?php
2
3
namespace Bgy\OAuth2;
4
5
/**
6
 * @author Boris Guéry <[email protected]>
7
 */
8
class RefreshToken
9
{
10
    private $token;
11
    private $associatedAccessToken;
12
    private $expiresAt;
13
    private $revokedAt;
14
15
    public function __construct($token, AccessToken $associatedAccessToken,
16
                                \DateTimeImmutable $expiresAt,
17
                                \DateTimeImmutable $revokedAt = null)
18
    {
19
        $this->token                 = $token;
20
        $this->associatedAccessToken = $associatedAccessToken;
21
        $this->expiresAt             = $expiresAt;
22
        $this->revokedAt             = $revokedAt;
23
    }
24
25
    public function getToken()
26
    {
27
        return $this->token;
28
    }
29
30
    public function getAssociatedAccessToken()
31
    {
32
        return $this->associatedAccessToken;
33
    }
34
35
    public function getExpiresAt()
36
    {
37
        return $this->expiresAt;
38
    }
39
40
    public function revoke()
41
    {
42
        $this->revokedAt = new \DateTimeImmutable('now', new \DateTimeZone('UTC'));
43
    }
44
45
    public function getRevokedAt()
46
    {
47
        return $this->revokedAt;
48
    }
49
50
    public function isRevoked()
51
    {
52
        return (null !== $this->revokedAt);
53
    }
54
}
55