From 5e4ddbfd25e1eae27234d34d805731f22a6190d9 Mon Sep 17 00:00:00 2001 From: jaroslav380 Date: Thu, 20 Feb 2025 11:58:59 +0100 Subject: [PATCH] add update default password if password changes in secret file issue #10 --- .../output/persistence/repository/AuthRepositoryImpl.java | 7 +++++++ .../repository/mapper/AuthCredentialMapper.java | 4 ++++ .../java/com/gepardec/core/repository/AuthRepository.java | 1 + .../java/com/gepardec/impl/service/AuthServiceImpl.java | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/AuthRepositoryImpl.java b/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/AuthRepositoryImpl.java index c322381f..9c5adbac 100644 --- a/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/AuthRepositoryImpl.java +++ b/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/AuthRepositoryImpl.java @@ -45,4 +45,11 @@ public boolean createDefaultUserIfNotExists(AuthCredential authCredential){ entityManager.persist(authCredentialEntity); return true; } + + @Override + public void updateDefaultUserPassword(AuthCredential authCredential) { + AuthCredentialEntity authCredentialEntity = authCredentialMapper.authCredentialModeltoExistingauthCredentialEntity( + authCredential,entityManager.find(AuthCredentialEntity.class, findByUsername(authCredential.getUsername()).get().getId())); + entityManager.merge(authCredentialEntity); + } } diff --git a/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/mapper/AuthCredentialMapper.java b/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/mapper/AuthCredentialMapper.java index 79736449..a5e30934 100644 --- a/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/mapper/AuthCredentialMapper.java +++ b/gamertrack-db/src/main/java/com/gepardec/adapter/output/persistence/repository/mapper/AuthCredentialMapper.java @@ -14,4 +14,8 @@ public AuthCredential authCredentialEntityToAuthCredentialModel(AuthCredentialEn return new AuthCredential(authCredentialEntity.getId(), authCredentialEntity.getToken(), authCredentialEntity.getUsername(), authCredentialEntity.getPassword(), authCredentialEntity.getSalt()); } + public AuthCredentialEntity authCredentialModeltoExistingauthCredentialEntity(AuthCredential authCredential, AuthCredentialEntity authCredentialEntity) { + authCredentialEntity.setPassword(authCredential.getPassword()); + return authCredentialEntity; + } } diff --git a/gamertrack-domain/src/main/java/com/gepardec/core/repository/AuthRepository.java b/gamertrack-domain/src/main/java/com/gepardec/core/repository/AuthRepository.java index e4a618db..383ecd02 100644 --- a/gamertrack-domain/src/main/java/com/gepardec/core/repository/AuthRepository.java +++ b/gamertrack-domain/src/main/java/com/gepardec/core/repository/AuthRepository.java @@ -8,4 +8,5 @@ public interface AuthRepository { Optional findByUsername(String username); boolean createDefaultUserIfNotExists(AuthCredential authCredential); + void updateDefaultUserPassword(AuthCredential authCredential); } diff --git a/gamertrack-domain/src/main/java/com/gepardec/impl/service/AuthServiceImpl.java b/gamertrack-domain/src/main/java/com/gepardec/impl/service/AuthServiceImpl.java index f0e1a3e9..f3f1c290 100644 --- a/gamertrack-domain/src/main/java/com/gepardec/impl/service/AuthServiceImpl.java +++ b/gamertrack-domain/src/main/java/com/gepardec/impl/service/AuthServiceImpl.java @@ -71,6 +71,10 @@ public boolean createDefaultUserIfNotExists() { } else{ log.info("Default user exists"); + if(!jwtUtil.passwordsMatches(dbAuthCredentialEntity.get().getPassword(), dbAuthCredentialEntity.get().getSalt(),SECRET_DEFAULT_PW)){ + authRepository.updateDefaultUserPassword(credential); + log.info("Default user password was updated!"); + } return false; //user was not created } }