File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/CommWidget/store/chat/actions.js
import {
CHAT_ACTION_START_CHAT,
CHAT_ACTION_RESET_STATE,
CHAT_MUTATION_RESET,
CHAT_MUTATION_SET_START_CHAT_API_LOADING_STATUS,
CHAT_MUTATION_SET_START_CHAT_API_ERROR,
CHAT_ACTION_SET_SESSIONID,
ROOT_ACTION_RESET_STATE,
CHAT_SET_LEADID,
CHAT_ACTION_SET_LEAD_ID,
CHAT_SET_SESSIONID,
CHAT_MUTATION_SET_MESSAGES,
CHAT_MUTATION_ADD_NEW_MESSAGE,
CHAT_ACTION_SET_MESSAGES,
CHAT_ACTION_ADD_NEW_MESSAGE,
} from '../../constants';
import ExternalWidgetService from '../../../../service/externalWidgetService';
import _ from 'lodash';
export default {
[CHAT_ACTION_SET_MESSAGES]({ commit }, payload) {
commit(CHAT_MUTATION_SET_MESSAGES, payload);
},
[CHAT_ACTION_ADD_NEW_MESSAGE]({ commit }, payload) {
commit(CHAT_MUTATION_ADD_NEW_MESSAGE, payload);
},
[CHAT_ACTION_SET_LEAD_ID]({ commit }, payload) {
commit(CHAT_SET_LEADID, payload);
},
[CHAT_ACTION_RESET_STATE]({ commit }) {
commit(CHAT_MUTATION_RESET);
},
[CHAT_ACTION_SET_SESSIONID]({ commit }, payload) {
commit(CHAT_SET_SESSIONID, payload);
},
async [CHAT_ACTION_START_CHAT]({ commit, dispatch }, payload) {
commit(CHAT_MUTATION_SET_START_CHAT_API_LOADING_STATUS, true);
const {
data: { success, message, data },
} = await ExternalWidgetService.startChat(
{ ..._.omit(payload, 'widgetId') },
payload.widgetId,
);
if (success) {
commit(CHAT_SET_LEADID, data);
} else {
commit(CHAT_MUTATION_SET_START_CHAT_API_ERROR, message);
}
commit(CHAT_MUTATION_SET_START_CHAT_API_LOADING_STATUS, false);
},
};