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: //proc/thread-self/root/home/arjun/projects/buyercall/buyercall/assets/vue/gateway/mockGateway.js
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
import _ from 'lodash';

import { GET, DELETE, POST, PUT } from '../constants';
import ParnershipTableMockAPIs from '../mock/parnershipTableMockAPIs';
import MainMockAPIs from '../mock/mainMockAPIs';
import ProfileMockAPIs from '../mock/profileMockAPIs';
import PartnershipSettingsAPIs from '../mock/partnershipSettings';
import NotificationMockAPIs from '../mock/notificationMockAPIs';
import PartnershipAccountsMockAPIs from '../mock/partnershipAccounts';
import ExternalWidgetMockAPI from '../mock/externalWidgetMockAPI';
import WorklistMockAPI from '../mock/worklistMockAPI';
import sourceMockAPI from '../mock/sourceMockAPI';
import InboxMockAPI from '../mock/inboxMockAPI';
import EmailTemplateAPI from '../mock/emailTemplatesMockAPI';
import ChannelsAPI from '../mock/channelsMockAPI';
import OmniChannelAPI from '../mock/omniMockAPI';
import WorkflowAPIs from '../mock/workflowMockAPI';

const backendURL = 'https://testbuyercall.spericorn.com';

const BuyerGateway = axios.create({
  baseURL: `${backendURL}`,
  timeout: 20000,
});

// Add a response interceptor
BuyerGateway.interceptors.response.use(
  response => response,
  error => {
    console.log('Gateway error :>> ', error);
    return {
      statusCode: 301,
      success: false,
      message: 'Something went wrong',
      data: null,
    };
  },
);

let mock = new MockAdapter(BuyerGateway, {
  //   onNoMatch: 'passthrough',
  onNoMatch: 'throwException',
  delayResponse: 1000,
});

const mockAPis = _.concat(
  ...ParnershipTableMockAPIs,
  ...MainMockAPIs,
  ...ProfileMockAPIs,
  ...PartnershipSettingsAPIs,
  ...NotificationMockAPIs,
  ...PartnershipAccountsMockAPIs,
  ...ExternalWidgetMockAPI,
  ...WorklistMockAPI,
  ...sourceMockAPI,
  ...InboxMockAPI,
  ...EmailTemplateAPI,
  ...ChannelsAPI,
  ...OmniChannelAPI,
  ...WorkflowAPIs,
);
_.forEach(mockAPis, ({ type, endpoint, status, response }) => {
  switch (type) {
    case GET:
      mock.onGet(endpoint).reply(status, response);
      break;
    case DELETE:
      mock.onDelete(endpoint).reply(status, response);
      break;
    case POST:
      mock.onPost(endpoint).reply(status, response);
      break;
    case PUT:
      mock.onPut(endpoint).reply(status, response);
      break;
  }
});

export default BuyerGateway;