Passed
Push — main ( 0545d9...29d231 )
by Proyecto
03:14
created

InMemoryUserRepository   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
eloc 9
c 1
b 0
f 0
dl 0
loc 40
ccs 0
cts 31
cp 0
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A addGroupToUser() 0 3 1
A removeGroupFromUser() 0 3 1
A clear() 0 3 1
A getGroupsFromUser() 0 3 1
A read() 0 3 1
A update() 0 3 1
A create() 0 3 1
A delete() 0 3 1
1
<?php
2
3
namespace ProyectoTAU\TAU\Module\Administration\User\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\User\Domain\UserRepository;
9
10
class InMemoryUserRepository implements UserRepository
11
{
12
    public function clear(): void
13
    {
14
        InMemoryRepository::getInstance()->clearUser();
15
    }
16
17
    public function create(User $user): void
18
    {
19
        InMemoryRepository::getInstance()->createUser(clone $user);
20
    }
21
22
    public function read($id): User
23
    {
24
        return InMemoryRepository::getInstance()->readUser($id);
25
    }
26
27
    public function update($id, $name, $surname, $login): void
28
    {
29
        InMemoryRepository::getInstance()->updateUser($id, $name, $surname, $login);
30
    }
31
32
    public function delete($id): void
33
    {
34
        InMemoryRepository::getInstance()->deleteUser($id);
35
    }
36
37
    public function addGroupToUser(Group $group, User $user): void
38
    {
39
        InMemoryRepository::getInstance()->addGroupToUser($group, $user);
40
    }
41
42
    public function removeGroupFromUser(Group $group, User $user): void
43
    {
44
        InMemoryRepository::getInstance()->removeGroupFromUser($group, $user);
45
    }
46
47
    public function getGroupsFromUser(User $user): array
48
    {
49
        return InMemoryRepository::getInstance()->getGroupsFromUser($user);
50
    }
51
}
52