-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOnetimeTokenTrait.php
More file actions
124 lines (97 loc) · 2.17 KB
/
Copy pathOnetimeTokenTrait.php
File metadata and controls
124 lines (97 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
declare(strict_types=1);
namespace ADT\FancyAdmin\Model\Entities;
use ADT\FancyAdmin\Model\Entities\Traits\CreatedAt;
use ADT\FancyAdmin\Model\Entities\Traits\UpdatedAt;
use DateTimeImmutable;
use Doctrine\ORM\Mapping\Column;
trait OnetimeTokenTrait
{
use CreatedAt;
use UpdatedAt;
#[Column(nullable: false)]
protected string $token;
#[Column(nullable: false)]
protected string $type;
#[Column(nullable: true)]
protected ?int $objectId = null;
#[Column(nullable: true)]
protected ?string $objectClass = null;
#[Column(nullable: true)]
protected ?DateTimeImmutable $usedAt = null;
#[Column(nullable: false)]
protected DateTimeImmutable $validUntil;
#[Column(nullable: false)]
protected string $ipAddress;
public function getToken(): string
{
return $this->token;
}
public function setToken(string $token): static
{
$this->token = $token;
return $this;
}
public function getUsedAt(): ?DateTimeImmutable
{
return $this->usedAt;
}
public function setUsedAt(?DateTimeImmutable $usedAt): static
{
$this->usedAt = $usedAt;
return $this;
}
public function setValidUntil(DateTimeImmutable $validUntil): static
{
$this->validUntil = $validUntil;
return $this;
}
public function getValidUntil(): DateTimeImmutable
{
return $this->validUntil;
}
public function isValid(): bool
{
// Omezujeme jenom validitu u password Recovery
if ($this->validUntil < (new DateTimeImmutable('now'))) {
return false;
}
return true;
}
public function getType(): string
{
return $this->type;
}
public function setType(string $type): static
{
$this->type = $type;
return $this;
}
public function getObjectId(): ?int
{
return $this->objectId;
}
public function setObjectId(?int $objectId): static
{
$this->objectId = $objectId;
return $this;
}
public function getIpAddress(): string
{
return $this->ipAddress;
}
public function setIpAddress(string $ipAddress): static
{
$this->ipAddress = $ipAddress;
return $this;
}
public function getObjectClass(): ?string
{
return $this->objectClass;
}
public function setObjectClass(?string $objectClass): static
{
$this->objectClass = $objectClass;
return $this;
}
}