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;