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

RefreshToken::revoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
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