Completed
Push — master ( 5139b6...b16139 )
by Sebastian
02:13
created

Role::isUserInRole()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 5
cts 5
cp 1
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 5
nc 3
nop 1
crap 3
1
<?php
2
3
/**
4
 * Linna Framework.
5
 *
6
 * @author Sebastian Rapetti <[email protected]>
7
 * @copyright (c) 2017, Sebastian Rapetti
8
 * @license http://opensource.org/licenses/MIT MIT License
9
 */
10
declare(strict_types=1);
11
12
namespace Linna\Authorization;
13
14
use Linna\DataMapper\DomainObjectAbstract;
15
16
/**
17
 * Role.
18
 */
19
class Role extends DomainObjectAbstract
20
{
21
    use PermissionTrait;
22
23
    /**
24
     * @var string Group name
25
     */
26
    public $name;
27
28
    /**
29
     * @var string Group description
30
     */
31
    public $description;
32
33
    /**
34
     * @var int It say if group is active or not
35
     */
36
    public $active = 0;
37
38
    /**
39
     * @var array Contain users in group
40
     */
41
    private $users;
42
43
    /**
44
     * @var string Last update
45
     */
46
    public $lastUpdate;
47
48
    /**
49
     * Constructor.
50
     */
51 5
    public function __construct()
52
    {
53
        //set required type
54 5
        settype($this->objectId, 'integer');
55 5
        settype($this->active, 'integer');
56 5
    }
57
58
    /**
59
     * Set users in role.
60
     *
61
     * @param array $users
62
     */
63 2
    public function setUsers(array $users)
64
    {
65 2
        $this->users = $users;
66 2
    }
67
68
    /**
69
     * Get users in role.
70
     *
71
     * @return array
72
     */
73 1
    public function getUsers() : array
74
    {
75 1
        return $this->users;
76
    }
77
78
    /**
79
     * Check if an user is in role.
80
     *
81
     * @param string $user
82
     *
83
     * @return bool
84
     */
85 1
    public function isUserInRole(string $user) : bool
86
    {
87 1
        foreach ($this->users as $ownUser) {
88 1
            if ($ownUser->name === $user) {
89 1
                return true;
90
            }
91
        }
92
93 1
        return false;
94
    }
95
}
96