SessionEntity::setExpirationDatetimeAttribute()   A
last analyzed

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 1
1
<?php
2
3
namespace Sinergi\Users\Eloquent\Session;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Sinergi\Users\Eloquent\User\UserEntity;
7
use Sinergi\Users\Session\SessionEntityInterface;
8
use Sinergi\Users\Session\SessionEntityTrait;
9
use DateTime;
10
11
class SessionEntity extends Model implements SessionEntityInterface
12
{
13
    const CREATED_AT = 'expiration_datetime';
14
15
    use SessionEntityTrait;
16
17
    public $id;
18
    public $user_id;
19
    public $is_long_session = false;
20
    public $expiration_datetime;
21
22
    protected $table = 'sessions';
23
24
    protected $dates = [
25
        'expiration_datetime'
26
    ];
27
28
    protected $casts = [
29
        'id' => 'string',
30
        'user_id' => 'int',
31
        'is_long_session' => 'boolean'
32
    ];
33
34
    public function user()
35
    {
36
        return $this->hasOne(UserEntity::class);
37
    }
38
39
    public function getIdAttribute(): string
40
    {
41
        return $this->getId();
42
    }
43
44
    public function setIdAttribute(string $id)
45
    {
46
        $this->setId($id);
47
    }
48
49
    public function getUser(): UserEntity
50
    {
51
        return $this->user();
52
    }
53
54
    public function setIsLongSessionAttribute(bool $isLongSession)
55
    {
56
        $this->setIsLongSession($isLongSession);
57
    }
58
59
    public function getIsLongSessionAttribute(): bool
60
    {
61
        return $this->isLongSession();
62
    }
63
64
    public function getExpirationDatetimeAttribute(): DateTime
65
    {
66
        return $this->getExpirationDatetime();
67
    }
68
69
    public function setExpirationDatetimeAttribute(DateTime $expirationDatetime)
70
    {
71
        $this->setExpirationDatetime($expirationDatetime);
72
    }
73
}
74