Skip to content

Commit abe80fe

Browse files
authored
Merge pull request #1647 from lowcoder-org/fix_org_by_email
Fixed organizationByEmail endpoint
2 parents a49b1ff + 69d75d6 commit abe80fe

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

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

+15-3
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,23 @@ public Mono<PageResponseView<?>> getOrganizationByUser(@PathVariable String emai
6262
@RequestParam(required = false, defaultValue = "0") Integer pageSize) {
6363
Flux<OrgView> flux;
6464
if (commonConfig.getWorkspace().getMode() == WorkspaceMode.SAAS) {
65-
flux = userService.findByEmailDeep(email).flux().flatMap(user -> orgMemberService.getAllActiveOrgs(user.getId()))
65+
flux = userService.findByEmailDeep(email).flux()
66+
.flatMap(user -> orgMemberService.getAllActiveOrgs(user.getId()))
6667
.flatMap(orgMember -> organizationService.getById(orgMember.getOrgId()))
67-
.map(OrgView::new).cache();
68+
.map(OrgView::new)
69+
.cache();
6870
} else {
69-
flux = organizationService.getOrganizationInEnterpriseMode().flux().map(OrgView::new).cache();
71+
// Not SAAS: check if user exists and is a member of the org
72+
flux = userService.findByEmailDeep(email)
73+
.flatMapMany(user ->
74+
organizationService.getOrganizationInEnterpriseMode().flux()
75+
.flatMap(org ->
76+
orgMemberService.getOrgMember(org.getId(), user.getId())
77+
.filter(orgMember -> !orgMember.isInvalid())
78+
.map(__ -> new OrgView(org))
79+
)
80+
)
81+
.cache();
7082
}
7183
var newflux = flux.sort((OrgView o1, OrgView o2) -> {
7284
if (o1.getOrgName() == null || o2.getOrgName() == null) {

0 commit comments

Comments
 (0)