Mercurial > gemma
diff client/src/stores/user.js @ 13:88d0d60924cf
Move vuejs app into subdir `client`
Using a subdirectory for the web application keeps more structure
in the repo.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Wed, 20 Jun 2018 17:02:06 +0200 |
parents | src/stores/user.js@7c1bde663c8e |
children | 992e17912405 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/src/stores/user.js Wed Jun 20 17:02:06 2018 +0200 @@ -0,0 +1,41 @@ +import { HTTP } from "../lib/http"; + +const User = { + namespaced: true, + state: { + authenticated: false + }, + getters: { + authenticated: state => { + return state.authenticated; + } + }, + mutations: { + auth_success: (state, token) => { + state.authenticated = true; + sessionStorage.setItem("token", token); + }, + auth_failure: state => { + state.authenticated = false; + sessionStorage.removeItem("token"); + } + }, + actions: { + login({ commit }, user) { + return new Promise((resolve, reject) => { + HTTP.post("/token", user) + .then(response => { + let token = response.data; + commit("auth_success", token); + resolve(response); + }) + .catch(error => { + commit("auth_failure"); + reject(error); + }); + }); + } + } +}; + +export default User;