From 4c60b2bb06d7eb7f86c4f29c3a0a3502b2cfa4d5 Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Tue, 27 Oct 2020 18:08:16 +0200 Subject: [PATCH] When creating a new credential assign the user's email --- .../eu/eudat/logic/builders/entity/CredentialBuilder.java | 8 ++++++++ .../authentication/AbstractAuthenticationService.java | 2 ++ .../eudat/models/data/userinfo/UserMergeRequestModel.java | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/builders/entity/CredentialBuilder.java b/dmp-backend/web/src/main/java/eu/eudat/logic/builders/entity/CredentialBuilder.java index a072d7f63..14cbf0822 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/builders/entity/CredentialBuilder.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/builders/entity/CredentialBuilder.java @@ -30,6 +30,8 @@ public class CredentialBuilder extends Builder { private String externalId; + private String email; + public CredentialBuilder id(UUID id) { this.id = id; return this; @@ -75,6 +77,11 @@ public class CredentialBuilder extends Builder { return this; } + public CredentialBuilder email(String email) { + this.email = email; + return this; + } + public Credential build() { Credential credential = new Credential(); credential.setStatus(status); @@ -86,6 +93,7 @@ public class CredentialBuilder extends Builder { credential.setUserInfo(userInfo); credential.setId(id); credential.setExternalId(externalId); + credential.setEmail(email); return credential; } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/services/operations/authentication/AbstractAuthenticationService.java b/dmp-backend/web/src/main/java/eu/eudat/logic/services/operations/authentication/AbstractAuthenticationService.java index 5d2ac907a..8d38301b7 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/services/operations/authentication/AbstractAuthenticationService.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/services/operations/authentication/AbstractAuthenticationService.java @@ -135,6 +135,7 @@ public abstract class AbstractAuthenticationService implements AuthenticationSer .provider(profile.getProvider().getValue()) .secret(profile.getSecret()) .externalId(profile.getId()) + .email(profile.getEmail()) .build(); if (userInfo == null) { @@ -188,6 +189,7 @@ public abstract class AbstractAuthenticationService implements AuthenticationSer credential.setUserInfo(userInfo); credential.setId(UUID.randomUUID()); credential.setPublicValue(userInfo.getName()); + credential.setEmail(userInfo.getEmail()); apiContext.getOperationsContext().getDatabaseRepository().getCredentialDao().createOrUpdate(credential); userInfo.getCredentials().add(credential); } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserMergeRequestModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserMergeRequestModel.java index dab3bab4e..5a60b5b2b 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserMergeRequestModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserMergeRequestModel.java @@ -5,6 +5,7 @@ import java.util.UUID; public class UserMergeRequestModel { private UUID userId; private String email; + private Integer provider; public UUID getUserId() { return userId; } @@ -18,4 +19,11 @@ public class UserMergeRequestModel { this.email = email; } + public Integer getProvider() { + return provider; + } + + public void setProvider(Integer provider) { + this.provider = provider; + } }