Mercurial > gemma
view client/src/stores/usermanagement.js @ 376:e42f42eb9353
refactor: Userdetails refactored to card model
Primitive user editing etd.
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Fri, 10 Aug 2018 13:15:32 +0200 |
parents | 7e7e978d1cac |
children | 0a9aaf21f69f |
line wrap: on
line source
import { HTTP } from "../lib/http"; const newUser = () => { return { user: "", email: "", country: null, role: null, isNew: true }; }; const UserManagement = { namespaced: true, state: { users: null, currentUser: null }, getters: { currentUser: state => { return state.currentUser; }, users: state => { return state.users; }, getUserByName: state => name => { return state.users.find(user => { return user.user === name; }); } }, mutations: { usersLoaded: (state, data) => { state.users = data.users; }, setCurrentUser: (state, data) => { state.currentUser = data; }, clearCurrentUser: state => { state.currentUser = newUser(); } }, actions: { saveCurrentUser({ commit }, data) { console.log(data); const { path, user } = data; return new Promise((resolve, reject) => { HTTP.put("/users/" + path, user, { headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) .then(response => { commit("usersLoaded", response.data); resolve(response); }) .catch(error => { reject(error); }); }); }, loadUsers({ commit }) { return new Promise((resolve, reject) => { HTTP.get("/users", { headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) .then(response => { commit("usersLoaded", response.data); resolve(response); }) .catch(error => { reject(error); }); }); } } }; export default UserManagement;