From a3f276fbdd19be885ccbbd4002618f52c72453fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=20Ku=CC=88ng?= Date: Thu, 27 Apr 2023 11:04:23 +0200 Subject: [PATCH 1/2] db username unique --- src/main/resources/mysql.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) ); From b91ff3c5b2f18aa1db093c1dae6b2f40f47d450d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=20Ku=CC=88ng?= Date: Thu, 27 Apr 2023 11:07:17 +0200 Subject: [PATCH 2/2] get user by username --- .../java/ch/progetto152/controller/UserController.java | 10 ++++++++++ .../java/ch/progetto152/repository/UserRepository.java | 2 ++ src/main/java/ch/progetto152/services/UserService.java | 4 ++++ 3 files changed, 16 insertions(+) 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); }