import { AUTH_API_NAME, DEFAULT_API_NAME } from '@/constants/app.constant' import type { 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, ): Promise> { if (!config || config?.apiName === DEFAULT_API_NAME) { return platformApiService(param) as Promise> } if (config?.apiName === AUTH_API_NAME) { return authApiService(param).catch((errors) => { console.error(errors) throw errors }) as Promise> } return Promise.reject(new Error('NO API DEFINED')) }, }