123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- /* eslint-disable no-restricted-syntax */
- /* eslint-disable guard-for-in */
- import axios from "axios";
-
- export default {
- namespaced: true,
- state: {
- items: [],
- weekCount: {}
- },
- mutations: {
- setItems(state, list) {
- state.items = list;
- },
- setItem(state, item) {
- state.week = item;
- },
- setWeekCount(state, item){
- state.weekCount = 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);
- },
- updatePublished(state, item) {
- state.items.find(week => week.id === item.id).publish = true;
- },
- updateUnpublished(state, item) {
- state.items.find(week => week.id === item.id).publish = false;
- },
- removeListing(state, id) {
- var index = state.items.findIndex((item) => item.id == id)
- state.items.splice(index, 1)
- },
- },
- getters: {
- getNeedsVerify(state) {
- return state.items;
- }
-
- },
- actions: {
- async getItems({ commit }, id) {
- await axios
- .get(`/api/timeshareweek/getMyWeek/${id}`)
- .then(r => commit("setItems", r.data))
- .catch(console.error);
- },
- async getAllItems({ commit }) {
- const response = await axios.get("api/timeshareweek/");
- if (response.status === 200) {
- commit("setItems");
- return Promise.resolve();
- } else {
- return Promise.reject();
- }
- },
- async getWeekCount({commit}, id){
- await axios.get("api/timeshareweek/indivWeekCount/"+ id)
- .then((res) => {
- commit("setWeekCount", res.data)
- return Promise.resolve()
- })
- .catch((ex) => {
- return Promise.reject(ex.response)
- })
- },
- verifyWeek({ commit }, id) {
- try {
- axios.post(`/api/timeshareweek/verifyweek/${id}`).catch(console.error);
- } catch (err) {
- console.log(err);
- }
- },
- publishWeek({ commit }, item) {
- axios
- .post(`/api/timeshareweek/publishweek/${item.id}`)
- .then(result => commit("updatePublished", item))
- .catch(console.error);
- },
- unpublishWeek({ commit }, item) {
- axios
- .post(`/api/timeshareweek/UnpublishWeek/${item.id}`)
- .then(result => commit("updateUnpublished", item))
- .catch(console.error);
- },
- deleteListing({ commit }, id) {
- axios
- .delete(`/api/timeshareWeek/${id}`)
- .then(result => commit('removeListing', id))
- .catch(console.error);
- },
- async getWeek({ commit }, id) {
- await axios
- .get(`/api/timeshareweek/${id}`)
- .then(r => {
- //console.log(JSON.stringify(r));
- commit("setItem", r.data);
- })
- .catch(console.error);
- },
- async publishOnly({ commit }, week) {
- await axios
- .put(`/api/timeshareweek/publishOnly`, week)
- .then(r => {
- commit("setItem", week);
- })
- .catch(console.error);
- },
- async editSave({ commit }, week) {
- await axios
- .put(`/api/timeshareweek`, week)
- .then(r => {
- week.owner = week.owner.name;
- if(week.agent !== undefined){
- week.agent = week.agent.name;
- }
- commit("setItem", week);
- return Promise.resolve()
- })
- .catch((ex) => {
- return Promise.reject(ex.response)
- });
- }
- }
- };
|