HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/ChannelsNew/store/root/actions.js
import {
  ROOT_ACTION_GET_AGENTS,
  ROOT_ACTION_GET_CHANNEL_META,
  ROOT_ACTION_GET_SOURCES,
  ROOT_ACTION_RESET_SUCCESS_AND_ERROR_MESSAGE,
  ROOT_ACTION_SET_BREADCRUMB,
  ROOT_ACTION_SET_ERROR_MESSAGE,
  ROOT_ACTION_SET_SUCCESS_MESSAGE,
  ROOT_ACTION_SET_WINDOW_WIDTH,
  ROOT_MUTATION_GET_CHANNEL_META_LOADING,
  ROOT_MUTATION_SET_AGENTS,
  ROOT_MUTATION_SET_AGENTS_LOADING,
  ROOT_MUTATION_SET_BREADCRUMB,
  ROOT_MUTATION_SET_CHANNEL_META,
  ROOT_MUTATION_SET_ERROR_MESSAGE,
  ROOT_MUTATION_SET_SOURCES,
  ROOT_MUTATION_SET_SOURCES_LOADING,
  ROOT_MUTATION_SET_SUCCESS_MESSAGE,
  ROOT_MUTATION_SET_WINDOW_WIDTH,
  ROOT_GETTER,
  ROOT_MUTATION_SET_PAGE_VIEW_MODE,
} from '../../constants';
import SourceService from '../../../../service/source';
import ChannelService from '../../../../service/channelService';
import _ from 'lodash';
export default {
  [ROOT_ACTION_SET_BREADCRUMB]({ commit, getters }, payload) {
    commit(ROOT_MUTATION_SET_PAGE_VIEW_MODE, payload);
    let visibleBreadcrumbs = ['home'];
    const newBreadCrumb = getters[ROOT_GETTER].breadCrumbs;
    switch (payload) {
      case 'channel-meta':
        visibleBreadcrumbs = [...visibleBreadcrumbs, 'channel-meta'];
        break;
      case 'phone-channel-list':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'phone-channel-list',
        ];
        break;
      case 'chat-channel-list':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'chat-channel-list',
        ];
        break;
      case 'email-channel-list':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'email-channel-list',
        ];
        break;
      case 'phone-channel-edit':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'phone-channel-list',
          'phone-channel-edit',
        ];
        break;
      case 'chat-channel-edit':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'chat-channel-list',
          'chat-channel-edit',
        ];
        break;
      case 'email-channel-edit':
        visibleBreadcrumbs = [
          ...visibleBreadcrumbs,
          'channel-meta',
          'email-channel-list',
          'email-channel-edit',
        ];
        break;
      //   //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;
    }
    _.forEach(_.keys(newBreadCrumb), k => {
      if (_.includes(visibleBreadcrumbs, k)) {
        newBreadCrumb[k].isVisible = true;
      } else {
        newBreadCrumb[k].isVisible = false;
      }
    });

    commit(ROOT_MUTATION_SET_BREADCRUMB, newBreadCrumb);
  },
  async [ROOT_ACTION_GET_CHANNEL_META]({ commit, getters }) {
    commit(ROOT_MUTATION_GET_CHANNEL_META_LOADING, true);
    const {
      data: { data, message, success },
    } = await ChannelService.getChannelsMeta();
    if (!success) {
      commit(ROOT_MUTATION_SET_ERROR_MESSAGE, message);
    } else {
      commit(
        ROOT_MUTATION_SET_CHANNEL_META,
        _.map(getters[ROOT_GETTER].availableBCSourceChannels, r => ({
          ...r,
          count: data[r.name] ? data[r.name] : 0,
        })),
      );
    }
    commit(ROOT_MUTATION_GET_CHANNEL_META_LOADING, false);
  },
  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_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);
  },
  [ROOT_ACTION_SET_WINDOW_WIDTH]({ commit }, payload) {
    commit(ROOT_MUTATION_SET_WINDOW_WIDTH, payload);
  },
};