Allow to invite others with just the email even if they don't have an

user
This commit is contained in:
George Kalampokis 2020-09-29 12:41:47 +03:00
parent 9c3b87535e
commit b3be89fb88
1 changed files with 4 additions and 2 deletions

View File

@ -36,8 +36,10 @@ public class InvitationsManager {
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);
UserInfo existingUser = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().asQueryable().where((builder, root) -> builder.equal(root.get("email"), item.getEmail())).getSingleOrDefault();
if (existingUser != null) {
item.setId(existingUser.getId());
}
});
List<UserInfoInvitationModel> alreadySignedInUsers = invitation.getUsers().stream().filter(item -> item.getId() != null).collect(Collectors.toList());
List<UserInfo> alreadySignedInUsersEntities = alreadySignedInUsers.stream().map(UserInfoInvitationModel::toDataModel).collect(Collectors.toList());