diff --git a/src/main/java/ch/progetto152/controller/UserController.java b/src/main/java/ch/progetto152/controller/UserController.java index a75c4e2..0049c77 100644 --- a/src/main/java/ch/progetto152/controller/UserController.java +++ b/src/main/java/ch/progetto152/controller/UserController.java @@ -38,6 +38,16 @@ public class UserController { } } + @GetMapping("/get/name/{name}") + public ResponseEntity getUserByName(@PathVariable("name") String name) { + User user = userService.getUserByNameService(name); + if (user != null) { + return new ResponseEntity<>(user, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + @PostMapping("/create/{id}") public ResponseEntity createUser(@RequestBody User user) { User createdUser = userService.createUser(user); diff --git a/src/main/java/ch/progetto152/repository/UserRepository.java b/src/main/java/ch/progetto152/repository/UserRepository.java index afcbd26..c478741 100644 --- a/src/main/java/ch/progetto152/repository/UserRepository.java +++ b/src/main/java/ch/progetto152/repository/UserRepository.java @@ -4,7 +4,11 @@ import ch.progetto152.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.Optional; + @Repository -public interface UserRepository extends JpaRepository { +public interface UserRepository extends JpaRepository { + + Optional findUserByName(String name); } diff --git a/src/main/java/ch/progetto152/services/UserService.java b/src/main/java/ch/progetto152/services/UserService.java index d4d6bdc..e3137c6 100644 --- a/src/main/java/ch/progetto152/services/UserService.java +++ b/src/main/java/ch/progetto152/services/UserService.java @@ -19,12 +19,15 @@ public class UserService { } public List getAllUsers() { - System.out.println(userRepository.findAll()); return userRepository.findAll(); } public User getUserByIdService(Long id) { - return null; + return userRepository.findById(id).orElse(null); + } + + public User getUserByNameService(String name){ + return userRepository.findUserByName(name).orElse(null); } public User createUser(User user) { @@ -32,10 +35,23 @@ public class UserService { } public User updateUser(Long id, User user) { - return null; + User user1 = getUserByIdService(id); + if (user1 != null) { + user1.setName(user.getName()); + user1.setUsername(user.getUsername()); + user1.setPassword(user.getPassword()); + return userRepository.save(user1); + } else { + return null; + } } public boolean deleteUser(Long id) { - return false; + boolean exists = userRepository.existsById(id); + if(!exists){ + return false; + } + userRepository.deleteById(id); + return true; } }