diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 6aaae4c1de94f931b8740a410c429aa2d03f6ba3..017fd2613faaf59ca93e64d7d65bcd6b1749553d 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -23,9 +23,4 @@ export default { text-align: center; margin-top: 60px; } - -#appBody { - margin-left: 35px; - margin-right: 35px; -} </style> diff --git a/frontend/src/components/LoginPage.vue b/frontend/src/components/LoginPage.vue index b2932eb7a506feddc6941456b9eeb01cb921a211..81128ed9d77f569cd220fdfbd901d04c079f84a3 100644 --- a/frontend/src/components/LoginPage.vue +++ b/frontend/src/components/LoginPage.vue @@ -1,19 +1,42 @@ <script> + export default { name: "LoginPage", data(){ return { user: { userId: '', - username: '', + userName: '', password: '' - } + }, + repeatedPassword: '', + testname: '' + } + }, + computed: { + checkEmptyFields(){ + console.log("here: " + this.user.userName) + return this.user.userName === '' || this.user.password === '' || this.repeatedPassword === '' || this.user.password !== this.repeatedPassword; } }, methods: { - singUp: { + 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) + }); + + console.log(response) + }, } } </script> @@ -33,10 +56,10 @@ export default { </b-row> <!-- sign-up modal --> - <b-modal hide-header id="signup-modal"> - <b-input class="mb-4 mt-4" id="signup-username" type="text" placeholder="enter username"></b-input> - <b-input class="mb-4" id="signup-password" type="password" placeholder="enter password"></b-input> - <b-input class="mb-4" id="signup-repeat-password" type="password" placeholder="repeat password"></b-input> + <b-modal :ok-disabled="checkEmptyFields" @ok="signUp" hide-header id="signup-modal"> + <b-input v-model="user.userName" class="mb-4 mt-4" id="signup-username" type="text" placeholder="enter username"></b-input> + <b-input v-model="user.password" class="mb-4" id="signup-password" type="password" placeholder="enter password"></b-input> + <b-input v-model="repeatedPassword" class="mb-4" id="signup-repeat-password" type="password" placeholder="repeat password"></b-input> </b-modal> <!-- sign-in modal --> @@ -45,12 +68,10 @@ export default { <b-input class="mb-4" id="password" type="password" placeholder="enter password"></b-input> </b-modal> </b-card-body> - <b-card-footer> © Jan Schnaidt & Abdullah Kiran, 2024 </b-card-footer> </b-card> - </b-col> <b-col></b-col> </b-row> diff --git a/src/main/java/com/cloudcomputing/todo/controller/UserController.java b/src/main/java/com/cloudcomputing/todo/controller/UserController.java index e460cf58013c2fdc52c42c9c25a033e606ee1849..80ffb2fcc7bf9525ed988dab1b59b7a76e1b30b1 100644 --- a/src/main/java/com/cloudcomputing/todo/controller/UserController.java +++ b/src/main/java/com/cloudcomputing/todo/controller/UserController.java @@ -2,7 +2,6 @@ package com.cloudcomputing.todo.controller; import com.cloudcomputing.todo.dto.UserDTO; import com.cloudcomputing.todo.service.UserService; -import com.cloudcomputing.todo.util.CustomAuthenticator; import jakarta.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -11,13 +10,11 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/user") +@CrossOrigin(origins = "*") public class UserController { @Autowired private UserService userService; - @Autowired - private CustomAuthenticator customAuthenticator; - @PostMapping("/signup") public ResponseEntity<UserDTO> singUp(@RequestBody UserDTO userDTO) { UserDTO newUser = userService.createUser(userDTO);