happy/frontend/src/store.js

48 lines
1.0 KiB
JavaScript
Raw Normal View History

import Vue from 'vue';
import Vuex from "vuex";
import api from './api.js'
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
err: null,
userInfo: null,
moods: [],
},
actions: {
getMoods({commit, state}) {
return api.getMoods(state.userInfo)
.then(resp => {
commit('setMoods', resp.data)
})
},
getNewUser({commit}) {
return api.getNewUser()
.then(resp => {
commit('setUser', resp.data);
})
},
setMood({state}, mood) {
return api.setMood(state.userInfo, mood)
},
},
mutations: {
setUser(state, userInfo) {
state.userInfo = userInfo;
},
setMoods(state, moods) {
state.moods = moods;
},
clearError(state) {
state.err = null
},
setError(state, err) {
state.err = err
}
}
});
export default store