feat: update user editing functionality to include user ID in the request

This commit is contained in:
siujamo
2026-03-24 12:30:36 +08:00
parent 08c18fea90
commit 6f29904349
2 changed files with 11 additions and 7 deletions
@@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -82,13 +81,16 @@ public class UserController {
/**
* Edit a user.
*
* @param id user ID
* @param request user to be edited
* @return edited user
*/
@PutMapping
public ResponseEntity<Void> editUser(@Validated @RequestBody EditUserRequest request) {
userService.updateUser(request);
return ResponseEntity.ok(null);
@PutMapping("/{id:\\d+}")
public UserDetailResponse editUser(
@PathVariable Long id,
@Validated @RequestBody EditUserRequest request
) {
return userService.updateUser(id, request);
}
/**
@@ -143,9 +143,9 @@ public class UserService {
}
@Transactional(rollbackFor = Throwable.class)
public void updateUser(EditUserRequest request) {
public UserDetailResponse updateUser(Long id, EditUserRequest request) {
userManager.updateUser(User.builder()
.id(request.id())
.id(id)
.fullName(request.fullName())
.email(request.email())
.regionAbbreviation(request.regionAbbreviation())
@@ -155,6 +155,8 @@ public class UserService {
.departmentId(request.departmentId())
.positionId(request.positionId())
.build());
return getUserDetailByUserId(id);
}
public UserDetailResponse getUserDetailByUserId(Long userId) {