Implemented: startCache Call and logout Call, some improvements in controller

This commit is contained in:
Timo Volkmann 2019-04-02 23:28:27 +02:00
parent 61330b3f0b
commit fee5f4319d
4 changed files with 44 additions and 11 deletions

View File

@ -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

View File

@ -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()
},
},
};

View File

@ -50,7 +50,7 @@
</q-item-section>
<q-item-section side top class="self-center" >
<q-btn flat unelevated stack color="positive" icon="arrow_forward" label="Starten" size="sm" style="height: 4.5rem"/>
<q-btn @click="startCache(cache.id)" flat unelevated stack color="positive" icon="arrow_forward" label="Starten" size="sm" style="height: 4.5rem"/>
</q-item-section>
</q-item>
</q-card>
@ -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);
})
}
}
}

View File

@ -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;