LogViewerPolicy::deletePolicy()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 1
b 0
f 0
cc 1
nc 1
nop 1
crap 2
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
18
    const PERMISSION_DASHBOARD = 'foundation.logviewer.dashboard';
19
    const PERMISSION_LIST      = 'foundation.logviewer.list';
20
    const PERMISSION_SHOW      = 'foundation.logviewer.show';
21
    const PERMISSION_DOWNLOAD  = 'foundation.logviewer.download';
22
    const PERMISSION_DELETE    = 'foundation.logviewer.delete';
23
24
    /* -----------------------------------------------------------------
25
     |  Abilities
26
     | -----------------------------------------------------------------
27
     */
28
29
    /**
30
     * Allow to view the LogViewer dashboard.
31
     *
32
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
33
     *
34
     * @return bool
35
     */
36
    public function dashboardPolicy(User $user)
37
    {
38
        return $user->may(static::PERMISSION_DASHBOARD);
39
    }
40
41
    /**
42
     * Allow to list all the logs.
43
     *
44
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
45
     *
46
     * @return bool
47
     */
48
    public function listPolicy(User $user)
49
    {
50
        return $user->may(static::PERMISSION_LIST);
51
    }
52
53
    /**
54
     * Allow to display a log.
55
     *
56
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
57
     *
58
     * @return bool
59
     */
60
    public function showPolicy(User $user)
61
    {
62
        return $user->may(static::PERMISSION_SHOW);
63
    }
64
65
    /**
66
     * Allow to download a log.
67
     *
68
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
69
     *
70
     * @return bool
71
     */
72
    public function downloadPolicy(User $user)
73
    {
74
        return $user->may(static::PERMISSION_DOWNLOAD);
75
    }
76
77
    /**
78
     * Allow to delete a log.
79
     *
80
     * @param  \Arcanesoft\Contracts\Auth\Models\User  $user
81
     *
82
     * @return bool
83
     */
84
    public function deletePolicy(User $user)
85
    {
86
        return $user->may(static::PERMISSION_DELETE);
87
    }
88
}
89