From b94b0132e80cc453b5d7c8fd9e5c56d412221360 Mon Sep 17 00:00:00 2001 From: Max Handke Date: Mon, 8 Jan 2024 16:51:18 +0100 Subject: [PATCH] refactored UserController and UserService for Adminpanel --- .../com/example/kickevent/controller/UserController.java | 3 ++- .../java/com/example/kickevent/services/UserService.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/kickevent/controller/UserController.java b/src/main/java/com/example/kickevent/controller/UserController.java index 790b55b..4bbfb1c 100644 --- a/src/main/java/com/example/kickevent/controller/UserController.java +++ b/src/main/java/com/example/kickevent/controller/UserController.java @@ -55,7 +55,8 @@ User updateUser(@RequestBody User newUser, @PathVariable Long id) { return userService.findById(id).map(User -> { User.setUserName(newUser.getUserName()); User.setRoles(newUser.getRoles()); - return userService.save(User); + return userService.update(User); + }).orElseGet(() -> { newUser.setId(id); return userService.save(newUser); diff --git a/src/main/java/com/example/kickevent/services/UserService.java b/src/main/java/com/example/kickevent/services/UserService.java index 0ad0c38..4ffeee5 100644 --- a/src/main/java/com/example/kickevent/services/UserService.java +++ b/src/main/java/com/example/kickevent/services/UserService.java @@ -61,6 +61,11 @@ public User save(User user) { } + public User update(User user){ + if (userRepository.findByUserName(user.getUserName()).isPresent() && !Objects.equals(userRepository.findByUserName(user.getUserName()).get().getId(), user.getId())) throw new UsernameAlreadyTakenException(user.getUserName()); + return userRepository.save(user); + } + @Transactional public User delete(User user) { user.setRoles(null);