Completed
Pull Request — master (#10)
by ARCANEDEV
06:09
created

BackupPolicy   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 65
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 65
ccs 0
cts 8
cp 0
rs 10
wmc 4
lcom 0
cbo 2

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