Completed
Push — master ( 27a431...a568df )
by ARCANEDEV
41:57
created

UsersPolicy::updatePolicy()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 2
1
<?php namespace Arcanesoft\Auth\Policies;
2
use Arcanesoft\Contracts\Auth\Models\User;
3
4
/**
5
 * Class     UsersPolicy
6
 *
7
 * @package  Arcanesoft\Auth\Policies
8
 * @author   ARCANEDEV <[email protected]>
9
 */
10
class UsersPolicy
11
{
12
    /* ------------------------------------------------------------------------------------------------
13
     |  Getters and Setters
14
     | ------------------------------------------------------------------------------------------------
15
     */
16
    /**
17
     * Get the policies.
18
     *
19
     * @return array
20
     */
21 24
    public static function getPolicies()
22
    {
23
        return [
24 24
            'listPolicy'   => 'auth.users.list',
25 18
            'showPolicy'   => 'auth.users.show',
26 18
            'createPolicy' => 'auth.users.create',
27 18
            'updatePolicy' => 'auth.users.update',
28 18
            'deletePolicy' => 'auth.users.delete',
29 18
        ];
30
    }
31
32
    /* ------------------------------------------------------------------------------------------------
33
     |  Policies Functions
34
     | ------------------------------------------------------------------------------------------------
35
     */
36
    /**
37
     * Allow to list all the users.
38
     *
39
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
40
     *
41
     * @return bool
42
     */
43
    public function listPolicy(User $user)
44
    {
45
        return $user->may('auth.users.list');
46
    }
47
48
    /**
49
     * Allow to show a user details.
50
     *
51
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
52
     *
53
     * @return bool
54
     */
55
    public function showPolicy(User $user)
56
    {
57
        return $user->may('auth.users.show');
58
    }
59
60
    /**
61
     * Allow to create a user.
62
     *
63
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
64
     *
65
     * @return bool
66
     */
67
    public function createPolicy(User $user)
68
    {
69
        return $user->may('auth.users.create');
70
    }
71
72
    /**
73
     * Allow to update a user.
74
     *
75
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
76
     *
77
     * @return bool
78
     */
79
    public function updatePolicy(User $user)
80
    {
81
        return $user->may('auth.users.update');
82
    }
83
84
    /**
85
     * Allow to delete a user.
86
     *
87
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
88
     *
89
     * @return bool
90
     */
91
    public function deletePolicy(User $user)
92
    {
93
        return $user->may('auth.users.delete');
94
    }
95
}
96