StatusesPolicy   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 65
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
lcom 0
cbo 2
dl 0
loc 65
ccs 0
cts 8
cp 0
rs 10
c 1
b 0
f 0

4 Methods

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