File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/CommWidget/store/email/actions.js
import {
EMAIL_ACTION_SEND_EMAIL,
EMAIL_ACTION_RESET_STATE,
EMAIL_MUTATION_RESET,
EMAIL_MUTATION_SET_SEND_EMAIL_API_LOADING_STATUS,
EMAIL_MUTATION_SET_SEND_EMAIL_API_ERROR_EMAIL,
EMAIL_SUCCESSFULLY_SEND,
ROOT_ACTION_RESET_STATE,
} from '../../constants';
import ExternalWidgetService from '../../../../service/externalWidgetService';
import _ from 'lodash';
export default {
[EMAIL_ACTION_RESET_STATE]({ commit, dispatch }) {
commit(EMAIL_MUTATION_RESET);
},
async [EMAIL_ACTION_SEND_EMAIL]({ commit, dispatch }, payload) {
commit(EMAIL_MUTATION_SET_SEND_EMAIL_API_LOADING_STATUS, true);
const {
data: { success, message },
} = await ExternalWidgetService.sendEmail(
{ ..._.omit(payload, 'widgetId') },
payload.widgetId,
);
if (success) {
commit(EMAIL_SUCCESSFULLY_SEND);
setTimeout(() => {
dispatch(`root/${ROOT_ACTION_RESET_STATE}`, null, {
root: true,
});
}, 3000);
} else {
commit(EMAIL_MUTATION_SET_SEND_EMAIL_API_ERROR_EMAIL, message);
}
commit(EMAIL_MUTATION_SET_SEND_EMAIL_API_LOADING_STATUS, false);
},
};