From f285ecad44faeee27c9c81602b68b7b8503526a2 Mon Sep 17 00:00:00 2001 From: Thomasr Date: Thu, 10 Apr 2025 14:25:51 -0400 Subject: [PATCH 1/3] Show only active connections on extra field of currentUser endpoint --- .../java/org/lowcoder/domain/user/service/UserServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java index 5e2f4fbb0..b7d483fed 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java @@ -418,7 +418,7 @@ protected Map getUserDetailExtra(User user, String orgId) { return Optional.ofNullable(user.getOrgTransformedUserInfo()) .map(orgTransformedUserInfo -> orgTransformedUserInfo.get(orgId)) .map(TransformedUserInfo::extra) - .orElse(convertConnections(user.getConnections())); + .orElse(convertConnections(user.getConnections().stream().filter(c -> c.getAuthId().equals(user.getActiveAuthId())).collect(Collectors.toSet()))); } protected Mono>> buildUserDetailGroups(String userId, OrgMember orgMember, boolean withoutDynamicGroups, From 13d1bed9b98cb3672d1bad7710fbfbe55355ab81 Mon Sep 17 00:00:00 2001 From: Thomasr Date: Mon, 14 Apr 2025 14:56:11 -0400 Subject: [PATCH 2/3] change the key name to the source of provider --- .../java/org/lowcoder/domain/user/service/UserServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java index b7d483fed..8da89a847 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java @@ -443,7 +443,7 @@ protected Map convertConnections(Set connections) { return connections.stream() .filter(connection -> !AuthSourceConstants.EMAIL.equals(connection.getSource()) && !AuthSourceConstants.PHONE.equals(connection.getSource())) - .collect(Collectors.toMap(Connection::getAuthId, Connection::getRawUserInfo)); + .collect(Collectors.toMap(Connection::getSource, Connection::getRawUserInfo)); } protected String convertEmail(Set connections) { From 5241291907174659ef6fc90eeff4b7a6333900ea Mon Sep 17 00:00:00 2001 From: Thomasr Date: Mon, 14 Apr 2025 15:30:30 -0400 Subject: [PATCH 3/3] Sort organization in login screen --- .../api/usermanagement/OrganizationController.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java index c1d83af59..6a8bb62ea 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java @@ -30,6 +30,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.util.Comparator; import java.util.List; import static org.lowcoder.api.util.Pagination.fluxToPageResponseView; @@ -59,15 +60,21 @@ public class OrganizationController implements OrganizationEndpoints public Mono> getOrganizationByUser(@PathVariable String email, @RequestParam(required = false, defaultValue = "1") Integer pageNum, @RequestParam(required = false, defaultValue = "0") Integer pageSize) { - Flux flux; + Flux flux; if (commonConfig.getWorkspace().getMode() == WorkspaceMode.SAAS) { flux = userService.findByEmailDeep(email).flux().flatMap(user -> orgMemberService.getAllActiveOrgs(user.getId())) .flatMap(orgMember -> organizationService.getById(orgMember.getOrgId())) .map(OrgView::new).cache(); } else { - flux = organizationService.getOrganizationInEnterpriseMode().flux().cache(); + flux = organizationService.getOrganizationInEnterpriseMode().flux().map(OrgView::new).cache(); } - return fluxToPageResponseView(pageNum, pageSize, flux); + var newflux = flux.sort((OrgView o1, OrgView o2) -> { + if (o1.getOrgName() == null || o2.getOrgName() == null) { + return 0; + } + return o1.getOrgName().compareTo(o2.getOrgName()); + }); + return fluxToPageResponseView(pageNum, pageSize, newflux); } @Override