Test Setup Failed
Branch master (cd85d0)
by Valery
09:54
created

UserService::setRoles()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Service\Admin;
6
7
use App\Entity\User;
8
use App\Service\AbstractService;
9
use App\Transformer\UserTransformer;
10
use Doctrine\ORM\EntityManagerInterface;
11
use Symfony\Component\HttpFoundation\RequestStack;
12
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
13
14
final class UserService extends AbstractService
15
{
16
    /**
17
     * @var EntityManagerInterface
18
     */
19
    private $em;
20
21
    private $transformer;
22
23
    public function __construct(
24
        CsrfTokenManagerInterface $tokenManager,
25
        RequestStack $requestStack,
26
        EntityManagerInterface $entityManager,
27
        UserTransformer $transformer
28
    ) {
29
        parent::__construct($tokenManager, $requestStack);
30
        $this->em = $entityManager;
31
        $this->transformer = $transformer;
32
    }
33
34
    public function create(User $user): void
35
    {
36
        $user = $this->transformer->transform($user);
37
        $this->save($user);
38
        $this->clearCache('users_count');
39
        $this->addFlash('success', 'message.created');
40
    }
41
42
    public function update(User $user): void
43
    {
44
        $user = $this->transformer->transform($user);
45
        $this->save($user);
46
        $this->addFlash('success', 'message.updated');
47
    }
48
49
    public function remove(User $user): void
50
    {
51
        $this->em->remove($user);
52
        $this->em->flush();
53
        $this->clearCache('users_count');
54
        $this->addFlash('success', 'message.deleted');
55
    }
56
57
    private function save(User $user): void
58
    {
59
        $this->em->persist($user);
60
        $this->em->flush();
61
    }
62
}
63