This commit is contained in:
jleroy
2024-04-23 10:54:44 +02:00
parent 39efe3212f
commit b50ba6862a
3 changed files with 26 additions and 5 deletions

View File

@@ -8,6 +8,8 @@ import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
@@ -20,11 +22,13 @@ public class UserRepositoryImpl implements UserRepository {
private final JdbcTemplate jdbcTemplate;
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
private PasswordEncoder passwordEncoder;
@Autowired
public UserRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate) {
public UserRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate, PasswordEncoder passwordEncoder) {
this.jdbcTemplate = jdbcTemplate;
this.namedParameterJdbcTemplate = namedJdbcTemplate;
this.passwordEncoder = passwordEncoder;
}
@Override
@@ -64,6 +68,7 @@ public class UserRepositoryImpl implements UserRepository {
@Override
public void save(UserProfil utilisateur) {
if (utilisateur.getId() == 0) {
//Création utilisateur
String sql = "INSERT INTO UTILISATEURS (pseudo, nom, prenom, email, telephone, rue, code_postal, ville, mot_de_passe, credit, administrateur) VALUES (:pseudo, :nom, :prenom, :email, :telephone, :rue, :code_postal, :ville, :mot_de_passe, 0, false)";
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("pseudo", utilisateur.getPseudo());
@@ -74,8 +79,7 @@ public class UserRepositoryImpl implements UserRepository {
parameters.addValue("rue", utilisateur.getRue());
parameters.addValue("code_postal", utilisateur.getCode_postal());
parameters.addValue("ville", utilisateur.getVille());
parameters.addValue("mot_de_passe", utilisateur.getPassword());
parameters.addValue("mot_de_passe", passwordEncoder.encode(utilisateur.getPassword()));
KeyHolder keyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, parameters, keyHolder, new String[] {"no_utilisateur"});
if (keyHolder.getKey() != null) {