Passed
Push — develop ( e920eb...9cd2fd )
by BENARD
05:00
created

AbstractRankingProvider::getPlayer()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
namespace VideoGamesRecords\CoreBundle\Ranking\Provider;
4
5
use Doctrine\ORM\EntityManagerInterface;
6
use Doctrine\ORM\Exception\ORMException;
7
use VideoGamesRecords\CoreBundle\Contracts\Ranking\RankingProviderInterface;
8
use VideoGamesRecords\CoreBundle\Entity\Player;
9
use VideoGamesRecords\CoreBundle\Entity\Team;
10
use VideoGamesRecords\CoreBundle\Security\UserProvider;
11
12
abstract class AbstractRankingProvider implements RankingProviderInterface
13
{
14
    protected EntityManagerInterface $em;
15
    protected UserProvider $userProvider;
16
17
    public function __construct(
18
        EntityManagerInterface $em,
19
        UserProvider $userProvider
20
    ) {
21
        $this->em = $em;
22
        $this->userProvider = $userProvider;
23
    }
24
25
    /**
26
     * @throws ORMException
27
     */
28
    protected function getPlayer(): ?Player
29
    {
30
        if ($this->userProvider->getUser()) {
31
            return $this->userProvider->getPlayer();
32
        }
33
        return null;
34
    }
35
36
    /**
37
     * @throws ORMException
38
     */
39
    protected function getTeam(): ?Team
40
    {
41
        if ($this->userProvider->getUser()) {
42
            return $this->userProvider->getTeam();
43
        }
44
        return null;
45
    }
46
}
47