From 03da1f3f7bc4cc4d1ce31d73a2486350eeb918ec Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Thu, 29 Oct 2020 12:08:09 +0200 Subject: [PATCH] When merging users delete the remaining credentials of the user to be merged --- .../eudat/logic/managers/MergeEmailConfirmationManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MergeEmailConfirmationManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MergeEmailConfirmationManager.java index 9b67a9ff8..562880542 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MergeEmailConfirmationManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/MergeEmailConfirmationManager.java @@ -91,6 +91,12 @@ public class MergeEmailConfirmationManager { }); oldUser.setUserStatus((short)1); oldUser.setEmail(null); + List credentials = databaseRepository.getCredentialDao().asQueryable().where((builder, root) -> builder.equal(root.get("userInfo"), oldUser)).toList(); + credentials.forEach(cred -> { + if (cred.getId() != credential.getId()) { + databaseRepository.getCredentialDao().delete(cred); + } + }); databaseRepository.getUserInfoDao().createOrUpdate(oldUser); }