Test Setup Failed
Push — main ( abdcb9...2e5f68 )
by Slawomir
04:37
created

DoctrineUserUpdatingRepository   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 19
c 1
b 0
f 0
dl 0
loc 27
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A changePassword() 0 11 1
A renameUser() 0 11 1
1
<?php
2
3
namespace App\Modules\Security\Persistence\Doctrine\Repository;
4
5
use App\Modules\Security\Domain\Dto\ChangeExistingUserPasswordDto;
6
use App\Modules\Security\Domain\Dto\RenameExistingUserDto;
7
use App\Modules\Security\Domain\Repository\UserUpdatingRepositoryInterface;
8
use App\Modules\Security\Persistence\Doctrine\Entity\User;
9
10
class DoctrineUserUpdatingRepository extends DoctrineSecurityRepository implements UserUpdatingRepositoryInterface
11
{
12
13
    public function renameUser(RenameExistingUserDto $renamedUser): void
14
    {
15
        $this->getEntityManager()
16
            ->createQueryBuilder()
17
            ->update(User::class, "u")
18
            ->set("u.email", ":newLogin")
19
            ->where("u.email = :oldLogin")
20
            ->getQuery()
21
            ->setParameter("newLogin", $renamedUser->getNewLogin())
22
            ->setParameter("oldLogin", $renamedUser->getCurrentLogin())
23
            ->execute();
24
    }
25
26
    public function changePassword(ChangeExistingUserPasswordDto $changedPassword): void
27
    {
28
        $this->getEntityManager()
29
            ->createQueryBuilder()
30
            ->update(User::class, "u")
31
            ->set("u.password", ":password")
32
            ->where("u.email = :login")
33
            ->getQuery()
34
            ->setParameter("password", $changedPassword->getPassword())
35
            ->setParameter("login", $changedPassword->getLogin())
36
            ->execute();
37
    }
38
}