<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package org.egl_cepgl.pm.validator;

import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.egl_cepgl.pm.dto.UserDto;
import org.egl_cepgl.pm.repository.UserRepository;
import org.egl_cepgl.pm.validator.functions.Validation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@NoArgsConstructor
@Slf4j
public class UserValidator
{
    private UserRepository userRepository;

    @Autowired
    public UserValidator(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public Map&lt;String, List&lt;String&gt;&gt; validate(UserDto dto)
    {
        Map&lt;String, List&lt;String&gt;&gt; errors = new HashMap&lt;&gt;();
        List&lt;String&gt; all= new ArrayList&lt;&gt;();
        List&lt;String&gt; userName= new ArrayList&lt;&gt;();
        List&lt;String&gt; firstName= new ArrayList&lt;&gt;();
        List&lt;String&gt; lastName= new ArrayList&lt;&gt;();
        List&lt;String&gt; email= new ArrayList&lt;&gt;();
        List&lt;String&gt; phone= new ArrayList&lt;&gt;();

        if(dto == null) all.add("Veuillez renseigner tous les champs et rÃ©essayer");
        if(!StringUtils.hasLength(dto.getFirst_name())) firstName.add("Veuillez renseigner le nom!");
        if(!Validation.isEmailValid(dto.getEmail())) email.add("Email invalide!");
        if(userRepository.existsByEmail(dto.getEmail())) email.add("Email existe dÃ©jÃ&nbsp;!");

        if(!all.isEmpty()) errors.put("all",all);
        if(!firstName.isEmpty()) errors.put("firstName",firstName);
        if(!email.isEmpty()) errors.put("email",email);

        return errors;
    }
}
</pre></body></html>