Completed
Push — master ( 28b716...7b7eb1 )
by Gabriel
10:21
created

getEmailConfirmationTokenExpirationDatetimeAttribute()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Sinergi\Users\Eloquent\User;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Sinergi\Users\User\UserEntityInterface;
7
use Sinergi\Users\User\UserEntityTrait;
8
use DateTime;
9
10
class UserEntity extends Model implements UserEntityInterface
11
{
12
    const CREATED_AT = 'creation_datetime';
13
    const UPDATED_AT = 'modification_datetime';
14
15
    use UserEntityTrait;
16
17
    public $id;
18
    public $status = UserEntityInterface::STATUS_ACTIVE;
19
    public $isAdmin;
20
    public $email = null;
21
    public $pendingEmail = null;
22
    public $deletedEmail = null;
23
    public $isEmailConfirmed = false;
24
    public $emailConfirmationToken;
25
    public $emailConfirmationTokenExpirationDatetime;
26
    public $lastEmailTokenGeneratedDatetime;
27
    public $password;
28
    public $passwordResetToken;
29
    public $passwordResetTokenExpirationDatetime;
30
    public $lastPasswordResetTokenGeneratedDatetime;
31
    public $creationDatetime;
32
    public $modificationDatetime;
33
34
    protected $table = 'users';
35
36
    protected $dates = [
37
        'email_confirmation_token_expiration_datetime',
38
        'last_email_token_generated_datetime',
39
        'password_reset_token_expiration_datetime',
40
        'last_password_reset_token_generated_datetime',
41
        'creation_datetime',
42
        'modification_datetime',
43
    ];
44
45
    protected $casts = [
46
        'id' => 'int',
47
        'status' => 'string',
48
        'is_admin' => 'boolean',
49
        'email' => 'string',
50
        'pending_email' => 'string',
51
        'is_email_confirmed' => 'boolean',
52
        'email_confirmation_token' => 'string',
53
        'deleted_email' => 'string',
54
        'password' => 'string',
55
        'password_reset_token' => 'string',
56
    ];
57
58
    public function getIdAttribute(): int
59
    {
60
        return $this->getId();
61
    }
62
63
    public function setIdAttribute(int $id)
64
    {
65
        $this->setId($id);
66
    }
67
68
    public function getStatusAttribute(): string
69
    {
70
        return $this->getStatus();
71
    }
72
73
    public function setStatusAttribute(string $status)
74
    {
75
        $this->setStatus($status);
76
    }
77
78
    public function getIsAdminAttribute(): boolean
79
    {
80
        return $this->isAdmin();
81
    }
82
83
    public function setIsAdminAttribute(boolean $isAdmin)
84
    {
85
        $this->setIsAdmin($isAdmin);
86
    }
87
88
    public function getEmailAttribute(): string
89
    {
90
        return $this->getEmail();
91
    }
92
93
    public function setEmailAttribute(string $email)
94
    {
95
        $this->setEmail($email);
96
    }
97
98
    public function getPendingEmailAttribute(): string
99
    {
100
        return $this->getPendingEmail();
101
    }
102
103
    public function setPendingEmailAttribute(string $pendingEmail)
104
    {
105
        $this->setPendingEmail($pendingEmail);
106
    }
107
108
    public function getIsEmailConfirmedAttribute(): boolean
109
    {
110
        return $this->isEmailConfirmed();
111
    }
112
113
    public function setIsEmailConfirmedAttribute(boolean $isEmailConfirmed)
114
    {
115
        $this->setIsEmailConfirmed($isEmailConfirmed);
116
    }
117
118
    public function getEmailConfirmationTokenAttribute(): string
119
    {
120
        return $this->getEmailConfirmationToken();
121
    }
122
123
    public function setEmailConfirmationTokenAttribute(string $emailConfirmationToken)
124
    {
125
        $this->setEmailConfirmationToken($emailConfirmationToken);
126
    }
127
128
    public function getEmailConfirmationTokenExpirationDatetimeAttribute(): DateTime
129
    {
130
        return $this->getEmailConfirmationTokenExpirationDatetime();
131
    }
132
133
    public function setEmailConfirmationTokenExpirationDatetimeAttribute(
134
        DateTime $emailConfirmationTokenExpirationDatetime
135
    ) {
136
        $this->setEmailConfirmationTokenExpirationDatetime($emailConfirmationTokenExpirationDatetime);
137
    }
138
139
    public function getLastEmailTokenGeneratedDatetimeAttribute(): DateTime
140
    {
141
        return $this->getLastEmailTokenGeneratedDatetime();
142
    }
143
144
    public function setLastEmailTokenGeneratedDatetimeAttribute(
145
        DateTime $lastEmailTokenGeneratedDatetime
146
    ) {
147
        $this->setLastEmailTokenGeneratedDatetime($lastEmailTokenGeneratedDatetime);
148
    }
149
150
    public function getDeletedEmailAttribute(): string
151
    {
152
        return $this->getDeletedEmail();
153
    }
154
155
    public function setDeletedEmailAttribute(string $deletedEmail)
156
    {
157
        $this->setDeletedEmail($deletedEmail);
158
    }
159
160
    public function getPasswordAttribute(): string
161
    {
162
        return $this->getPassword();
163
    }
164
165
    public function setPasswordAttribute(string $password)
166
    {
167
        $this->setPassword($password);
168
    }
169
170
    public function getPasswordResetTokenAttribute(): string
171
    {
172
        return $this->getPasswordResetToken();
173
    }
174
175
    public function setPasswordResetTokenAttribute(string $passwordResetToken)
176
    {
177
        $this->setPasswordResetToken($passwordResetToken);
178
    }
179
180
    public function getPasswordResetTokenExpirationDatetimeAttribute(): DateTime
181
    {
182
        return $this->getPasswordResetTokenExpirationDatetime();
183
    }
184
185
    public function setPasswordResetTokenExpirationDatetimeAttribute(
186
        DateTime $passwordResetTokenExpirationDatetime
187
    ) {
188
        $this->setPasswordResetTokenExpirationDatetime($passwordResetTokenExpirationDatetime);
189
    }
190
191
    public function getLastPasswordResetTokenGeneratedDatetimeAttribute(): DateTime
192
    {
193
        return $this->getLastPasswordResetTokenGeneratedDatetime();
194
    }
195
196
    public function setLastPasswordResetTokenGeneratedDatetimeAttribute(
197
        DateTime $lastPasswordResetTokenGeneratedDatetime
198
    ) {
199
        $this->setLastPasswordResetTokenGeneratedDatetime($lastPasswordResetTokenGeneratedDatetime);
200
    }
201
202
    public function getCreationDatetimeAttribute(): DateTime
203
    {
204
        return $this->getCreationDatetime();
205
    }
206
207
    public function setCreationDatetimeAttribute(DateTime $creationDatetime)
208
    {
209
        $this->setCreationDatetime($creationDatetime);
210
    }
211
212
    public function getModificationDatetimeAttribute(): DateTime
213
    {
214
        return $this->getModificationDatetime();
215
    }
216
217
    public function setModificationDatetimeAttribute(DateTime $modificationDatetime)
218
    {
219
        $this->setModificationDatetime($modificationDatetime);
220
    }
221
}
222