diff --git a/client/src/api.js b/client/src/api.js new file mode 100644 index 0000000..583b783 --- /dev/null +++ b/client/src/api.js @@ -0,0 +1,51 @@ +import axios from 'axios' +import { Toast } from 'quasar' +import router from './router' + +const API_URL = 'http://localhost:8081' + +export default { + user: { + authed: false + }, + + login (context, user, pass, redirect) { + axios.post(API_URL + '/login', + { + user: user, + pass: pass + } + ) + .then(response => { + localStorage.setItem('token', response.data) + + this.user.authed = true + + if (redirect) { + router.push(redirect) + } + else { + router.push('/lists') + } + }) + .catch(e => { + var msg + + if (e.response.data) { + msg = 'Login failed:' + e.response.data + } + else { + msg = 'network error' + } + + Toast.create.negative(msg) + }) + }, + + logout () { + localStorage.removeItem('token') + this.user.authed = false + + router.push('/') + } +} diff --git a/client/src/components/List-overview.vue b/client/src/components/List-overview.vue index 4af3db2..ebe07b7 100644 --- a/client/src/components/List-overview.vue +++ b/client/src/components/List-overview.vue @@ -23,9 +23,11 @@