import type { HttpDefine } from '@/http/type' import { oapiClient } from './oapi-client' export type DataWrapped = { data: T } async function dataInterceptor(promise: Promise): Promise> { const result = await promise return { data: result } } export const oapiDataClient = { request(config: HttpDefine): Promise> { return dataInterceptor(oapiClient.request(config)) }, get( url: string, query?: Record, config?: HttpDefine, ): Promise> { return dataInterceptor(oapiClient.get(url, query, config)) }, post( url: string, body?: Record | FormData, config?: HttpDefine, ): Promise> { return dataInterceptor(oapiClient.post(url, body, config)) }, put( url: string, body?: Record | FormData, config?: HttpDefine, ): Promise> { return dataInterceptor(oapiClient.put(url, body, config)) }, patch( url: string, body?: Record | FormData, config?: HttpDefine, ): Promise> { return dataInterceptor(oapiClient.patch(url, body, config)) }, delete( url: string, query?: Record, config?: HttpDefine, ): Promise> { return dataInterceptor(oapiClient.delete(url, query, config)) }, }