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

Commit1006e08

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
add endpoint "user/myorg"
1 parentc3454f3 commit1006e08

File tree

3 files changed

+50
-22
lines changed

3 files changed

+50
-22
lines changed

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -165,28 +165,7 @@ public Mono<UserHomepageView> getUserHomePageView(ApplicationType applicationTyp
165165
.zipWith(folderApiService.getElements(null,applicationType,null,null).collectList())
166166
.map(tuple2 -> {
167167
Organizationorganization =tuple2.getT1();
168-
List<?>list =tuple2.getT2();
169-
List<ApplicationInfoView>applicationInfoViews =list.stream()
170-
.map(o -> {
171-
if (oinstanceofApplicationInfoViewapplicationInfoView) {
172-
returnapplicationInfoView;
173-
}
174-
returnnull;
175-
})
176-
.filter(Objects::nonNull)
177-
.toList();
178-
List<FolderInfoView>folderInfoViews =list.stream()
179-
.map(o -> {
180-
if (oinstanceofFolderInfoViewfolderInfoView) {
181-
returnfolderInfoView;
182-
}
183-
returnnull;
184-
})
185-
.filter(Objects::nonNull)
186-
.toList();
187168
userHomepageVO.setOrganization(organization);
188-
userHomepageVO.setHomeApplicationViews(applicationInfoViews);
189-
userHomepageVO.setFolderInfoViews(folderInfoViews);
190169
returnuserHomepageVO;
191170
});
192171
});

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@
44
importorg.apache.commons.lang3.StringUtils;
55
importorg.lowcoder.api.authentication.dto.OrganizationDomainCheckResult;
66
importorg.lowcoder.api.authentication.service.AuthenticationApiService;
7+
importorg.lowcoder.api.framework.view.PageResponseView;
78
importorg.lowcoder.api.framework.view.ResponseView;
89
importorg.lowcoder.api.home.SessionUserService;
910
importorg.lowcoder.api.home.UserHomeApiService;
11+
importorg.lowcoder.api.usermanagement.view.OrgView;
1012
importorg.lowcoder.api.usermanagement.view.UpdateUserRequest;
1113
importorg.lowcoder.api.usermanagement.view.UserProfileView;
1214
importorg.lowcoder.domain.organization.model.MemberRole;
15+
importorg.lowcoder.domain.organization.model.OrgMember;
1316
importorg.lowcoder.domain.organization.service.OrgMemberService;
17+
importorg.lowcoder.domain.organization.service.OrganizationService;
1418
importorg.lowcoder.domain.user.constant.UserStatusType;
1519
importorg.lowcoder.domain.user.model.User;
1620
importorg.lowcoder.domain.user.model.UserDetail;
@@ -23,6 +27,7 @@
2327
importorg.springframework.http.codec.multipart.Part;
2428
importorg.springframework.web.bind.annotation.*;
2529
importorg.springframework.web.server.ServerWebExchange;
30+
importreactor.core.publisher.Flux;
2631
importreactor.core.publisher.Mono;
2732

2833
importstaticorg.lowcoder.sdk.exception.BizError.INVALID_USER_STATUS;
@@ -41,6 +46,7 @@ public class UserController implements UserEndpoints
4146
privatefinalCommonConfigcommonConfig;
4247
privatefinalAuthenticationApiServiceauthenticationApiService;
4348
privatefinalOrgMemberServiceorgMemberService;
49+
privatefinalOrganizationServiceorganizationService;
4450

4551
@Override
4652
publicMono<ResponseView<?>>createUserAndAddToOrg(@PathVariableStringorgId,CreateUserRequestrequest) {
@@ -62,6 +68,36 @@ public Mono<ResponseView<?>> getUserProfile(ServerWebExchange exchange) {
6268
.switchIfEmpty(Mono.just(ResponseView.success(view))));
6369
}
6470

71+
@Override
72+
publicMono<ResponseView<?>>getUserOrgs(ServerWebExchangeexchange,
73+
@RequestParam(required =false)StringorgName,
74+
@RequestParam(required =false,defaultValue ="1")IntegerpageNum,
75+
@RequestParam(required =false,defaultValue ="10")IntegerpageSize) {
76+
returnsessionUserService.getVisitor()
77+
.flatMap(user -> {
78+
// Get all active organizations for the user
79+
Flux<OrgMember>orgMemberFlux =orgMemberService.getAllActiveOrgs(user.getId());
80+
81+
// If orgName filter is provided, filter organizations by name
82+
if (StringUtils.isNotBlank(orgName)) {
83+
returnorgMemberFlux
84+
.flatMap(orgMember ->organizationService.getById(orgMember.getOrgId()))
85+
.filter(org ->StringUtils.containsIgnoreCase(org.getName(),orgName))
86+
.map(OrgView::new)
87+
.collectList()
88+
.map(orgs ->PageResponseView.success(orgs,pageNum,pageSize,orgs.size()));
89+
}
90+
91+
// If no filter, return all organizations
92+
returnorgMemberFlux
93+
.flatMap(orgMember ->organizationService.getById(orgMember.getOrgId()))
94+
.map(OrgView::new)
95+
.collectList()
96+
.map(orgs ->PageResponseView.success(orgs,pageNum,pageSize,orgs.size()));
97+
})
98+
.map(ResponseView::success);
99+
}
100+
65101
@Override
66102
publicMono<ResponseView<Boolean>>newUserGuidanceShown() {
67103
returnsessionUserService.getVisitorId()

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,20 @@ public interface UserEndpoints
4848
@GetMapping("/me")
4949
publicMono<ResponseView<?>>getUserProfile(ServerWebExchangeexchange);
5050

51+
@Operation(
52+
tags = {TAG_USER_MANAGEMENT},
53+
operationId ="getUserOrgs",
54+
summary ="Get User Organizations",
55+
description ="Retrieve a paginated list of organizations for the current user, filtered by organization name if provided."
56+
)
57+
@GetMapping("/myorg")
58+
publicMono<ResponseView<?>>getUserOrgs(
59+
ServerWebExchangeexchange,
60+
@RequestParam(required =false)StringorgName,
61+
@RequestParam(required =false,defaultValue ="1")IntegerpageNum,
62+
@RequestParam(required =false,defaultValue ="10")IntegerpageSize
63+
);
64+
5165
@Operation(
5266
tags =TAG_USER_MANAGEMENT,
5367
operationId ="newUserGuidanceShown",
@@ -218,5 +232,4 @@ public record MarkUserStatusRequest(String type, Object value) {
218232

219233
publicrecordCreateUserRequest(Stringemail,Stringpassword) {
220234
}
221-
222235
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp