Skip to content

Commit 3543827

Browse files
committed
#1445: API: Update user profile info
1 parent cdb1ee1 commit 3543827

File tree

2 files changed

+30
-13
lines changed

2 files changed

+30
-13
lines changed

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

+21-13
Original file line numberDiff line numberDiff line change
@@ -84,19 +84,27 @@ public Mono<ResponseView<Boolean>> markStatus(@RequestBody MarkUserStatusRequest
8484
@Override
8585
public Mono<ResponseView<UserProfileView>> update(@RequestBody UpdateUserRequest updateUserRequest, ServerWebExchange exchange) {
8686
return sessionUserService.getVisitorId()
87-
.flatMap(uid -> {
88-
User updateUser = new User();
89-
if (StringUtils.isNotBlank(updateUserRequest.getName())) {
90-
updateUser.setName(updateUserRequest.getName());
91-
updateUser.setHasSetNickname(true);
92-
}
93-
if (StringUtils.isNotBlank(updateUserRequest.getUiLanguage())) {
94-
updateUser.setUiLanguage(updateUserRequest.getUiLanguage());
95-
}
96-
return userService.update(uid, updateUser);
97-
})
98-
.flatMap(user -> userHomeApiService.buildUserProfileView(user, exchange))
99-
.map(ResponseView::success);
87+
.flatMap(uid -> updateUser(uid, updateUserRequest, exchange));
88+
}
89+
90+
@Override
91+
public Mono<ResponseView<UserProfileView>> update(@PathVariable String orgId, @PathVariable String userId, @RequestBody UpdateUserRequest updateUserRequest, ServerWebExchange exchange) {
92+
return orgApiService.checkVisitorAdminRole(orgId)
93+
.flatMap(__ -> updateUser(userId, updateUserRequest, exchange));
94+
}
95+
96+
public Mono<ResponseView<UserProfileView>> updateUser(String userId, @RequestBody UpdateUserRequest updateUserRequest, ServerWebExchange exchange) {
97+
User updateUser = new User();
98+
if (StringUtils.isNotBlank(updateUserRequest.getName())) {
99+
updateUser.setName(updateUserRequest.getName());
100+
updateUser.setHasSetNickname(true);
101+
}
102+
if (StringUtils.isNotBlank(updateUserRequest.getUiLanguage())) {
103+
updateUser.setUiLanguage(updateUserRequest.getUiLanguage());
104+
}
105+
return userService.update(userId, updateUser)
106+
.flatMap(user -> userHomeApiService.buildUserProfileView(user, exchange))
107+
.map(ResponseView::success);
100108
}
101109

102110
@Override

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

+9
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,15 @@ public interface UserEndpoints
7575
@PutMapping
7676
public Mono<ResponseView<UserProfileView>> update(@RequestBody UpdateUserRequest updateUserRequest, ServerWebExchange exchange);
7777

78+
@Operation(
79+
tags = TAG_USER_MANAGEMENT,
80+
operationId = "updateUser",
81+
summary = "Update selected User",
82+
description = "Update specified user profile information within Lowcoder, ensuring accuracy and relevance."
83+
)
84+
@PutMapping("/{orgId}/{userId}")
85+
public Mono<ResponseView<UserProfileView>> update(@PathVariable String orgId, @PathVariable String userId, @RequestBody UpdateUserRequest updateUserRequest, ServerWebExchange exchange);
86+
7887
@Operation(
7988
tags = TAG_USER_PROFILE_PHOTO_MANAGEMENT,
8089
operationId = "uploadUserProfilePhoto",

0 commit comments

Comments
 (0)