2020-01-14 18:57:45 +00:00
|
|
|
import axios from 'axios';
|
|
|
|
import url from '@/plugins/routes';
|
2020-01-14 17:20:05 +00:00
|
|
|
|
|
|
|
const state = {
|
2020-01-14 18:57:45 +00:00
|
|
|
users: [],
|
|
|
|
allUsers: []
|
2020-01-14 17:20:05 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const mutations = {
|
2020-01-14 18:57:45 +00:00
|
|
|
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
|
|
|
|
})
|
|
|
|
},
|
2020-01-14 17:20:05 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
const actions = {
|
|
|
|
// eslint-disable-next-line no-unused-vars
|
|
|
|
async getUsers({commit, rootState, dispatch}) {
|
2020-01-14 18:57:45 +00:00
|
|
|
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})
|
|
|
|
}
|
2020-01-14 17:20:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
const getters = {
|
2020-01-14 18:57:45 +00:00
|
|
|
users: (state) => { return state.users },
|
|
|
|
allUsers: (state) => { return state.allUsers }
|
2020-01-14 17:20:05 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export default {
|
|
|
|
namespaced: true,
|
|
|
|
state,
|
|
|
|
mutations,
|
|
|
|
actions,
|
|
|
|
getters
|
|
|
|
}
|