import { AUTH_API_NAME, DEFAULT_API_NAME } from '@/constants/app.constant' import type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios' import authApiService from './authApi.service' import platformApiService from './platformApi.service' export interface Config { apiName: string } export default { fetchData>( param: AxiosRequestConfig, config?: Config, ) { return new Promise>((resolve, reject) => { if (!config || config?.apiName === DEFAULT_API_NAME) { platformApiService(param) .then((response: AxiosResponse) => { resolve(response) }) .catch((errors: AxiosError) => { // console.error(errors) reject(errors) }) } else if (config?.apiName === AUTH_API_NAME) { authApiService(param) .then((response: AxiosResponse) => { resolve(response) }) .catch((errors: AxiosError) => { console.error(errors) reject(errors) }) } else { reject(new Error('NO API DEFINED')) } }) }, }