2026-02-24 20:44:16 +00:00
|
|
|
import { AUTH_API_NAME, DEFAULT_API_NAME } from '@/constants/app.constant'
|
2026-07-10 09:22:54 +00:00
|
|
|
import type { AxiosRequestConfig, AxiosResponse } from 'axios'
|
2026-02-24 20:44:16 +00:00
|
|
|
import authApiService from './authApi.service'
|
|
|
|
|
import platformApiService from './platformApi.service'
|
|
|
|
|
|
|
|
|
|
export interface Config {
|
|
|
|
|
apiName: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
fetchData<Response = unknown, Request = Record<string, unknown>>(
|
|
|
|
|
param: AxiosRequestConfig<Request>,
|
|
|
|
|
config?: Config,
|
2026-07-10 09:22:54 +00:00
|
|
|
): Promise<AxiosResponse<Response>> {
|
|
|
|
|
if (!config || config?.apiName === DEFAULT_API_NAME) {
|
|
|
|
|
return platformApiService(param) as Promise<AxiosResponse<Response>>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (config?.apiName === AUTH_API_NAME) {
|
|
|
|
|
return authApiService(param).catch((errors) => {
|
|
|
|
|
console.error(errors)
|
|
|
|
|
throw errors
|
|
|
|
|
}) as Promise<AxiosResponse<Response>>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Promise.reject(new Error('NO API DEFINED'))
|
2026-02-24 20:44:16 +00:00
|
|
|
},
|
|
|
|
|
}
|