package service; import model.Utilisateur; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import repository.UtilisateurRepository; import java.util.List; import java.util.Optional; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @Service public class UtilisateurService { @Autowired private UtilisateurRepository utilisateurRepository; @Autowired private BCryptPasswordEncoder passwordEncoder; public List obtenirTousLesUtilisateurs() { return utilisateurRepository.findAll(); } public Utilisateur obtenirUtilisateurParId(Long id) { Optional utilisateurOptional = utilisateurRepository.findById(id); return utilisateurOptional.orElse(null); } public Utilisateur creerUtilisateur(Utilisateur utilisateur) { String motDePasseCrypte = passwordEncoder.encode(utilisateur.getMotDePasse()); utilisateur.setMotDePasse(motDePasseCrypte); return utilisateurRepository.save(utilisateur); } public Utilisateur mettreAJourUtilisateur(Long id, Utilisateur utilisateur) { if (utilisateurRepository.existsById(id)) { utilisateur.setId(id); return utilisateurRepository.save(utilisateur); } return null; } public void supprimerUtilisateur(Long id) { utilisateurRepository.deleteById(id); } public void setUtilisateurRepository(UtilisateurRepository utilisateurRepository) { this.utilisateurRepository = utilisateurRepository; } public void setPasswordEncoder(BCryptPasswordEncoder passwordEncoder) { this.passwordEncoder = passwordEncoder; } }