From fee5f4319dd0bec7d1e497651688703215cefe65 Mon Sep 17 00:00:00 2001 From: Timo Volkmann Date: Tue, 2 Apr 2019 23:28:27 +0200 Subject: [PATCH] Implemented: startCache Call and logout Call, some improvements in controller --- frontend/quasar.conf.js | 2 +- frontend/src/pages/Login.vue | 27 ++++++++++++++----- frontend/src/pages/Overview.vue | 17 ++++++++++-- .../bugageocaching/controller/Controller.java | 9 +++++-- 4 files changed, 44 insertions(+), 11 deletions(-) diff --git a/frontend/quasar.conf.js b/frontend/quasar.conf.js index 0528ca8..b65a837 100644 --- a/frontend/quasar.conf.js +++ b/frontend/quasar.conf.js @@ -103,7 +103,7 @@ module.exports = function (ctx) { devServer: { // https: true, port: 8081, - open: true // opens browser window automatically + open: false // opens browser window automatically }, // animations: 'all' --- includes all animations diff --git a/frontend/src/pages/Login.vue b/frontend/src/pages/Login.vue index 13c0770..0cc9f9b 100644 --- a/frontend/src/pages/Login.vue +++ b/frontend/src/pages/Login.vue @@ -100,7 +100,8 @@ .then((response) => { console.log("GET/POST http://localhost:8080/api/login/ - response: " + response.data); //this.user.token = response.data; - localStorage.setItem('userToken', JSON.stringify(response)); + localStorage.setItem('userToken', JSON.stringify(response.data)); + //localStorage.setItem('userToken', response.data); this.isAuthenticated(); }) .catch((error) => { @@ -110,7 +111,8 @@ }, isAuthenticated: function () { console.log("isAuthenticated()"); - console.log(localStorage.getItem('userToken')); + console.log("content of localstorage: "); + console.log(JSON.parse(localStorage.getItem('userToken'))); if (localStorage.getItem('userToken')) { // TODO hier muss Abfrage mit API, z.B. /api/user?token="ME" stattfinden. this.user.isAuthenticated = true; } else { @@ -119,10 +121,23 @@ }, logout: function () { console.log("logout()"); - console.log(localStorage.getItem('userToken')); - localStorage.removeItem('userToken'); - console.log(localStorage.getItem('userToken')); - this.isAuthenticated() + console.log(JSON.parse(localStorage.getItem('userToken'))); + this.$axios.get('http://localhost:8080/api/logout', { + params: { + token: JSON.parse(localStorage.getItem('userToken')) + } + }) + .then((response) => { + console.log("GET/POST http://localhost:8080/api/logout/ - response: " + response.data); + localStorage.removeItem('userToken'); + this.isAuthenticated(); + }) + .catch((error) => { + }); + // console.log(localStorage.getItem('userToken')); + // localStorage.removeItem('userToken'); + // console.log(localStorage.getItem('userToken')); + // this.isAuthenticated() }, }, }; diff --git a/frontend/src/pages/Overview.vue b/frontend/src/pages/Overview.vue index 5295f00..8efbcda 100644 --- a/frontend/src/pages/Overview.vue +++ b/frontend/src/pages/Overview.vue @@ -50,7 +50,7 @@ - + @@ -76,7 +76,7 @@ export default { data() { return { - tab: 'map', + tab: 'list', hheight: 71.0, fheight: 36.0, //37 //header: {h: '0px', w: 0} @@ -111,6 +111,19 @@ console.log("Caches: " + this.caches); this.caches = response.data; }) + }, + startCache(cacheID) { + const userToken = JSON.parse(localStorage.getItem('userToken')); + let params = { cacheID: cacheID }; + if (userToken != null) { + params.token = userToken; + } + console.log(params); + + this.$axios.get('http://localhost:8080/api/startCache', { params }) + .then((response) => { + console.log("Angefangen: " + response.data); + }) } } } diff --git a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java index a245f13..a79e8ed 100644 --- a/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java +++ b/src/main/java/hhn/labsw/bugageocaching/controller/Controller.java @@ -71,7 +71,8 @@ public class Controller { String hashedToken = BCrypt.hashpw(token, BCrypt.gensalt()); userRepository.findByUsername(user.getUsername()).setToken(hashedToken); userRepository.save(userRepository.findByUsername(user.getUsername())); - return ResponseEntity.ok(new Gson().toJson(token)); + //return ResponseEntity.ok(new Gson().toJson(token)); + return ResponseEntity.ok(token); } return ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(null); } @@ -128,8 +129,12 @@ public class Controller { @RequestMapping("/api/logout") @ResponseBody boolean logout(@RequestParam String token) { - +// System.out.println("logout"); User user = userRepository.findByUsername(token.substring(0, token.indexOf("$"))); +// System.out.println(token); +// System.out.println(user.getToken()); + if (user == null || user.getToken().isEmpty() ) + return false; user.setToken(null); userRepository.save(user); return true;