Skip to content

Commit 6233a03

Browse files
Thomasrludomikula
Thomasr
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

+1
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

+4-1
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

+3-1
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

+3-3
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)