From 31c5e7bfdc621518879e451d5174e5bb5b59b188 Mon Sep 17 00:00:00 2001 From: Mihir Mehar <89701947+MihirMehar@users.noreply.github.com> Date: Fri, 17 Jan 2025 16:18:22 +0530 Subject: [PATCH 1/3] Update UserService.java --- .../main/java/com/lcwd/user/service/services/UserService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UserService/UserService/src/main/java/com/lcwd/user/service/services/UserService.java b/UserService/UserService/src/main/java/com/lcwd/user/service/services/UserService.java index 26f516a..f4d0f59 100644 --- a/UserService/UserService/src/main/java/com/lcwd/user/service/services/UserService.java +++ b/UserService/UserService/src/main/java/com/lcwd/user/service/services/UserService.java @@ -20,6 +20,7 @@ public interface UserService { //TODO: delete //TODO: update - + // this method help us to update user in server + User updateUser(String userId,User user) throws ResourceNotFoundException; } From 9df5c386ae4e960af073b4161e3768c2b29baf95 Mon Sep 17 00:00:00 2001 From: Mihir Mehar <89701947+MihirMehar@users.noreply.github.com> Date: Fri, 17 Jan 2025 16:21:47 +0530 Subject: [PATCH 2/3] Update UserServiceImpl.java Adding updating the user implementation --- .../services/impl/UserServiceImpl.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/UserService/UserService/src/main/java/com/lcwd/user/service/services/impl/UserServiceImpl.java b/UserService/UserService/src/main/java/com/lcwd/user/service/services/impl/UserServiceImpl.java index 4e52bae..b83ebda 100644 --- a/UserService/UserService/src/main/java/com/lcwd/user/service/services/impl/UserServiceImpl.java +++ b/UserService/UserService/src/main/java/com/lcwd/user/service/services/impl/UserServiceImpl.java @@ -75,4 +75,32 @@ public User getUser(String userId) { return user; } + + // update the user + // step we use optional to avoid null pointer exception + // first we need user present with given user id in server then we get user . + // then update the user + @Override + public User updateUser(String userId, User user) throws ResourceNotFoundException { + Optional optionalUser = userRepository.findById(userId); + if(optionalUser.isPresent()) { + User user1 = optionalUser.get(); + if (user.getName() != null) { + user1.setName(user.getName()); + } + if (user.getEmail() != null) { + user1.setEmail(user.getEmail()); + } + if (user.getAbout() != null) { + user1.setAbout(user.getAbout()); + } + + return userRepository.save(user); + } + else{ + throw new ResourceNotFoundException ("User not found with ID: " + userId); + } + } + + } From fa9574c3d651b789fa8a651dc287b789ae1764ab Mon Sep 17 00:00:00 2001 From: Mihir Mehar <89701947+MihirMehar@users.noreply.github.com> Date: Fri, 17 Jan 2025 16:22:50 +0530 Subject: [PATCH 3/3] Update UserController.java add the put mapping request in controller --- .../com/lcwd/user/service/controllers/UserController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UserService/UserService/src/main/java/com/lcwd/user/service/controllers/UserController.java b/UserService/UserService/src/main/java/com/lcwd/user/service/controllers/UserController.java index 2446e16..2aa2726 100644 --- a/UserService/UserService/src/main/java/com/lcwd/user/service/controllers/UserController.java +++ b/UserService/UserService/src/main/java/com/lcwd/user/service/controllers/UserController.java @@ -65,4 +65,12 @@ public ResponseEntity> getAllUser() { List allUser = userService.getAllUser(); return ResponseEntity.ok(allUser); } + + // update the user + @PutMapping("/{userId}") + public ResponseEntity updateUser(@PathVariable String userId, @RequestBody User user) throws ResourceNotFoundException { + User updatedUser = userService.updateUser(userId, user); + String message = "User with ID " + userId + " has been successfully updated."; + return ResponseEntity.ok(message); + } }