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

HasRoles   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 44
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A isAdmin() 0 3 1
A revokePermissionTo() 0 6 1
A assignRole() 0 6 1
A removeRole() 0 6 1
A givePermissionTo() 0 6 1
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