From 883825e3a00965731a5eac9c3a8d9a4b02f29ee9 Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Fri, 21 Jul 2017 17:07:29 +0200 Subject: [PATCH] add api wrapper --- client/src/api.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 client/src/api.js 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('/') + } +}