File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/Channels/store/channels/actions.js
import {
SOURCE_ACTION_GET_SOURCE_DETAILS,
SOURCE_ACTION_SAVE_SOURCE_META_DETAILS,
SOURCE_ACTION_SAVE_SOURCE_RULES,
SOURCE_ACTION_ADD_CHANNEL,
SOURCE_ACTION_GET_SELECTED_CHANNEL,
SOURCE_MUTATION_SAVE_SOURCE_META_DETAILS_LOADING,
SOURCE_MUTATION_SAVE_SOURCE_RULES_LOADING,
SOURCE_MUTATION_ADD_CHANNEL_LOADING,
SOURCE_MUTATION_SET_SOURCE_DETAILS,
SOURCE_MUTATION_SET_SELECTED_CHANNEL_DETAILS,
SOURCE_MUTATION_SET_SOURCE_DETAILS_LOADING,
ROOT_MUTATION_SET_ERROR_MESSAGE,
ROOT_MUTATION_SET_SUCCESS_MESSAGE,
ROOT_MUTATION_SET_SELECTED_SOURCE_ID,
ROOT_MUTATION_ADD_NEW_SOURCE,
SOURCE_GETTER,
SOURCE_ACTION_SET_SELECTED_CHANNEL,
SOURCE_ACTION_RESET_SELECTED_CHANNEL,
SOURCE_MUTATION_SET_SELECTED_CHANNEL,
SOURCE_MUTATION_RESET_SELECTED_CHANNEL,
PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET,
} from '../../constants';
import SourceService from '../../../../service/source';
export default {
[SOURCE_ACTION_SET_SELECTED_CHANNEL]({ commit }, payload) {
commit(SOURCE_MUTATION_SET_SELECTED_CHANNEL, payload);
},
[SOURCE_ACTION_RESET_SELECTED_CHANNEL]({ commit }) {
commit(SOURCE_MUTATION_RESET_SELECTED_CHANNEL);
commit(`phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`, null, {
root: true,
});
},
async [SOURCE_ACTION_GET_SOURCE_DETAILS]({ commit }, id) {
// commit(`root/${ROOT_MUTATION_ADD_NEW_SOURCE}`, false, {
// root: true,
// });
commit(SOURCE_MUTATION_SET_SOURCE_DETAILS_LOADING, true);
const {
data: { data = null, message, success },
} = await SourceService.getSourceDetails(id);
if (!success) {
commit(`root/${ROOT_MUTATION_SET_ERROR_MESSAGE}`, message, {
root: true,
});
} else {
commit(SOURCE_MUTATION_SET_SOURCE_DETAILS, data);
commit(`root/${ROOT_MUTATION_SET_SELECTED_SOURCE_ID}`, id, {
root: true,
});
}
commit(SOURCE_MUTATION_SET_SOURCE_DETAILS_LOADING, false);
},
async [SOURCE_ACTION_SAVE_SOURCE_META_DETAILS](
{ commit, dispatch, getters },
payload,
) {
commit(SOURCE_MUTATION_SAVE_SOURCE_META_DETAILS_LOADING, true);
if (getters[SOURCE_GETTER].sourceDetails) {
const {
data: { message, success, data },
} = await SourceService.updateSource(
getters[SOURCE_GETTER].sourceDetails.id,
payload,
);
if (success) {
commit(`root/${ROOT_MUTATION_SET_SUCCESS_MESSAGE}`, message, {
root: true,
});
console.log('data.id', data.id);
dispatch(SOURCE_ACTION_GET_SOURCE_DETAILS, data.id);
} else {
commit(`root/${ROOT_MUTATION_SET_ERROR_MESSAGE}`, message, {
root: true,
});
}
} else {
const {
data: { data, message, success },
} = await SourceService.createSource(payload);
if (success) {
commit(`root/${ROOT_MUTATION_SET_SUCCESS_MESSAGE}`, message, {
root: true,
});
commit(`root/${ROOT_MUTATION_SET_SELECTED_SOURCE_ID}`, data.id, {
root: true,
});
dispatch(SOURCE_ACTION_GET_SOURCE_DETAILS, data.id);
} else {
commit(`root/${ROOT_MUTATION_SET_ERROR_MESSAGE}`, message, {
root: true,
});
}
}
commit(SOURCE_MUTATION_SAVE_SOURCE_META_DETAILS_LOADING, false);
},
};