Completed
Push — master ( e0683b...eed8e4 )
by ARCANEDEV
09:48 queued 08:04
created

UserObserver::restored()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
ccs 3
cts 3
cp 1
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php namespace Arcanedev\LaravelAuth\Models\Observers;
2
3
use Arcanedev\LaravelAuth\Bases\ModelObserver;
4
use Arcanedev\LaravelAuth\Services\UserConfirmator;
5
use Arcanesoft\Contracts\Auth\Models\User;
6
7
/**
8
 * Class     UserObserver
9
 *
10
 * @package  Arcanedev\LaravelAuth\Observers
11
 * @author   ARCANEDEV <[email protected]>
12
 */
13
class UserObserver extends ModelObserver
14
{
15
    /* ------------------------------------------------------------------------------------------------
16
     |  Model Events
17
     | ------------------------------------------------------------------------------------------------
18
     */
19
    /**
20
     * Eloquent 'creating' event method.
21
     *
22
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
23
     */
24 198
    public function creating(User $user)
25
    {
26 198
        if (UserConfirmator::isEnabled()) {
27 198
            $user->confirmation_code = UserConfirmator::generateCode();
0 ignored issues
show
Bug introduced by
Accessing confirmation_code on the interface Arcanesoft\Contracts\Auth\Models\User suggest that you code against a concrete implementation. How about adding an instanceof check?

If you access a property on an interface, you most likely code against a concrete implementation of the interface.

Available Fixes

  1. Adding an additional type check:

    interface SomeInterface { }
    class SomeClass implements SomeInterface {
        public $a;
    }
    
    function someFunction(SomeInterface $object) {
        if ($object instanceof SomeClass) {
            $a = $object->a;
        }
    }
    
  2. Changing the type hint:

    interface SomeInterface { }
    class SomeClass implements SomeInterface {
        public $a;
    }
    
    function someFunction(SomeClass $object) {
        $a = $object->a;
    }
    
Loading history...
28 66
        }
29
30 198
        $this->event->fire('auth.users.creating', compact('user'));
31 198
    }
32
33
    /**
34
     * Eloquent 'created' event method.
35
     *
36
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
37
     */
38 198
    public function created(User $user)
39
    {
40 198
        $this->event->fire('auth.users.created', compact('user'));
41 198
    }
42
43
    /**
44
     * Eloquent 'updating' event method.
45
     *
46
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
47
     */
48 45
    public function updating(User $user)
49
    {
50 45
        $this->event->fire('auth.users.updating', compact('user'));
51 45
    }
52
53
    /**
54
     * Eloquent 'updated' event method.
55
     *
56
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
57
     */
58 45
    public function updated(User $user)
59
    {
60 45
        $this->event->fire('auth.users.updated', compact('user'));
61 45
    }
62
63
    /**
64
     * Eloquent 'saving' event method.
65
     *
66
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
67
     */
68 198
    public function saving(User $user)
69
    {
70 198
        $this->event->fire('auth.users.saving', compact('user'));
71 198
    }
72
73
    /**
74
     * Eloquent 'saved' event method.
75
     *
76
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
77
     */
78 198
    public function saved(User $user)
79
    {
80 198
        $this->event->fire('auth.users.saved', compact('user'));
81 198
    }
82
83
    /**
84
     * Eloquent 'deleting' event method.
85
     *
86
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
87
     *
88
     * @return bool
89
     */
90 27
    public function deleting(User $user)
91
    {
92 27
        if ($user->isAdmin()) return false;
93
94 18
        if ($user->isForceDeleting()) {
95 9
            $user->roles()->detach();
96 3
        }
97
98 18
        $this->event->fire('auth.users.deleting', compact('user'));
99
100 18
        return true;
101
    }
102
103
    /**
104
     * Eloquent 'deleted' event method.
105
     *
106
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
107
     */
108 18
    public function deleted(User $user)
109
    {
110 18
        $this->event->fire('auth.users.deleted', compact('user'));
111 18
    }
112
113
    /**
114
     * Eloquent 'restoring' event method.
115
     *
116
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
117
     */
118 9
    public function restoring(User $user)
119
    {
120 9
        $this->event->fire('auth.users.restoring', compact('user'));
121 9
    }
122
123
    /**
124
     * Eloquent 'restored' event method.
125
     *
126
     * @param  \Arcanedev\LaravelAuth\Models\User|User  $user
127
     */
128 9
    public function restored(User $user)
129
    {
130 9
        $this->event->fire('auth.users.restored', compact('user'));
131 9
    }
132
}
133