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

InMemoryUserRepository::read()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
ccs 0
cts 3
cp 0
rs 10
cc 1
nc 1
nop 1
crap 2
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