File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/Channels/store/root/actions.js
import _ from 'lodash';
import moment from 'moment';
import {
ROOT_ACTION_GET_AGENTS,
ROOT_ACTION_ADD_NEW_SOURCE,
ROOT_ACTION_GET_SOURCES,
ROOT_ACTION_SELECT_SOURCE,
ROOT_ACTION_SET_WINDOW_WIDTH,
ROOT_ACTION_RESET_SUCCESS_AND_ERROR_MESSAGE,
ROOT_MUTATION_SET_AGENTS,
ROOT_MUTATION_SET_AGENTS_LOADING,
ROOT_MUTATION_SET_SOURCES_LOADING,
ROOT_MUTATION_SET_ERROR_MESSAGE,
ROOT_MUTATION_SET_SUCCESS_MESSAGE,
ROOT_MUTATION_SET_SOURCES,
ROOT_MUTATION_ADD_NEW_SOURCE,
ROOT_MUTATION_SELECT_SOURCE,
ROOT_MUTATION_SET_WINDOW_WIDTH,
ROOT_ACTION_SET_SUCCESS_MESSAGE,
ROOT_ACTION_SET_ERROR_MESSAGE,
ROOT_ACTION_SET_BREADCRUMB,
ROOT_MUTATION_SET_BREADCRUMB,
SOURCE_MUTATION_RESET_SELECTED_CHANNEL,
PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET,
SOURCE_MUTATION_RESET,
} from '../../constants';
import SourceService from '../../../../service/source';
export default {
async [ROOT_ACTION_GET_SOURCES]({ commit }) {
commit(ROOT_MUTATION_SET_SOURCES_LOADING, true);
const {
data: { data, message, success },
} = await SourceService.getSources();
if (!success) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
} else {
commit(
ROOT_MUTATION_SET_SOURCES,
_.map(data, d => ({
...d,
createdOn: moment(d.created_at).format('MMM Do'),
updatedOn: moment(d.updated_at).format('MMM Do'),
})),
);
}
commit(ROOT_MUTATION_SET_SOURCES_LOADING, false);
},
async [ROOT_ACTION_GET_AGENTS]({ commit }) {
commit(ROOT_MUTATION_SET_AGENTS_LOADING, true);
const {
data: { data, message, success },
} = await SourceService.getAgents();
if (!success) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
} else {
commit(ROOT_MUTATION_SET_AGENTS, data);
}
commit(ROOT_MUTATION_SET_AGENTS_LOADING, false);
},
[ROOT_ACTION_ADD_NEW_SOURCE]({ commit }) {
commit(ROOT_MUTATION_ADD_NEW_SOURCE, true);
},
[ROOT_ACTION_SELECT_SOURCE]({ commit }, payload) {
commit(ROOT_MUTATION_SELECT_SOURCE, payload);
},
[ROOT_ACTION_SET_WINDOW_WIDTH]({ commit }, payload) {
commit(ROOT_MUTATION_SET_WINDOW_WIDTH, payload);
},
[ROOT_ACTION_SET_BREADCRUMB]({ commit }, payload) {
switch (payload) {
case 'source-list':
//reset source
commit(`source/${SOURCE_MUTATION_RESET}`, false, {
root: true,
});
commit(ROOT_MUTATION_SELECT_SOURCE, null);
// reset phone widget
commit(
`phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
false,
{
root: true,
},
);
break;
case 'source-add':
//reset source
commit(`source/${SOURCE_MUTATION_RESET}`, false, {
root: true,
});
// reset phone widget
commit(
`phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
false,
{
root: true,
},
);
commit(ROOT_MUTATION_SELECT_SOURCE, null);
break;
case 'source-edit':
// reset phone widget
commit(
`phonewidget/${PHONEWIDGET_MUTATION_RESET_PHONE_WIDGET}`,
false,
{
root: true,
},
);
break;
}
commit(ROOT_MUTATION_SET_BREADCRUMB, payload);
},
[ROOT_ACTION_RESET_SUCCESS_AND_ERROR_MESSAGE]({ commit }) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, null);
commit(ROOT_MUTATION_SET_SUCCESS_MESSAGE, null);
},
[ROOT_ACTION_SET_SUCCESS_MESSAGE]({ commit }, payload) {
commit(ROOT_MUTATION_SET_SUCCESS_MESSAGE, payload);
},
[ROOT_ACTION_SET_ERROR_MESSAGE]({ commit }, payload) {
commit(ROOT_MUTATION_SET_ERROR_MESSAGE, payload);
},
};