Test Setup Failed
Push — master ( dcfdf2...6863da )
by guillaume
16:18 queued 10:15
created

CheckEmailUniqueness::validateEmailUniqueness()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 9
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 7
nc 2
nop 2
dl 0
loc 9
rs 10
c 1
b 0
f 0
1
<?php
2
3
4
namespace App\Src\UseCases\Domain\Auth\Services;
5
6
7
use App\Src\UseCases\Domain\Ports\UserRepository;
8
9
class CheckEmailUniqueness
10
{
11
    private $userRepository;
12
13
    public function __construct(UserRepository $userRepository)
14
    {
15
        $this->userRepository = $userRepository;
16
    }
17
18
    public function validateEmailUniqueness(string $email, \Illuminate\Contracts\Validation\Validator $validator): void
19
    {
20
        $errors = [];
21
        $user = $this->userRepository->getByEmail($email);
22
        if (isset($user)) {
23
            $errors['email'] = __('validation.unique', ['attribute' => 'email']);
24
            $validator->after(function () use ($validator, $errors) {
25
                foreach ($errors as $field => $error) {
26
                    $validator->errors()->add($field, $error);
27
                }
28
            });
29
        }
30
    }
31
}
32