UserEntity   A
last analyzed

Complexity

Total Complexity 34

Size/Duplication

Total Lines 224
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 34
c 0
b 0
f 0
lcom 0
cbo 2
dl 0
loc 224
rs 9.2

34 Methods

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