Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit29201c7

Browse files
Merge branch 'dev' into list-comp-sortable
2 parentsd6e4781 +d302efe commit29201c7

File tree

5 files changed

+32
-8
lines changed

5 files changed

+32
-8
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ public class AuthUser {
2525

2626
privateStringorgId;
2727

28+
// Add groupId for group mapping
29+
privateStringgroupId;
30+
2831
privateAuthRequestContextauthContext;
2932

3033
/**

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ protected Map<String, Object> getUserDetailExtra(User user, String orgId) {
418418
returnOptional.ofNullable(user.getOrgTransformedUserInfo())
419419
.map(orgTransformedUserInfo ->orgTransformedUserInfo.get(orgId))
420420
.map(TransformedUserInfo::extra)
421-
.orElse(convertConnections(user.getConnections()));
421+
.orElse(convertConnections(user.getConnections().stream().filter(c ->c.getAuthId().equals(user.getActiveAuthId())).collect(Collectors.toSet())));
422422
}
423423

424424
protectedMono<List<Map<String,String>>>buildUserDetailGroups(StringuserId,OrgMemberorgMember,booleanwithoutDynamicGroups,
@@ -443,7 +443,7 @@ protected Map<String, Object> convertConnections(Set<Connection> connections) {
443443
returnconnections.stream()
444444
.filter(connection -> !AuthSourceConstants.EMAIL.equals(connection.getSource()) &&
445445
!AuthSourceConstants.PHONE.equals(connection.getSource()))
446-
.collect(Collectors.toMap(Connection::getAuthId,Connection::getRawUserInfo));
446+
.collect(Collectors.toMap(Connection::getSource,Connection::getRawUserInfo));
447447
}
448448

449449
protectedStringconvertEmail(Set<Connection>connections) {

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
importorg.lowcoder.domain.authentication.FindAuthConfig;
2424
importorg.lowcoder.domain.authentication.context.AuthRequestContext;
2525
importorg.lowcoder.domain.authentication.context.FormAuthRequestContext;
26+
importorg.lowcoder.domain.group.model.GroupMember;
27+
importorg.lowcoder.domain.group.service.GroupMemberService;
28+
importorg.lowcoder.domain.organization.model.MemberRole;
2629
importorg.lowcoder.domain.organization.model.OrgMember;
2730
importorg.lowcoder.domain.organization.model.Organization;
2831
importorg.lowcoder.domain.organization.model.OrganizationDomain;
@@ -73,6 +76,7 @@ public class AuthenticationApiServiceImpl implements AuthenticationApiService {
7376
privatefinalJWTUtilsjwtUtils;
7477
privatefinalAuthPropertiesauthProperties;
7578
privatefinalCommonConfigcommonConfig;
79+
privatefinalGroupMemberServicegroupMemberService;
7680

7781
@Override
7882
publicMono<AuthUser>authenticateByForm(StringloginId,Stringpassword,Stringsource,booleanregister,StringauthId,StringorgId) {
@@ -143,7 +147,7 @@ public Mono<Void> loginOrRegister(AuthUser authUser, ServerWebExchange exchange,
143147
returnMono.empty();
144148
})
145149
// after login
146-
.delayUntil(user ->onUserLogin(authUser.getOrgId(),user,authUser.getSource()))
150+
.delayUntil(user ->onUserLogin(authUser.getOrgId(),user,authUser.getSource(),authUser.getGroupId()))
147151
// process invite
148152
.delayUntil(__ -> {
149153
if (StringUtils.isBlank(invitationId)) {
@@ -241,7 +245,7 @@ public Mono<Void> onUserRegister(User user, boolean isSuperAdmin) {
241245
returnorganizationService.createDefault(user,isSuperAdmin).then();
242246
}
243247

244-
protectedMono<Void>onUserLogin(StringorgId,Useruser,Stringsource) {
248+
protectedMono<Void>onUserLogin(StringorgId,Useruser,Stringsource,StringgroupId) {
245249
Mono<String>orgMono;
246250
if(commonConfig.getWorkspace().getMode() ==WorkspaceMode.ENTERPRISE) {
247251
orgMono =organizationService.getOrganizationInEnterpriseMode().map(HasIdAndAuditing::getId);
@@ -251,7 +255,14 @@ protected Mono<Void> onUserLogin(String orgId, User user, String source) {
251255
}
252256
orgMono =Mono.just(orgId);
253257
}
254-
returnorgMono.flatMap(orgId2 ->orgApiService.tryAddUserToOrgAndSwitchOrg(orgId2,user.getId())).then();
258+
Mono<GroupMember>groupMember =groupMemberService.getGroupMember(groupId,user.getId()).switchIfEmpty(Mono.defer(() -> {
259+
GroupMembergroupMember1 =GroupMember.builder()
260+
.groupId(groupId)
261+
.userId(user.getId())
262+
.build();
263+
returngroupMemberService.addMember(orgId,groupId,user.getId(),MemberRole.MEMBER).thenReturn(groupMember1);
264+
}));
265+
returnorgMono.flatMap(orgId2 ->orgApiService.tryAddUserToOrgAndSwitchOrg(orgId2,user.getId())).then(groupMember).then();
255266
}
256267

257268
@Override

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/util/AuthenticationUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,14 @@ public static AuthUser mapToAuthUser(Map<String, Object> map, HashMap<String, St
9393
if(StringUtils.isEmpty(username))username =email;
9494
if(StringUtils.isEmpty(username))username =uid;
9595
Stringavatar =AdvancedMapUtils.getString(map,MapUtils.getString(sourceMappings,"avatar"));
96+
// Add group id mapping
97+
StringgroupId =AdvancedMapUtils.getString(map,MapUtils.getString(sourceMappings,"group_id"));
9698
returnAuthUser.builder()
9799
.uid(uid)
98100
.username(username)
99101
.email(email)
100102
.avatar(avatar)
103+
.groupId(groupId)// Make sure AuthUser has this field and builder method
101104
.rawUserInfo(map)
102105
.build();
103106
}

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
importreactor.core.publisher.Flux;
3131
importreactor.core.publisher.Mono;
3232

33+
importjava.util.Comparator;
3334
importjava.util.List;
3435

3536
importstaticorg.lowcoder.api.util.Pagination.fluxToPageResponseView;
@@ -59,15 +60,21 @@ public class OrganizationController implements OrganizationEndpoints
5960
publicMono<PageResponseView<?>>getOrganizationByUser(@PathVariableStringemail,
6061
@RequestParam(required =false,defaultValue ="1")IntegerpageNum,
6162
@RequestParam(required =false,defaultValue ="0")IntegerpageSize) {
62-
Flux<?>flux;
63+
Flux<OrgView>flux;
6364
if (commonConfig.getWorkspace().getMode() ==WorkspaceMode.SAAS) {
6465
flux =userService.findByEmailDeep(email).flux().flatMap(user ->orgMemberService.getAllActiveOrgs(user.getId()))
6566
.flatMap(orgMember ->organizationService.getById(orgMember.getOrgId()))
6667
.map(OrgView::new).cache();
6768
}else {
68-
flux =organizationService.getOrganizationInEnterpriseMode().flux().cache();
69+
flux =organizationService.getOrganizationInEnterpriseMode().flux().map(OrgView::new).cache();
6970
}
70-
returnfluxToPageResponseView(pageNum,pageSize,flux);
71+
varnewflux =flux.sort((OrgViewo1,OrgViewo2) -> {
72+
if (o1.getOrgName() ==null ||o2.getOrgName() ==null) {
73+
return0;
74+
}
75+
returno1.getOrgName().compareTo(o2.getOrgName());
76+
});
77+
returnfluxToPageResponseView(pageNum,pageSize,newflux);
7178
}
7279

7380
@Override

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp