From 08271c88cb64f88c2d1b9368e54172d0745b0697 Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Mon, 28 Sep 2020 12:36:37 +0300 Subject: [PATCH] When getting just the email for invitation, find it's user and set it's id to the invited user --- .../main/java/eu/eudat/logic/managers/InvitationsManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/InvitationsManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/InvitationsManager.java index 7781f4e0a..6f0c8ddb8 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/InvitationsManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/InvitationsManager.java @@ -35,6 +35,10 @@ public class InvitationsManager { public void inviteUsers(Invitation invitation, Principal principal) throws Exception { UserInfo principalUser = new UserInfo(); principalUser.setId(principal.getId()); + invitation.getUsers().stream().filter(item -> item.getId() == null).forEach(item -> { + UUID id = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().asQueryable().where((builder, root) -> builder.equal(root.get("email"), item.getEmail())).getSingle().getId(); + item.setId(id); + }); List alreadySignedInUsers = invitation.getUsers().stream().filter(item -> item.getId() != null).collect(Collectors.toList()); List alreadySignedInUsersEntities = alreadySignedInUsers.stream().map(UserInfoInvitationModel::toDataModel).collect(Collectors.toList()); List userInfoToUserDmp = new LinkedList<>();