Completed
Pull Request — master (#35)
by
unknown
10:00
created

UserRepository::add()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace SumoCoders\FrameworkMultiUserBundle\User;
4
5
use Doctrine\ORM\EntityRepository;
6
use SumoCoders\FrameworkMultiUserBundle\Security\PasswordResetToken;
7
use SumoCoders\FrameworkMultiUserBundle\User\Interfaces\User as UserInterface;
8
use SumoCoders\FrameworkMultiUserBundle\User\Interfaces\UserRepository as UserRepositoryInterface;
9
10
abstract class UserRepository extends EntityRepository implements UserRepositoryInterface
11
{
12
    /**
13
     * @param UserInterface $user
14
     */
15
    public function add(UserInterface $user)
16
    {
17
        $this->getEntityManager()->persist($user);
18
        $this->getEntityManager()->flush();
19
    }
20
21
    /**
22
     * @param string $username
23
     *
24
     * @return null|UserInterface
25
     */
26
    public function findByUsername($username)
27
    {
28
        return $this->findOneBy(['username' => $username]);
29
    }
30
31
    /**
32
     * @param string $class
33
     *
34
     * @return bool
35
     */
36
    abstract public function supportsClass($class);
37
38
    /**
39
     * @param UserInterface $user
40
     */
41
    public function save(UserInterface $user)
42
    {
43
        $this->getEntityManager()->flush();
44
    }
45
46
    /**
47
     * @param UserInterface $user
48
     */
49
    public function delete(UserInterface $user)
50
    {
51
        $this->getEntityManager()->remove($user);
52
        $this->getEntityManager()->flush();
53
    }
54
55
    /**
56
     * @param PasswordResetToken $token
57
     *
58
     * @return null|UserInterface
59
     */
60
    public function findByPasswordResetToken(PasswordResetToken $token)
61
    {
62
        return $this->findOneBy(['passwordResetToken' => $token->getToken()]);
63
    }
64
}
65