import axios from 'axios'; import url from '@/plugins/routes'; const state = { users: [], allUsers: [] }; const mutations = { setAllUsers: (state, users) => { state.allUsers = [] state.allUsers = users for (let i = 0; i < state.allUsers.length; i++) { state.allUsers[i].fullName = state.allUsers[i].firstname + " " + state.allUsers[i].lastname } }, setUsers: (state, users) => { // eslint-disable-next-line no-console console.log(users) for (let user in users) { // eslint-disable-next-line no-console console.log(user) let existuser = state.users.find(a => {return user === a.username}) if (existuser) { existuser.sername = users[user].username existuser.firstname = users[user].firstname existuser.lastname = users[user].lastname existuser.locked = users[user].locked existuser.amount = users[user].amount existuser.type = users[user].type } else { state.users.push({ username: users[user].username, firstname: users[user].firstname, lastname: users[user].lastname, locked: users[user].locked, amount: users[user].amount, type: users[user].type }) } } // eslint-disable-next-line no-console console.log(state.users) mutations.sortUsers(state) }, sortUsers: (state) => { state.users = state.users.sort((a,b) => { if (a.lastname > b.lastname) return 1 if (a.lastname < b.lastname) return -1 if (a.firstname > b.firstname) return 1 if (a.firstname < b.firstname) return -1 return 0 }) }, }; const actions = { // eslint-disable-next-line no-unused-vars async getUsers({commit, rootState, dispatch}) { try { const response = await axios.get(url.bar, {headers: {Token: rootState.login.user.accessToken}}) // eslint-disable-next-line no-console console.log(response.data) commit('setUsers', response.data) } catch (e) { if (e.response) if (e.response.status === 401) dispatch('logout', null, {root: true}) } }, async addAmount({commit, rootState, dispatch}, data) { try { const response = await axios.post(url.barAddAmount, {userId: data.username, amount: data.amount}, {headers: {Token: rootState.login.user.accessToken}}) commit('setUsers', {[response.data.username]: response.data}) } catch (e) { if (e.response) if (e.response.status === 401) dispatch('logout', null, {root: true}) } }, async addCreditList({commit, rootState, dispatch}, data) { try { const response = await axios.post(url.barGetUser, {userId: data.username}, {headers: {Token: rootState.login.user.accessToken}}) commit('setUsers', {[response.data.username]: response.data}) } catch (e) { if (e.response) if (e.response.status === 401) dispatch('logout', null, {root: true}) } }, async getAllUsers({commit, rootState, dispatch}) { // eslint-disable-next-line no-console console.log('hier bin ich') try { const response = await axios.post(url.searchUser, {searchString: ""}, {headers: {Token: rootState.login.user.accessToken}}) // eslint-disable-next-line no-console console.log(response) commit('setAllUsers', response.data) } catch (e) { // eslint-disable-next-line no-console console.log(e) if (e.response) if (e.response.data === 401) dispatch('logout', null, {root: true}) } } }; const getters = { users: (state) => { return state.users }, allUsers: (state) => { return state.allUsers } }; export default { namespaced: true, state, mutations, actions, getters }