diff --git a/src/main/java/com/onixbyte/helix/controller/UserController.java b/src/main/java/com/onixbyte/helix/controller/UserController.java index 9a2dc1f..c0d43e9 100644 --- a/src/main/java/com/onixbyte/helix/controller/UserController.java +++ b/src/main/java/com/onixbyte/helix/controller/UserController.java @@ -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 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); } /** diff --git a/src/main/java/com/onixbyte/helix/service/UserService.java b/src/main/java/com/onixbyte/helix/service/UserService.java index adda0b7..88af91c 100644 --- a/src/main/java/com/onixbyte/helix/service/UserService.java +++ b/src/main/java/com/onixbyte/helix/service/UserService.java @@ -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) {