Completed
Push — master ( 5232bf...0860a2 )
by ARCANEDEV
15:11 queued 11:49
created

LogViewerPolicy   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 76
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 76
ccs 0
cts 10
cp 0
rs 10
wmc 5
lcom 0
cbo 2

5 Methods

Rating   Name   Duplication   Size   Complexity  
A dashboardPolicy() 0 4 1
A listPolicy() 0 4 1
A showPolicy() 0 4 1
A downloadPolicy() 0 4 1
A deletePolicy() 0 4 1
1
<?php namespace Arcanesoft\Foundation\Policies;
2
3
use Arcanesoft\Contracts\Auth\Models\User;
4
5
/**
6
 * Class     LogViewerPolicy
7
 *
8
 * @package  Arcanesoft\Foundation\Policies
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class LogViewerPolicy extends AbstractPolicy
12
{
13
    /* -----------------------------------------------------------------
14
     |  Constants
15
     | -----------------------------------------------------------------
16
     */
17
    const PERMISSION_DASHBOARD = 'foundation.logviewer.dashboard';
18
    const PERMISSION_LIST      = 'foundation.logviewer.list';
19
    const PERMISSION_SHOW      = 'foundation.logviewer.show';
20
    const PERMISSION_DOWNLOAD  = 'foundation.logviewer.download';
21
    const PERMISSION_DELETE    = 'foundation.logviewer.delete';
22
23
    /* -----------------------------------------------------------------
24
     |  Abilities
25
     | -----------------------------------------------------------------
26
     */
27
    /**
28
     * Allow to view the LogViewer dashboard.
29
     *
30
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
31
     *
32
     * @return bool
33
     */
34
    public function dashboardPolicy(User $user)
35
    {
36
        return $user->may(static::PERMISSION_DASHBOARD);
37
    }
38
39
    /**
40
     * Allow to list all the logs.
41
     *
42
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
43
     *
44
     * @return bool
45
     */
46
    public function listPolicy(User $user)
47
    {
48
        return $user->may(static::PERMISSION_LIST);
49
    }
50
51
    /**
52
     * Allow to display a log.
53
     *
54
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
55
     *
56
     * @return bool
57
     */
58
    public function showPolicy(User $user)
59
    {
60
        return $user->may(static::PERMISSION_SHOW);
61
    }
62
63
    /**
64
     * Allow to download a log.
65
     *
66
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
67
     *
68
     * @return bool
69
     */
70
    public function downloadPolicy(User $user)
71
    {
72
        return $user->may(static::PERMISSION_DOWNLOAD);
73
    }
74
75
    /**
76
     * Allow to delete a log.
77
     *
78
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
79
     *
80
     * @return bool
81
     */
82
    public function deletePolicy(User $user)
83
    {
84
        return $user->may(static::PERMISSION_DELETE);
85
    }
86
}
87