Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6233a03

Browse files
Thomasrludomikula
authored andcommitted
check connections' email deeply to match the email address with all possible connections
1 parent f9aeb42 commit 6233a03

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/AuthUser.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public Connection toAuthConnection() {
4242
.authId(getAuthContext().getAuthConfig().getId())
4343
.source(getSource())
4444
.name(getUsername())
45+
.email(getEmail())
4546
.rawId(getUid())
4647
.avatar(getAvatar())
4748
.orgIds(StringUtils.isBlank(getOrgId()) ? Set.of() : Set.of(getOrgId()))

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/Connection.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public class Connection implements Serializable {
4646

4747
private final String name;
4848

49+
private final String email;
50+
4951
private final String avatar;
5052

5153
private Set<String> orgIds;
@@ -59,12 +61,13 @@ public class Connection implements Serializable {
5961
private Set<String> tokens;
6062

6163
@JsonCreator
62-
private Connection(String authId, String source, String rawId, String name, String avatar, Set<String> orgIds, @Nullable
64+
private Connection(String authId, String source, String rawId, String name, String email, String avatar, Set<String> orgIds, @Nullable
6365
ConnectionAuthToken authConnectionAuthToken, Map<String, Object> rawUserInfo, Set<String> tokens) {
6466
this.authId = authId;
6567
this.source = source;
6668
this.rawId = rawId;
6769
this.name = name;
70+
this.email = email;
6871
this.avatar = avatar;
6972
this.orgIds = CollectionUtils.isEmpty(orgIds) ? new HashSet<>() : orgIds;
7073
this.authConnectionAuthToken = authConnectionAuthToken;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/repository/UserRepository.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,7 @@ public interface UserRepository extends ReactiveMongoRepository<User, String> {
1919
Flux<User> findByConnections_SourceAndConnections_RawIdIn(String source, Collection<String> rawIds);
2020

2121
Mono<User> findByName(String rawUuid);
22-
Mono<User> findByEmail(String rawUuid);
22+
23+
//email1 and email2 should be equal
24+
Mono<User> findByEmailOrConnections_Email(String email1, String email2);
2325
}

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ public Mono<User> findByName(String rawUuid) {
112112
return repository.findByName(rawUuid);
113113
}
114114

115-
public Mono<User> findByEmail(String rawUuid) {
116-
return repository.findByEmail(rawUuid);
115+
public Mono<User> findByEmailDeep(String email) {
116+
return repository.findByEmailOrConnections_Email(email, email);
117117
}
118118

119119
@Override
@@ -155,7 +155,7 @@ public Mono<User> findByAuthUserSourceAndRawId(AuthUser authUser) {
155155

156156
@Override
157157
public Mono<User> findByAuthUserRawId(AuthUser authUser) {
158-
return findByEmail(authUser.getEmail());
158+
return findByEmailDeep(authUser.getEmail());
159159
}
160160

161161
@Override

0 commit comments

Comments
 (0)