diff --git a/src/main/java/ch/progetto152/controller/UserController.java b/src/main/java/ch/progetto152/controller/UserController.java index 0049c77..30b2255 100644 --- a/src/main/java/ch/progetto152/controller/UserController.java +++ b/src/main/java/ch/progetto152/controller/UserController.java @@ -48,6 +48,16 @@ public class UserController { } } + @GetMapping("/get/username/{username}") + public ResponseEntity getUserByUsername(@PathVariable("username") String username) { + User user = userService.getUserByUsernameService(username); + 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 c478741..3b04a12 100644 --- a/src/main/java/ch/progetto152/repository/UserRepository.java +++ b/src/main/java/ch/progetto152/repository/UserRepository.java @@ -11,4 +11,6 @@ public interface UserRepository extends JpaRepository { Optional findUserByName(String name); + Optional findUserByUsername(String username); + } diff --git a/src/main/java/ch/progetto152/services/UserService.java b/src/main/java/ch/progetto152/services/UserService.java index e3137c6..d765510 100644 --- a/src/main/java/ch/progetto152/services/UserService.java +++ b/src/main/java/ch/progetto152/services/UserService.java @@ -30,6 +30,10 @@ public class UserService { return userRepository.findUserByName(name).orElse(null); } + public User getUserByUsernameService(String username){ + return userRepository.findUserByUsername(username).orElse(null); + } + public User createUser(User user) { return userRepository.save(user); } diff --git a/src/main/resources/mysql.sql b/src/main/resources/mysql.sql index 130328d..0bfef7e 100644 --- a/src/main/resources/mysql.sql +++ b/src/main/resources/mysql.sql @@ -30,7 +30,7 @@ create table if not exists User ( id int not null auto_increment, name varchar(45) not null, - username varchar(100) not null, + username varchar(100) not null unique, password varchar(100) not null, primary key (id) );