Passed
Push — master ( 1dc943...5f0a93 )
by Arthur
08:24 queued 35s
created

HasRoles::revokePermissionTo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: anthony
5
 * Date: 22-10-18
6
 * Time: 19:34.
7
 */
8
9
namespace Modules\Authorization\Traits;
10
11
use Modules\Authorization\Entities\Role;
12
13
trait HasRoles
14
{
15
    use \Maklad\Permission\Traits\HasRoles {
16
        \Maklad\Permission\Traits\HasRoles::assignRole as assignRoleParent;
17
        \Maklad\Permission\Traits\HasRoles::removeRole as removeRoleParent;
18
        \Maklad\Permission\Traits\HasRoles::givePermissionTo as givePermissionParent;
19
        \Maklad\Permission\Traits\HasRoles::revokePermissionTo as revokePermissionParent;
20
    }
21
22
    public function assignRole(...$roles)
23
    {
24
        $roles = $this->assignRoleParent($roles);
25
        unset($this->roles);
26
27
        return $roles;
28
    }
29
30
    public function removeRole(...$roles)
31
    {
32
        $roles = $this->removeRoleParent($roles);
33
        unset($this->roles);
34
35
        return $roles;
36
    }
37
38
    public function givePermissionTo(...$permissions)
39
    {
40
        $permissions = $this->givePermissionParent($permissions);
41
        unset($this->permissions);
42
43
        return $permissions;
44
    }
45
46
    public function revokePermissionTo(...$permissions)
47
    {
48
        $permissions = $this->revokePermissionParent($permissions);
49
        unset($this->permissions);
50
51
        return $permissions;
52
    }
53
54
    public function isAdmin() :bool
55
    {
56
        return $this->hasRole(Role::ADMIN);
57
    }
58
}
59