diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 017fd2613faaf59ca93e64d7d65bcd6b1749553d..48b8b3b70161183c27a08bcf2f5ec93aff0008ed 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -23,4 +23,8 @@ export default { text-align: center; margin-top: 60px; } + +.toast:not(.show) { + display: block !important; +} </style> diff --git a/frontend/src/components/LoginPage.vue b/frontend/src/components/LoginPage.vue index 81128ed9d77f569cd220fdfbd901d04c079f84a3..def7118c03cbdd4d96eabcd68155e55956a0e523 100644 --- a/frontend/src/components/LoginPage.vue +++ b/frontend/src/components/LoginPage.vue @@ -9,8 +9,7 @@ export default { userName: '', password: '' }, - repeatedPassword: '', - testname: '' + repeatedPassword: '' } }, computed: { @@ -23,20 +22,27 @@ export default { async signUp() { let url = "http://localhost:9876/user/signup" - this.$bvModal.hide('signup-modal'); - - console.log(this.user) - const response = await fetch(url, { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify(this.user) + body: JSON.stringify({ + "userName": this.user.userName, + "password": this.user.password + }) }); - console.log(response) + if(response.status === 201){ + this.$bvToast.show('account-created-toast') + } else if(response.status === 409){ + this.$bvToast.show('account-not-created-toast') + } }, + + async signIn(){ + + } } } </script> @@ -63,9 +69,9 @@ export default { </b-modal> <!-- sign-in modal --> - <b-modal hide-header id="signin-modal"> - <b-input class="mb-4 mt-4" id="username" type="text" placeholder="enter username"></b-input> - <b-input class="mb-4" id="password" type="password" placeholder="enter password"></b-input> + <b-modal :ok-disabled="checkEmptyFields" @ok="signIn" hide-header id="signin-modal"> + <b-input v-model="user.userName" class="mb-4 mt-4" id="username" type="text" placeholder="enter username"></b-input> + <b-input v-model="user.password" class="mb-4" id="password" type="password" placeholder="enter password"></b-input> </b-modal> </b-card-body> <b-card-footer> @@ -76,8 +82,14 @@ export default { <b-col></b-col> </b-row> <!-- - + ----- toasts & alerts ----- --> + <b-toast no-close-button auto-hide-delay="5000" variant="success" id="account-created-toast" title="success"> + account for {{ this.user.userName }} has been created + </b-toast> + <b-toast no-close-button auto-hide-delay="5000" variant="danger" id="account-not-created-toast" title="error"> + user {{ this.user.userName }} already exists + </b-toast> </b-container> </template> diff --git a/src/main/java/com/cloudcomputing/todo/controller/UserController.java b/src/main/java/com/cloudcomputing/todo/controller/UserController.java index 80ffb2fcc7bf9525ed988dab1b59b7a76e1b30b1..55ba28b26421e1ff6cc026703e8d121b9f88a23f 100644 --- a/src/main/java/com/cloudcomputing/todo/controller/UserController.java +++ b/src/main/java/com/cloudcomputing/todo/controller/UserController.java @@ -18,11 +18,12 @@ public class UserController { @PostMapping("/signup") public ResponseEntity<UserDTO> singUp(@RequestBody UserDTO userDTO) { UserDTO newUser = userService.createUser(userDTO); + if(newUser != null) { return new ResponseEntity<>(newUser, HttpStatus.CREATED); } - return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + return new ResponseEntity<>(HttpStatus.CONFLICT); } @PostMapping("/login") diff --git a/src/main/java/com/cloudcomputing/todo/service/UserService.java b/src/main/java/com/cloudcomputing/todo/service/UserService.java index 0b1ec31ba08d26b5297686f81c40d7f79fa22d00..c816186d026ee3c6d2fff6ce5b351c4e2d8d5ec3 100644 --- a/src/main/java/com/cloudcomputing/todo/service/UserService.java +++ b/src/main/java/com/cloudcomputing/todo/service/UserService.java @@ -24,14 +24,12 @@ public class UserService { public UserDTO createUser(UserDTO userDTO) { User newUser; - if(userRepository.existsByUserId(userDTO.getUserId()) || userRepository.existsByUserName(userDTO.getUserName())){ - newUser = userRepository.findByUserName(userDTO.getUserName()); - } else { + if(!(userRepository.existsByUserId(userDTO.getUserId()) || userRepository.existsByUserName(userDTO.getUserName()))){ newUser = userMapper.dtoToEntity(userDTO); + return userMapper.entityToDto(userRepository.save(newUser)); } - User createdUser = userRepository.save(newUser); - return userMapper.entityToDto(createdUser); + return null; } public boolean login(HttpSession session, UserDTO userDTO) {