/* eslint-disable no-restricted-syntax */ /* eslint-disable guard-for-in */ import axios from 'axios'; export default { namespaced: true, state: { items: [], }, mutations: { setItems(state, list) { state.items = list; }, setItem(state, item) { state.week = item; }, updateItem(state, item) { var index var count = 0 state.items.forEach((el) => { if (el.id === item.id) { index = count } count++ }) Object.assign(state.items[index], item) }, }, getters: { getNeedsVerify(state) { return _.filter(state.items, x => x.status && x.status.code === 'A1'); }, // removeListing(state, id) { // state.myWeeks.pop(state.myWeeks.find(w => w.id === id)); // }, }, actions: { getItems({ commit, }, id) { axios.get(`/api/timeshareweek/getMyWeek/${id}`).then(r => commit('setItems', r.data)).catch( console .error, ); }, verifyWeek({ commit, }, id) { try { axios.post(`/api/timeshareweek/verifyweek/${id}`).catch(console.error); } catch (err) { console.log(err); } }, publishWeek(id) { axios.post(`/api/timeshareweek/publishweek/${id}`).catch(console.error); }, // deleteListing({ commit }, id) { // axios // .delete(`/api/myweeks/${id}`) // .then(result => commit('removeListing', id)) // .catch(console.error); // } getWeek({ commit }, id) { axios .get(`/api/timeshareweek/${id}`) .then(r => { console.log(JSON.stringify(r)); commit('setItem', r.data); }) .catch(console.error); }, editSave({ commit }, week) { axios .put(`/api/timeshareweek`, week) .then(r => { commit('updateItem', r.data); }) .catch(console.error); } }, };