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 SignInValidator
//{
//    private UserRepository userRepository;
//
//    @Autowired
//    public SignInValidator(UserRepository userRepository) {
//        this.userRepository = userRepository;
//    }
//
//    public Map<String, List<String>> validate(UserDto dto)
//    {
//        Map<String, List<String>> errors = new HashMap<>();
//        List<String> all= new ArrayList<>();
//        List<String> userName= new ArrayList<>();
//        List<String> firstName= new ArrayList<>();
//        List<String> lastName= new ArrayList<>();
//        List<String> email= new ArrayList<>();
//        List<String> phone= new ArrayList<>();
//
//        if(dto == null) all.add("Veuillez renseigner tous les champs et réessayer");
//        if(!StringUtils.hasLength(dto.getFull_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à!");
//
//        if(!all.isEmpty()) errors.put("all",all);
//        if(!firstName.isEmpty()) errors.put("firstName",firstName);
//        if(!email.isEmpty()) errors.put("email",email);
//
//        return errors;
//    }
//}
