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

PermissionsPolicy::showPolicy()   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     PermissionsPolicy
7
 *
8
 * @package  Arcanesoft\Auth\Policies
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class PermissionsPolicy extends Policy
12
{
13
    /* ------------------------------------------------------------------------------------------------
14
     |  Constants
15
     | ------------------------------------------------------------------------------------------------
16
     */
17
    const PERMISSION_LIST   = 'auth.permissions.list';
18
    const PERMISSION_SHOW   = 'auth.permissions.show';
19
    const PERMISSION_UPDATE = 'auth.permissions.update';
20
21
    /* ------------------------------------------------------------------------------------------------
22
     |  Getters and Setters
23
     | ------------------------------------------------------------------------------------------------
24
     */
25
    /**
26
     * Get the policies.
27
     *
28
     * @return array
29
     */
30 12
    public static function getPolicies()
31
    {
32
        return [
33 12
            'listPolicy'   => static::PERMISSION_LIST,
34 12
            'showPolicy'   => static::PERMISSION_SHOW,
35 12
            'updatePolicy' => static::PERMISSION_UPDATE,
36 12
        ];
37
    }
38
39
    /* ------------------------------------------------------------------------------------------------
40
     |  Policies Functions
41
     | ------------------------------------------------------------------------------------------------
42
     */
43
    /**
44
     * Allow to list all the roles.
45
     *
46
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
47
     *
48
     * @return bool
49
     */
50
    public function listPolicy(User $user)
51
    {
52
        return $user->may(static::PERMISSION_LIST);
53
    }
54
55
    /**
56
     * Allow to show a role details.
57
     *
58
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
59
     *
60
     * @return bool
61
     */
62
    public function showPolicy(User $user)
63
    {
64
        return $user->may(static::PERMISSION_SHOW);
65
    }
66
67
    /**
68
     * Allow to update a role.
69
     *
70
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
71
     *
72
     * @return bool
73
     */
74
    public function updatePolicy(User $user)
75
    {
76
        return $user->may(static::PERMISSION_UPDATE);
77
    }
78
}
79