Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
UserRepository
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 4
20
0.00% covered (danger)
0.00%
0 / 1
 findUserFuzzilyByUsername
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 findUserFuzzilyByOldUsername
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 findUserFuzzilyByName
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 getUsersWithLogin
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Olz\Repository\Users;
4
5use Olz\Entity\Users\User;
6use Olz\Repository\Common\OlzRepository;
7
8/**
9 * @extends OlzRepository<User>
10 */
11class UserRepository extends OlzRepository {
12    protected string $entityClass = User::class;
13
14    public function findUserFuzzilyByUsername(string $username): ?User {
15        $dql = "SELECT u FROM {$this->entityClass} u WHERE u.username LIKE ?1";
16        $query = $this->getEntityManager()->createQuery($dql)->setParameter(1, $username);
17        return $query->getOneOrNullResult();
18    }
19
20    public function findUserFuzzilyByOldUsername(string $old_username): ?User {
21        $dql = "SELECT u FROM {$this->entityClass} u WHERE u.old_username LIKE ?1";
22        $query = $this->getEntityManager()->createQuery($dql)->setParameter(1, $old_username);
23        return $query->getOneOrNullResult();
24    }
25
26    public function findUserFuzzilyByName(string $first_name, string $last_name): ?User {
27        $dql = "SELECT u FROM {$this->entityClass} u WHERE u.first_name LIKE ?1 AND u.last_name LIKE ?2";
28        $query = $this->getEntityManager()->createQuery($dql)->setParameter(1, $first_name)->setParameter(2, $last_name)->setMaxResults(1);
29        return $query->getOneOrNullResult();
30    }
31
32    /** @return array<User> */
33    public function getUsersWithLogin(): array {
34        $dql = <<<ZZZZZZZZZZ
35            SELECT u
36            FROM {$this->entityClass} u
37            WHERE
38                u.email != ''
39                AND
40                u.email IS NOT NULL
41                AND
42                u.password != ''
43                AND
44                u.password IS NOT NULL
45            ZZZZZZZZZZ;
46
47        $query = $this->getEntityManager()->createQuery($dql);
48        return $query->getResult();
49    }
50}