Completed
Push — master ( 22fa00...44c771 )
by ARCANEDEV
07:45
created

RolesPolicy::createPolicy()   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
3
use Arcanesoft\Contracts\Auth\Models\User;
4
5
/**
6
 * Class     RolesPolicy
7
 *
8
 * @package  Arcanesoft\Auth\Policies
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class RolesPolicy extends Policy
12
{
13
    /* ------------------------------------------------------------------------------------------------
14
     |  Constants
15
     | ------------------------------------------------------------------------------------------------
16
     */
17
    const PERMISSION_LIST   = 'auth.roles.list';
18
    const PERMISSION_SHOW   = 'auth.roles.show';
19
    const PERMISSION_CREATE = 'auth.roles.create';
20
    const PERMISSION_UPDATE = 'auth.roles.update';
21
    const PERMISSION_DELETE = 'auth.roles.delete';
22
23
    /* ------------------------------------------------------------------------------------------------
24
     |  Getters and Setters
25
     | ------------------------------------------------------------------------------------------------
26
     */
27
    /**
28
     * Get the policies.
29
     *
30
     * @return array
31
     */
32 12
    public static function getPolicies()
33
    {
34
        return [
35 12
            'listPolicy'   => static::PERMISSION_LIST,
36 12
            'showPolicy'   => static::PERMISSION_SHOW,
37 12
            'createPolicy' => static::PERMISSION_CREATE,
38 12
            'updatePolicy' => static::PERMISSION_UPDATE,
39 12
            'deletePolicy' => static::PERMISSION_DELETE,
40 12
        ];
41
    }
42
43
    /* ------------------------------------------------------------------------------------------------
44
     |  Policies Functions
45
     | ------------------------------------------------------------------------------------------------
46
     */
47
    /**
48
     * Allow to list all the roles.
49
     *
50
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
51
     *
52
     * @return bool
53
     */
54
    public function listPolicy(User $user)
55
    {
56
        return $user->may(static::PERMISSION_LIST);
57
    }
58
59
    /**
60
     * Allow to show a role details.
61
     *
62
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
63
     *
64
     * @return bool
65
     */
66
    public function showPolicy(User $user)
67
    {
68
        return $user->may(static::PERMISSION_SHOW);
69
    }
70
71
    /**
72
     * Allow to create a role.
73
     *
74
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
75
     *
76
     * @return bool
77
     */
78
    public function createPolicy(User $user)
79
    {
80
        return $user->may(static::PERMISSION_CREATE);
81
    }
82
83
    /**
84
     * Allow to update a role.
85
     *
86
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
87
     *
88
     * @return bool
89
     */
90
    public function updatePolicy(User $user)
91
    {
92
        return $user->may(static::PERMISSION_UPDATE);
93
    }
94
95
    /**
96
     * Allow to delete a role.
97
     *
98
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
99
     *
100
     * @return bool
101
     */
102
    public function deletePolicy(User $user)
103
    {
104
        return $user->may(static::PERMISSION_DELETE);
105
    }
106
}
107