Passed
Push — main ( 3fc6af...0545d9 )
by Proyecto
08:13
created

InMemoryGroupRepository   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 11
eloc 12
c 1
b 0
f 0
dl 0
loc 55
ccs 30
cts 30
cp 1
rs 10

11 Methods

Rating   Name   Duplication   Size   Complexity  
A addRoleToGroup() 0 3 1
A addUserToGroup() 0 3 1
A create() 0 3 1
A removeUserFromGroup() 0 3 1
A delete() 0 3 1
A clear() 0 3 1
A update() 0 3 1
A read() 0 3 1
A getUsersFromGroup() 0 3 1
A removeRoleFromGroup() 0 3 1
A getRolesFromGroup() 0 3 1
1
<?php
2
3
namespace ProyectoTAU\TAU\Module\Administration\Group\Infrastructure;
4
5
use ProyectoTAU\TAU\Common\InMemoryRepository;
6
use ProyectoTAU\TAU\Module\Administration\User\Domain\User;
7
use ProyectoTAU\TAU\Module\Administration\Group\Domain\Group;
8
use ProyectoTAU\TAU\Module\Administration\Role\Domain\Role;
9
use ProyectoTAU\TAU\Module\Administration\Group\Domain\GroupRepository;
10
11
class InMemoryGroupRepository implements GroupRepository
12
{
13 22
    public function clear(): void
14
    {
15 22
        InMemoryRepository::getInstance()->clearGroup();
16 22
    }
17
18 22
    public function create(Group $group): void
19
    {
20 22
        InMemoryRepository::getInstance()->createGroup(clone $group);
21 22
    }
22
23 19
    public function read($id): Group
24
    {
25 19
        return InMemoryRepository::getInstance()->readGroup($id);
26
    }
27
28 1
    public function update($id, $name, $desc): void
29
    {
30 1
        InMemoryRepository::getInstance()->updateGroup($id, $name, $desc);
31 1
    }
32
33 1
    public function delete($id): void
34
    {
35 1
        InMemoryRepository::getInstance()->deleteGroup($id);
36 1
    }
37
38 8
    public function addUserToGroup(User $user, Group $group): void
39
    {
40 8
        InMemoryRepository::getInstance()->addUserToGroup($user, $group);
41 8
    }
42
43 1
    public function removeUserFromGroup(User $user, Group $group): void
44
    {
45 1
        InMemoryRepository::getInstance()->removeUserToGroup($user, $group);
46 1
    }
47
48 5
    public function getUsersFromGroup(Group $group): array
49
    {
50 5
        return InMemoryRepository::getInstance()->getUsersFromGroup($group);
51
    }
52
53 3
    public function addRoleToGroup(Role $role, Group $group): void
54
    {
55 3
        InMemoryRepository::getInstance()->addRoleToGroup($role, $group);
56 3
    }
57
58 1
    public function removeRoleFromGroup(Role $role, Group $group): void
59
    {
60 1
        InMemoryRepository::getInstance()->removeRoleToGroup($role, $group);
61 1
    }
62
63 3
    public function getRolesFromGroup(Group $group): array
64
    {
65 3
        return InMemoryRepository::getInstance()->getRolesFromGroup($group);
66
    }
67
}
68